Commit Graph

169 Commits

Author SHA1 Message Date
Jonah Williams
555721de24
[flutter_tools] remove mock process manager from gradle tests (#76252) 2021-02-17 17:00:12 -08:00
Jonah Williams
93e7d34dc4
[flutter_tools] Remove globals/mocks from GradleUtils (#76020) 2021-02-17 14:26:57 -08:00
Jonah Williams
dce8f71228
[flutter_tools] do not use context logger in gradle (#75940) 2021-02-12 17:38:52 -08:00
Hidenori Matsubayashi
4cc0ab2d19
[flutter_tools] Add ARM64 Linux host and cross-building option support (#61221) 2021-02-12 14:25:30 -08:00
Jonah Williams
97a9f2ae93
[flutter_tools] move gradle helper methods into AndroidBuilder class body, split unit tests (#75931) 2021-02-12 14:24:13 -08:00
Jonah Williams
021311ed8a
Revert "[flutter_tools] move process manager into tool (#75350)" (#75639)
This reverts commit 8b6baae44c.
2021-02-08 09:21:46 -08:00
Jonah Williams
8b6baae44c
[flutter_tools] move process manager into tool (#75350)
Our current top crasher is an unclear error when ProcessManager fails to resolve an executable path. To fix this, we'd like to being adjusting the process resolution logic and adding more instrumentation to track failures. In order to begin the process, the ProcessManager has been folded back into the flutter tool
2021-02-04 13:19:11 -08:00
Jonah Williams
74bd7b6f6d
[flutter_tools] opt all flutter tool libraries and tests out of null safety. (#74832)
* opt out the flutter tool

* oops EOF

* fix import

* Update tool_backend.dart

* Update daemon_client.dart

* fix more
2021-01-27 15:17:53 -08:00
Jenn Magder
912c3ab171
Revert "Revert "[flutter_tools] Serve DevTools at app start (#73366)" (#73896)" (#73903)
This reverts commit 388dcd2478.
2021-01-13 15:36:43 -08:00
Jenn Magder
388dcd2478
Revert "[flutter_tools] Serve DevTools at app start (#73366)" (#73896)
This reverts commit 1cb0a24a46.
2021-01-13 13:57:09 -08:00
Kenzie Schmoll
1cb0a24a46
[flutter_tools] Serve DevTools at app start (#73366)
* [flutter_tools] Serve DevTools at app start
2021-01-12 21:39:27 -08:00
Jonah Williams
7c618758bb
[flutter_tools] delegate first run message re-display to new class, only if changed (#73353) 2021-01-05 18:44:04 -08:00
Jenn Magder
1c18cf3da8
Move macOS Podfile logic into the tool (#72020) 2020-12-17 11:48:16 -08:00
Kenzie Schmoll
cd452286ab
Launch DevTools from pub instead of devtools_server (#71737)
* Launch DevTools from pub instead of devtools_server
2020-12-14 10:12:42 -08:00
Jenn Magder
37f4f1f281
Detect ARM ffi CocoaPods error, suggest gem install (#70801) 2020-11-19 13:17:57 -08:00
Jenn Magder
e26c7f98ff
Force regeneration of old Podfile (#70735) 2020-11-18 13:33:04 -08:00
Jonah Williams
9618788e28
[flutter_tools] remove globals from features (#70515) 2020-11-16 15:00:37 -08:00
Jonah Williams
8436c6ab7e
remove testUsingContext (#70482) 2020-11-13 13:23:03 -08:00
Jonah Williams
0b88269807
[flutter_tools] remove branch migration and standardize constructor style for version interface (#70058) 2020-11-12 15:29:03 -08:00
Jonah Williams
dbcd7868a4
[flutter_tools] remove most globals from asset system and remove Cache manipulation in unit tests (#70011) 2020-11-09 18:01:04 -08:00
Jonah Williams
52d49fb358
[flutter_tools] remove material design schema, use dart code (#69987)
Instead of loading the use-material-design asset data from a yaml file in the repo, leave it in dart code and simplify. Remove some of the globals, but not enough to update to testWithoutContext
2020-11-06 19:55:55 -08:00
Jonah Williams
2fb53d83f2
[flutter_tools] remove all globals from cache and cache_test (#69505) 2020-11-06 15:26:45 -08:00
Jonah Williams
e18533e7ab
[flutter_tools] remove globals from android_workflow (#69548) 2020-11-06 10:55:52 -08:00
Jonah Williams
e0ec9a06dc
[flutter_tools] Make ApplicationPackageFactory inject dependencies for Android Builds (#67827)
* [flutter_tools] simplication of application store logic

* maybe return null

* fix install tests

* Clean up imports

* revert windows test

* remove unused import
2020-10-26 16:51:32 -07:00
Jonah Williams
cb67513f29
[flutter_tools] Reland: simplify pub cache logic (#67589)
There have been some more additional reports of a missing 'package:characters' import after upgrading flutter. This has me concerned that our pub caching logic is incorrect. Instead of the tool attempting to guess when pub should be run, always delegate to pub.

Also takes an opportunity to fix the kernel snapshot depending on the .packages or package_config. Due to the generated: date field this causes extra rebuilds. Instead when pub get is run, write out an additional file with just the package contents and version.

Fixes #66777
Fixes #65723
2020-10-23 10:00:56 -07:00
Jonah Williams
9e70180f63
[flutter_tools] do not measure progress timeout (#67959)
Remove "This is taking a long time" progress timeout and TimeoutConfiguration.
2020-10-13 13:05:47 -07:00
Jonah Williams
18bb4d7254
Revert "[flutter_tools] reland: fold process resolution logic into the flutter tool (#67957)" (#67968)
This reverts commit bd8138797e.
2020-10-12 15:53:16 -07:00
Jonah Williams
bd8138797e
[flutter_tools] reland: fold process resolution logic into the flutter tool (#67957)
Reland of #67669

The flutter tool has a number of crashes on stable where an ArgumentError is thrown due to the process manager not being able to resolve an executable.

So that we can adjust/modify this logic, fold it into flutter and add some additional logging.
caches the resolved executable per target directory, to avoid repeated look ups.
Instead of throwing an argument error, attempts to run the executable as given if an exact path can't be found
Accept files or symlinks for the executable path.
user where/which to resolve path instead of package:process logic.
2020-10-12 15:37:02 -07:00
Jonah Williams
354e2a57b1
Revert "[flutter_tools] fold executable resolution into flutter (#67669)" (#67954)
This reverts commit 10c78c264a.
2020-10-12 13:15:39 -07:00
Jonah Williams
10c78c264a
[flutter_tools] fold executable resolution into flutter (#67669)
The flutter tool has a number of crashes on stable where an ArgumentError is thrown due to the process manager not being able to resolve an executable. Fold the resolution logic into the tool and use where/which instead of the package:process specific logic.
2020-10-12 12:51:37 -07:00
Jonah Williams
30c0fc1bce
[flutter_tools] remove globals from compile and devices (#67485)
Remove global variables from compile.dart and devices.dart (except for dds which needs more changes).

#47161
2020-10-08 12:28:58 -07:00
Jonah Williams
a4e0e2a8ee
Revert "[flutter_tools] remove all pub caching logic (#66776)" (#67572)
This reverts commit 76cbc462d2.
2020-10-07 15:30:46 -07:00
Jonah Williams
76cbc462d2
[flutter_tools] remove all pub caching logic (#66776)
There have been some more additional reports of a missing 'package:characters' import after upgrading flutter, as well as problems with detecting the correct language version. This has me concerned that our pub caching logic is incorrect. Instead of the tool attempting to guess when pub should be run, always delegate to pub.
2020-10-07 13:11:07 -07:00
Jonah Williams
7f2ca5e532
[flutter_tools] refactor engine locator to its own class (#67274)
Make the logic for locating a local engine path part of its own class, add documentation, and update tests to cover engine source path locating too.

#47161
2020-10-05 16:25:47 -07:00
Jonah Williams
6180a4c179
[flutter_tools] fix documentation, globals, and todos in the android codebase (#66980)
Cleans up some undocumented classes and re-organizes the AndroidDevices class to avoid the need for the static testing only member. Adds a script for tracking globals.
2020-10-05 15:47:57 -07:00
Jonah Williams
ddb8177018
[flutter_tools] remove globals from desktop configuration (#67146)
Refactors the desktop devices and workflow to remove unnecessary usage of global variables. This should make it easier to test and continue enhancing the desktop functionality of the tooling

#47161
2020-10-02 21:52:53 -07:00
Jonah Williams
51ededb92f
[flutter_tools] reland: map file URIs to a multiroot scheme (#66405)
If a file scheme and one or more roots is provided, fall back to this mapping before the direct file path if the file path cannot be turned into a package URI.

Use URI representation so that the transformation is resilient to the org-dartlang-app scheme used by the web builds.

Fixes #66095
Fixes #66404
2020-09-23 07:03:59 -07:00
Jenn Magder
78e54dd46b
Revert "[flutter_tools] map file Uri to multi-root scheme if provided (#66151)" (#66403)
This reverts commit af6ba86728.
2020-09-22 17:50:27 -07:00
Jonah Williams
af6ba86728
[flutter_tools] map file Uri to multi-root scheme if provided (#66151)
If a file scheme and one or more roots is provided, fall back to this mapping before the direct file path if the file path cannot be turned into a package URI.

Fixes #66095
2020-09-22 16:51:18 -07:00
Jonah Williams
3e838da96a
[flutter_tools] use flutter tool handler for dwds resources and precache tool pub dependencies (#65814)
If the tool is downloaded from a precompiled snapshot, or if the backing source files in the pub cache are deleted, the dwds debugging functionality will break as the client.js file cannot be located. Instead use the PackageConfig to verify that package location, downloading if it is missing.

Override the dwds middleware to avoid Isolate.resolvePackageUri

Fixes #53644
Fixes #65475
2020-09-17 15:22:06 -07:00
Jonah Williams
bd3eee75f3
[flutter_tools] rethrow process exceptions as tool exit from gradle build (#64745)
The flutter tool is currently unable to detect missing permissions in gradle/gradle.bat that would cause a gradle build to fail via process exception. Rather than crashing and exiting, we can display the exception as an error message and tool exit.

While linux/macOS are able to add the +x bit, this is not possible on windows with our current file system/OS API. These crashes represent a substantial amount of crash reporting, but are otherwise not actionable on our end.
2020-09-03 11:55:55 -07:00
Jonah Williams
9f040865c9
[flutter_tools] macOS cleanups, attach to log reader in release mode (#61913) 2020-07-22 18:23:20 -07:00
Jenn Magder
c4bfa4c7ab
Inject iproxy into context (#61762) 2020-07-20 07:46:05 -07:00
Jonah Williams
859fce9010
[flutter_tools] add feature for iOS, android, and fuchsia (#61481)
Add feature flags for android, ios, and fuchsia (on by default). After updating the g3 rollers, the fuchsia feature will be turned off by default. Creates a simpler base type of feature flags for g3 to extend.

Updates android, ios, fuchsia workflows to use feature flags check.
Removes concept of stable artifacts and checks on flutter version.

Fixes #58999
#52859
#12768
2020-07-16 09:51:59 -07:00
Jonah Williams
d8b6fa153a
[flutter_tools] generate a synthetic flutter_gen package on pub get (#61261)
Allow configuring the flutter_manifest to support a synthetic package, this is done through flutter: generate: true.

When running pub get, insert a flutter_gen entry into the packages if it does not already exist. This points to .dart_tool/flutter_gen, which can be updated to contain the generated intl sources (But doesn't currently)

Adds an integration test that verifies this code can be run and imported when enabled.

Part of #60914
2020-07-15 10:12:52 -07:00
Jonah Williams
1c1ef133ee
[flutter_tools] remove globals from device manager, flutter tester (#61139)
Remove global variables from device manager, flutter tester devices and update tests
2020-07-10 11:52:09 -07:00
Jonah Williams
741608a261
[flutter_tools] fix recursive asset variant issue (#61129)
Fixes #45075
Fixes #57210

If an asset was included directly from the project root directory, then the same asset when copied to various output or ephemeral directories would also be picked up as an asset variant. This could cause assets to be recursively copied into asset/build/ephemeral directories, as each time it would run it would pick up all of the previous "variants".

The solution is to include project ephemeral directories, in addition to the build directory.
2020-07-08 18:07:27 -07:00
Jonah Williams
447e3d3f38
[flutter_tools] remove globals from compilers (#59184)
Refactors KernelCompiler and ResidentCompiler to no longer use globals (except as a fallback for g3 migration). Improves the compilation error when running flutter test on a package without a flutter_test dependency.

Updates machine mode to output trace text to stderr
2020-06-18 10:33:17 -07:00
Jonah Williams
f640ad6914
[flutter_tools] ensure emulator command does not crash with missing avdmanager (#57703) 2020-05-27 10:10:30 -07:00
Zachary Anderson
533cd7a6d1
[flutter_tools] Delete system temp entries on fatal signals (#55513) 2020-05-14 14:27:02 -07:00