Commit Graph

652 Commits

Author SHA1 Message Date
Jonah Williams
980880e2b6
[flutter_tools] remove package HTTP and add pub.dev head check tests (#75871) 2021-02-12 10:44:19 -08:00
Jenn Magder
9236eefdff
MockPub -> FakePub (#75759) 2021-02-10 17:01:20 -08:00
Jonah Williams
8df58eb650
[flutter_tools] use a single fake implementation of HttpClient (#75471) 2021-02-09 15:32:03 -08:00
Jenn Magder
faa1a251f8
Move FakeBotDetector to fakes (#75543) 2021-02-09 12:43:53 -08:00
Jenn Magder
152d88a3df
Add exception to FakeCommand (#75545) 2021-02-09 10:07:46 -08:00
Sam Rawlins
e8d52be500
Remove "unnecessary" imports in flutter_tools tests (#75012) 2021-02-09 09:46:07 -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
Jenn Magder
86c21c5d8f
Replace MockPlistParser with FakePlistParser (#75276) 2021-02-04 10:39:58 -08:00
Jenn Magder
73506f36f7
Replace MockConfig with TestConfig (#75044) 2021-02-01 18:16:05 -08:00
Jenn Magder
43d604e131
Replace context FakeUsage with TestUsage (#75170) 2021-02-01 15:02:25 -08:00
Jonah Williams
18b1e23e89
[flutter_tools] move some fakes out of mocks.dart (#74992) 2021-01-29 14:28:18 -08:00
Jonah Williams
e53c48968f
[flutter_tools] remove mock SystemClock (#74994) 2021-01-29 14:28:08 -08:00
Jenn Magder
dbb1958c5e
Add canRun override to FakeProcessManager (#74865) 2021-01-28 19:06:56 -08:00
Jenn Magder
ff87150ba9
Revert "Swap MockStdio to FakeStdio in tests (#74838)" (#74867)
This reverts commit 547ed88ab3.
2021-01-27 19:35:16 -08:00
Jenn Magder
547ed88ab3
Swap MockStdio to FakeStdio in tests (#74838) 2021-01-27 17:33:47 -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
Alexandre Ardhuin
d546e1d311
fix for upcoming lint use_named_constants (#74788) 2021-01-27 20:20:44 +01:00
Jenn Magder
1ad6edb8d5
Remove MockProcessManager from channel_test and other tests (#74780) 2021-01-27 11:17:29 -08:00
Dan Field
d1538320d2
Roll packages to null safe (vm_service, test, etc.) (#74671) 2021-01-26 09:15:54 -08:00
Jenn Magder
35000147e6
Re-add tool test general per-test timeout (#74531) 2021-01-25 12:47:01 -08:00
Jonas Finnemann Jensen
bf89943d94
Fix pub upgrade to work with new arguments (#74060) 2021-01-15 17:39:56 -08:00
Jenn Magder
062022b950
Move ios_content_validation_test to pre-submit tools test (#73577) 2021-01-11 10:29:06 -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
cdacae89e1
Revert "Launch named iOS simulators (#72323)" (#72447)
This reverts commit 84a7a611b0.
2020-12-16 11:52:59 -08:00
Jenn Magder
84a7a611b0
Launch named iOS simulators (#72323) 2020-12-15 15:06:47 -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
Jonah Williams
e8b87f7cd2
[flutter_tools] enable CK restart tests (#71598) 2020-12-02 13:10:54 -08:00
Jonah Williams
1816778529
[flutter_tools] wire up alternative invalidation strategy to features (#71439) 2020-12-01 09:54:23 -08:00
Jonah Williams
7086a2f43b
Revert "[flutter_tools] wire up alternative invalidation strategy to features (#70865)" (#70884)
This reverts commit ef4741540b.
2020-11-19 14:01:39 -08:00
Jonah Williams
ef4741540b
[flutter_tools] wire up alternative invalidation strategy to features (#70865) 2020-11-19 13:13:51 -08:00
Jonah Williams
f98c468317
[flutter_tools] remove unused JSON schema (#70480) 2020-11-13 13:02:40 -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
fb28ee2860
[flutter_tools] reland: cache pub invocations (#70180)
Disabled caching of pub invocations on flutter drive.
2020-11-10 13:56:36 -08:00
Jonah Williams
1c4b50ecf1
Revert "[flutter_tools] restore pub caching functionality (#70133)" (#70144)
This reverts commit ff953e4f83.
2020-11-09 16:38:07 -08:00
Jonah Williams
ff953e4f83
[flutter_tools] restore pub caching functionality (#70133)
Necessary to work around #70013 (this looks like it will be fixed, but should protect us in the future)

Restores some notion of skipping pub, with differences from the prior implementation:

Off by default, and only used by the flutter command automatic pub get
A single check parameter. Uses the framework version cached per-project instead of a timestamp of the tool, to avoid cases where downloading a prebuilt framework would cause this check to no longer work.
2020-11-09 16:11:55 -08:00
Jonah Williams
f1cdf2e6f3
Revert "[flutter_tools] restore pub caching functionality on run/test (#70056)" (#70132)
This reverts commit 6e5845f025.
2020-11-09 13:31:01 -08:00
Jonah Williams
6e5845f025
[flutter_tools] restore pub caching functionality on run/test (#70056) 2020-11-09 12:52:22 -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
dd8820bcc1
[flutter_tool] initialize flutter root in executable (#69549)
initialize the flutter root as early as possible. This allows all interfaces to be normally injected into commands, even if those objects might read from the flutter root.
2020-11-05 15:21:05 -08:00
Jenn Magder
2f3cccc4f5
Run more xcodebuild commands in native arm on Apple Silicon (#69837) 2020-11-04 19:54:02 -08: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
Jenn Magder
4dffc851bc
Detect ARM macOS arch with sysctl hw.optional.arm64 (#67970) 2020-10-13 12:05:04 -07:00
Jonah Williams
d6d06ed9f0
[flutter_tools] delete applicationPackageStore (#68026)
This class is entirely superseded by the application package factory. Only drive and install use it, and removing it from drive will allow use-application-binary support.
2020-10-13 11:33:55 -07:00
James D. Lin
e4206ac5dd
[flutter tools] Add a DelegatingLogger class (#67581)
[flutter tools] Add a DelegatingLogger class

Move most of `DelegateLogger` `from test/src/testbed.dart` to
`lib/src/base/logger.dart` to better formalize the common practice of
chaining `Logger`s together.  I renamed the class since it isn't
itself the delegate and to better match the `Delegating...` classes
from `package:collection`.

Additionally, add a freestanding `asLogger<T>` function to "cast" a
`Logger` into a matching delegate if possible.  This will allow
`Logger` chains to be ordered a *bit* more freely (e.g.
`NotifyingLogger` and `AppRunLogger` will no longer required to be
at the end of the chain, an unwritten rule that has led to breakage in
google3).  Chain order still matters since lack of virtual dispatch
means that parent `Logger`s can never invoke child methods, however.

I made `asLogger<T>` a freestanding function because I didn't want to
make it part of the `Logger` interface (and I thought that making it
an extension method might be weird).

Bonus cleanup:
There no longer appears to be a way to construct an `AppRunLogger`
with a null parent, so remove all of code paths for that case and
make the `parent` construction parameter required.
2020-10-09 15:55:24 -07:00
Jenn Magder
f92ba2d2c5
Replace MockUsage with Usage.test in build tests (#67670) 2020-10-08 16:09:49 -07:00
Christopher Fujino
ccdaa37043
Remove the .zip method from OSUtils, as it was not used (#67367)
We used to use zip to verify the integrity of downloaded zip archives, but we now use unzip. This removes the .zip method from OperatingSystemUtils.
2020-10-08 13:40:01 -07:00
Jonah Williams
1271447bbe
[flutter_tools] remove globals from FlutterValidator, add documentation and move tests to new file (#67234)
Remove globals from the flutter validator class, and refactor the tests into a separate file. Applies some other cleanup like adding doc comments, and making the doctor validator work like it is documented to work - removing the gen_snapshot check if the artifact is not downloaded instead of downloading all android artifacts.

#47161
2020-10-05 17:58:56 -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
Jenn Magder
becaf4913f
Replace MockCache with Cache.test() (#66946) 2020-09-30 14:53:57 -07:00
Jonah Williams
e819f292b3
[flutter_tools] do not require a dependency on devtools server (#66842)
Re-arrange the implementation of the devtools launcher so that google3 is not required to depend on any devtools packages. Also renames the build_runner folders to isolated to better clarify their intention.
2020-09-29 18:15:56 -07:00
Jonah Williams
76698a5026
[flutter_tools] dont crash if attach is given a bad debug uri (#66358) 2020-09-22 12:03:21 -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
Michael R Fairhurst
7f3c9b6bda
Remove unused 'dart:async' imports. (#65568) 2020-09-16 14:14:06 -07:00
Jonah Williams
6b444c4dd7
[flutter_tools] standardize patterns for integration.shard (#64980)
Integration tests must only go through the real file system/process manager/platform. The global indirection makes this code harder to understand than if it directly referred to the concrete instances that are being used.

Update the integration shard to use a const instance of a LocalFIleSystem, LocalProcessManager, and LocalPlatform. Remove global usage and apply testWithoutContext.
2020-09-08 15:56:00 -07:00
Jenn Magder
6175183545
Add --device-timeout flag to device-related commands (#64834) 2020-09-02 15:38:52 -07:00
Jonah Williams
15d18b9e42
[flutter_tools] remove unused zip verification (#64970)
This is no longer used, in favor of just attempting to unzip and handling the exception.
2020-08-31 13:26:38 -07:00
Jonah Williams
23032d772d
[flutter_tools] refactor artifact downloading to retry zip exceptions. (#64512) 2020-08-25 10:06:04 -07:00
Jonah Williams
ee12d7c3fc
[flutter_tools] check for permission issues when copying file (#63540) 2020-08-21 11:11:04 -07:00
Jonah Williams
08254b2156
Revert "Remove TODOs added for HTTP abort() change in dart sdk (#63924)" (#63972)
This reverts commit b1c17313f6.
2020-08-17 10:25:01 -07:00
zichangg
b1c17313f6
Remove TODOs added for HTTP abort() change in dart sdk (#63924) 2020-08-17 09:46:08 -07:00
Jonah Williams
06c3de3285
[flutter_tools] remove most globals from build system and tests (#63697)
Remove globals and testbed to simplify test cases, using the existing environment configuration. This is some pre-factoring work to make landing #63610 easier
2020-08-13 15:00:27 -07:00
Jonah Williams
9225d8d5b7
[flutter_tools] move to fake_async, skip failing tests (#63536) 2020-08-11 19:36:05 -07:00
Nolan Scobie
43c1b34cf5
Add punctuation for unterminated sentences in doc comments (#62755)
* Add punctuation for unterminated sentences in doc comments

* Addressing review nit
2020-08-06 19:18:52 -04:00
Helin Shiah
7cbec567de
Add daemon handler to start devtools (#62608) 2020-07-31 11:06:05 -07:00
Jenn Magder
f9499f44f7
Detect exact device ID matches quickly (#62070) 2020-07-24 16:15:44 -07:00
Jonah Williams
8be1c9ef25
[flutter_tools] turn off fuchsia support by default (#61634) 2020-07-21 02:26:04 -07:00
Christopher Fujino
f796e047fd
Verbose process exceptions (#61552) 2020-07-16 11:31:03 -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
Danny Tuppeny
51fcf8fa7a
Add debounce support to daemon hot reload requests (#55376) 2020-07-15 11:56:05 -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
zichangg
3631adc99a
Fixing patch for coming breaking change in HttpClientRequest (#61138)
* Fixing patch for coming breaking change in HttpClientRequest

* Add noSuchMethod() and comment out abort()

* Add ignore: override_on_non_overriding_member
2020-07-15 10:07:57 -07:00
Jenn Magder
4fba77476d
Support Xcode patch version comparison (#61484) 2020-07-14 17:16:02 -07:00
Jonah Williams
d22d65c6e7
[flutter_tools] add the feature for single widget reloads (#61411)
Implements the flutter config feature for #61407 , but does not implement any of the functionality.
2020-07-14 12:24:58 -07:00
xster
8bd2e6585b
Remove v1 Android create templates (#61203) 2020-07-11 12:15:19 -07:00
Jenn Magder
e110ca7209
Case insensitive check flavor names against Xcode schemes (#61140) 2020-07-09 16:56:02 -07:00
Jonah Williams
07e2d6f63b
[flutter_tools] make precache force blow away stamp files (#61003)
update flutter precache --force to delete all stamp files. In the event that a user is hitting a cache issue, this should be easier than re-downloading all artifacts or manually blowing away the cache.

This is probably how it should have worked in the first place
2020-07-07 19:33:25 -07:00
Jonah Williams
e1538d1b88
[flutter_tools] last pass on general.shard unit tests (#60263)
Last batch of test fixes for general shard.
2020-06-26 13:36:06 -07:00
Chris Yang
2e63b7d4f8
Add --platforms to flutter create -t plugin command (#59507) 2020-06-23 17:38:03 -07:00
stuartmorgan
e85655c48e
Specify encoding for vswhere output (#59607)
On Windows, Process.run assumes the output uses the system codepage by default. This allows specifying it in our wrapper, and sets the encoding for vswhere to UTF-8 since we're passing a flag that forces it to use UTF-8 output.

Fixes #53515
2020-06-18 14:00:46 -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
4f88ed1d3c
[flutter_tools] only restrict devices based on arch + buildMode, not emulator status (#58887)
instead of restricting profile/release mode based on whether the tool thinks the device is an emulator, restrict based on the device target architecture and the requested build mode. Notably, this enables release mode on x86_64 Android emulators, but not x86 emulators since we do not support that as an AOT target.

This does not add release mode support for simulators, since this requires us to build and upload artifacts for simulator/x86_64
2020-06-08 11:20:15 -07:00
Jonah Williams
f5de6aadd4
[flutter_tools] remove zone level overrides of verbose and daemon logging (#57448)
Make it possible for all FlutterCommands to be global free, by moving instantiation to inside the Zone context. Additionally, provide VerboseLogger and NotifyLogger (daemon) at the top level and remove from command-specific overrides.

This allows removing a work around where web devices needed to look up directly from the context in non-test code.

Technically the output preferences are still zone injected, but these will be moved soon as they were not being used correctly by the top level command (the injection comes after ArgParser reads the overflow values, causing numerous wrap issues)
2020-06-04 16:35:36 -07:00
JustWe
6c8d7b00ff
Show unsupported devices when no supported devices are connected (#56531) 2020-06-03 16:14:38 -07:00
Jonah Williams
e216eec7b4
[flutter_tools] Allow the tool to suppress compilation errors. (#58539)
Suppress compilation errors on startup so they are not duplicated from the native build step.
2020-06-03 12:00:03 -07:00
Jonah Williams
584e4f2534
[flutter_tools] cleanup to devfs Operations (#58332)
removes globals from devFS operations and cleans up testing to be context free. Removes unused and unnecessarily temp directory in testing.
2020-06-01 15:28:38 -07:00
Zachary Anderson
533cd7a6d1
[flutter_tools] Delete system temp entries on fatal signals (#55513) 2020-05-14 14:27:02 -07:00
Jenn Magder
bd430081e0
Make initial daemon devices population fast (#56959) 2020-05-14 11:00:51 -07:00
Jenn Magder
9c87b32477
Remove Runner target check, prefer schemes (#56620) 2020-05-11 11:56:44 -07:00
Zachary Anderson
6f0ed5e142
[flutter_tools] Restore base/platform.dart (#56410) 2020-05-06 08:15:39 -07:00
Jonah Williams
9b7b9d795e
[flutter_tools] reland remove flutter view cache (#56387)
Fixes #56194

Remove caching of FlutterView and poll forever if the list of flutter views is empty. Added test for missing release mode logic.
2020-05-05 12:09:51 -07:00
Jonah Williams
d98d3a973f
Revert "[flutter_tools] remove flutter view cache (#56223)" (#56385)
This reverts commit 209bdcb669.
2020-05-05 11:15:33 -07:00
Jonah Williams
209bdcb669
[flutter_tools] remove flutter view cache (#56223)
Remove caching of FlutterView. Perhaps the FlutterView RPC might return an empty list if the VM is not quite up yet? We had some old logic to poll the flutter views RPC for up to 200ms. That doesn't seem like a great approach, so instead we could forgo it entirely and trust that either the views come up before the developer tries to interact, or we crash.
2020-05-05 10:47:01 -07:00
Jenn Magder
c8c55b4098
Check Xcode build setting FULL_PRODUCT_NAME for bundle name (#55799) 2020-05-04 11:31:08 -07:00
Jonah Williams
ac2dfcf338
[version] update all versions (#56141) 2020-05-01 15:14:36 -07:00
James D. Lin
b7fd24a7dc
[flutter tools] Move _informUserOfCrash into crash_reporting.dart (#55614) 2020-04-28 10:34:03 -07:00
Jonah Williams
ffcf1db3ca
[flutter_tools] reland migrate FlutterViews to package:vm_service (#55797)
Move FlutterView and related RPCs to the package:vm_service implementation. Update some getIsolate calls with catchError to match previous behavior.

- Updates tests that were previously mocking FlutterViews to use real views
- Moves the FlutterView cache from VM to FlutterDevice
- Catch SentinelException during Isolate.kill
2020-04-27 17:41:42 -07:00
Jenn Magder
958ab9336f
Revert "[flutter_tools] reland migrate FlutterView to new vmservice (#55774)" (#55788)
This reverts commit a18e6361cf.
2020-04-27 16:19:25 -07:00
Jonah Williams
a18e6361cf
[flutter_tools] reland migrate FlutterView to new vmservice (#55774) 2020-04-27 15:54:59 -07:00
Jonah Williams
07c451fea9
Revert "[flutter_tools] migrate FlutterView to new vm_service (#55341)" (#55772)
This reverts commit 2e50fd75eb.
2020-04-27 14:26:56 -07:00
Jonah Williams
2e50fd75eb
[flutter_tools] migrate FlutterView to new vm_service (#55341)
Move FlutterView and related RPCs to the package:vm_service implementation. Update some getIsolate calls with catchError to match previous behavior.

- Updates tests that were previously mocking FlutterViews to use real views
- Moves the FlutterView cache from VM to FlutterDevice
- Catch SentinelException during Isolate.kill
2020-04-27 14:16:28 -07:00
Jonah Williams
8df0d68633
[flutter_tools] remove globals from pub (#55412) 2020-04-22 16:34:12 -07:00
James D. Lin
566c1d1124
flutter_tools: Prefer using .of() over .from() when possible (#55250)
Prefer using `.of()` (which is statically type-checked) over
`.from()` (which is dynamically type-checked) when possible.
2020-04-21 22:09:50 -07:00
Jonah Williams
9202e54704
[flutter_tools] move service extensions off of deprecated vm service (#55012) 2020-04-20 15:15:54 -07:00
Jonah Williams
b7e30cfc26
[flutter_tools] update compilation to use package config (#54467) 2020-04-20 14:02:49 -07:00
kwkr
d21ab5184a
Fix/set mocks defaults (#54756) 2020-04-20 12:20:03 -07:00
Jenn Magder
fc76fc2a96
Move GitHubTemplateCreator into reporting library (#55002) 2020-04-17 10:47:12 -07:00
Jenn Magder
457972b757
Move doctor into globals (#54912)
* Move doctor into globals

* Fix tests
2020-04-15 19:44:42 -07:00
Jonah Williams
8ed40ddd4b
[flutter_tools] refactor FlutterManifest to be context-free (#54555) 2020-04-13 18:55:01 -07:00
Jonah Williams
ee43de0476
[flutter_tools] support enable-experiment in flutter analyze (#54613) 2020-04-13 16:00:03 -07:00
Christopher Fujino
03c566768b
[flutter_tools] Remove fromPlatform from tests (#54152) 2020-04-10 16:51:28 -07:00
Kirill Pertsev
d6806392a8
Implements --machine flag for devices command (#50581) 2020-04-09 09:14:16 -07:00
Zachary Anderson
090fc5cc53
[flutter_tools] Use gzip level 1 for devfs transfer compression (#54123) 2020-04-08 09:07:02 -07:00
Anna Gringauze
3a0d837741
Enable expression evaluation in debugger for web platform (#53595) 2020-04-02 10:26:03 -07:00
stuartmorgan
445b5a14f2
Precache platform filter change (#53701)
Makes the following changes to the behavior of precache:
- The --all-platforms flags now fetches all artifacts, rather than just
  turning off platform filtering of selected artifacts.
- Explicitly requested artifacts are no longer subject to platform
  filtering. E.g., 'precache --ios' will download iOS artifacts on
  Windows and Linux (but 'precache' without an 'ios' flag will still
  only download iOS artifacts on macOS).
- Desktop platform artifacts now respect the bypassing of platform
  filtering.

Fixes #53272
2020-04-01 10:54:59 -07:00
Jenn Magder
ad07c4041a
Delete unused NDK location checks (#53694) 2020-03-31 14:53:49 -07:00
Jonah Williams
8403930d41
[flutter_tools] unpin SDK deps when upgrading packages (#53429) 2020-03-27 22:11:01 -07:00
Jenn Magder
0b321e6715
Remove IMobileDevice from globals, hoist to XCDevice constructor (#53144)
* Convert ios_device_logger_test.dart to testWithoutContext

* Remove IMobileDevice from globals, hoist to XCDevice constructor
2020-03-24 11:22:54 -07:00
Lasse R.H. Nielsen
af5194dbfd
Prepare Flutter for SDK changes to runZoned. (#52953)
The `runZoned` method deprecates the `onError` parameter.
Invocations using that parameter must use `runZonedGuarded` instead.

This prepares Flutter for the deprecation. The same places need to be migrated to using
`runZonedGuarded` when the SDK change has been ported to Flutter.
Then the deprecated member will be removed in a follow-up CL when the most important
packages have been migrated.
2020-03-24 08:34:17 -07:00
stuartmorgan
685e9d1e47
Add pre-stable support for create on Windows (#51895)
Adds initial support for flutter create of apps and plugins. This is derived from the current FDE example app and sample plugin, adding template values where relevant.

Since the APIs/tooling/template aren't stable yet, the app template includes a version marker, which will be updated each time there's a breaking change. The build now checks that the template version matches the version known by that version of the tool, and gives a specific error message when there's a mismatch, which improves over the current breaking change experience of hitting whatever build failure the breaking change causes and having to figure out that the problem is that the runner is out of date. It also adds a warning to the create output about the fact that it won't be stable.

Plugins don't currently have a version marker since in practice this is not a significant problem for plugins yet the way it is for runners; we can add it later if that changes.

Fixes #30704
2020-03-23 10:42:26 -07:00
Jenn Magder
a61bff2fcf
Show Xcode workspace clean output with verbose flag (#52860) 2020-03-19 09:51:01 -07:00
Jonah Williams
73b6702dee
[flutter_tools] refactor iOS tests for Device.startApp into new file (#52854) 2020-03-18 17:43:25 -07:00
Jenn Magder
e0ab6fc00c
Move outputPreferences to globals (#52846) 2020-03-18 15:54:26 -07:00
Jonah Williams
90d6169678
[flutter_tools] refactor the IOSDevicePortForwarder and move tests out of devices_test.dart (#52772)
Updates the IOSDevicePortForwarder to no longer depend on context, or on an IOSDevice instance. Instead, it receives all necessary configuration through the constructor.

Moves the IOSDevicePortForwarder to a separate file.
2020-03-17 17:58:05 -07:00
Jenn Magder
2f216ceee5
Add timeout flag to devices command, pipe through discovery (#51678) 2020-03-16 14:15:00 -07:00
Jonah Williams
6804cef587
[flutter_tools] throw exception instead of string from startApp (#52365)
When attempting to start an emulator in profile mode, ensure the daemon can exit gracefully
2020-03-11 09:41:52 -07:00
Jonah Williams
377879825e
[flutter_tools] prevent StateError when log reader is disposed (#52173)
Previously the AdbLogReader did async setup in the StreamController.onListen callback, specifically it would query the api version and start the adb process. If the log subscription was cancelled before this setup completed, then the log output could (haven't confirmed) get added to a closed controller, causing the above state error.
2020-03-10 11:34:40 -07:00
Dan Field
e13e17009d
Reland fix --version (#52141) 2020-03-06 21:38:35 -08:00
Dan Field
a42d38a2f8
Fix flaky test (#52088) 2020-03-06 13:01:42 -08:00
Zachary Anderson
6c408a0567
Reland: [flutter_tool] Where possible, catch only subtypes of Exception (#52021)
* Reland: [flutter_tool] Where possible, catch only subtypes of Exception

* Add armv7f to getIOSArchForName
2020-03-06 10:22:12 -08:00
Jonah Williams
bafa03e5b5
[flutter_tools] Remove mocking and simplify Dart target tests (#50688) 2020-03-05 17:19:15 -08:00
Alexandre Ardhuin
c2ae654ddf
enable avoid_single_cascade_in_expression_statements (#51944) 2020-03-05 08:03:26 +01:00
Jenn Magder
cbbb7ec5a7
Revert "Reland: [flutter_tool] Where possible, catch only subtypes of Exception (#51774)" (#51960)
This reverts commit 57c6721cd5.
2020-03-04 12:40:15 -08:00
Flutter GitHub Bot
57c6721cd5
Reland: [flutter_tool] Where possible, catch only subtypes of Exception (#51774) 2020-03-04 11:41:02 -08:00
Zachary Anderson
b32ee2f15c
Revert "Reland: [flutter_tool] Where possible, catch only subtypes of Exception (#51567)" (#51616)
This reverts commit 9de7787f25.
2020-02-27 22:57:13 -08:00
Zachary Anderson
9de7787f25
Reland: [flutter_tool] Where possible, catch only subtypes of Exception (#51567) 2020-02-27 22:46:23 -08:00
Jenn Magder
4fb9ce8414
Clean App.framework, Generated.xcconfig, flutter_export_environment.sh (#51532) 2020-02-27 12:18:06 -08:00
Jonah Williams
3b5668c996
[flutter_tools] hide usage of package:mustache behind interface (#51500) 2020-02-27 09:17:42 -08:00
Jonah Williams
611e5cb427
[flutter_tools] update chrome tests to remove globals, mock processmanager, mock process (#51533) 2020-02-27 08:47:11 -08:00
Zachary Anderson
483f49962c
Revert "[flutter_tool] Where possible, catch only subtypes of Exception (#51440)" (#51539)
This reverts commit f1cd47ef5c.
2020-02-26 23:42:19 -08:00
Zachary Anderson
f1cd47ef5c
[flutter_tool] Where possible, catch only subtypes of Exception (#51440) 2020-02-26 21:45:02 -08:00
Jonah Williams
9295b34850
cleanup of tool build tests (#50904) 2020-02-19 18:46:04 -08:00
Jenn Magder
85b54d4c0c
Change DeviceManager.getAllConnectedDevices() return value from Stream to List (#51015) 2020-02-19 17:40:24 -08:00
Jonah Williams
18f38cd45b
Switch flutter_tools to use frontend_server for web compilation (#50365) 2020-02-11 15:43:46 -08:00
Jenn Magder
4411d8e64e
Update minimum version to Xcode 11.0 (#50371) 2020-02-07 14:35:01 -08:00
Jenn Magder
48a9bd56b1
Revert "Update minimum version to Xcode 11.0 (#50315)" (#50369)
This reverts commit 2b7582ef61.
2020-02-07 13:59:21 -08:00
Jenn Magder
2b7582ef61
Update minimum version to Xcode 11.0 (#50315) 2020-02-07 13:57:24 -08:00
Levi Lesches
149e06232b
Add option to clear the terminal by pressing "c" (#50034) 2020-02-06 15:53:04 -08:00
Dan Field
4b8efad99b
Font subset in the tool (#49737) 2020-02-04 20:34:24 -08:00
Zachary Anderson
103b12fc11
[flutter_tools] Isolate userHomePath, other cleanups (#50125) 2020-02-04 18:03:03 -08:00
Zachary Anderson
2c51efef29
[flutter_tools] Make Config context-free (#49834) 2020-01-31 12:51:20 -08:00
ZichangG
0be9127dfd
add preserveHeaderCase for classes extends HttpHeaders (#49766) 2020-01-30 11:43:02 -08:00
Zachary Anderson
74c1be6ff1 [flutter_tool] Make base/net.dart context free (#49575) 2020-01-27 17:53:02 -08:00
Dan Field
8b2993337a
revert #48985 (#49572) 2020-01-27 14:36:02 -08:00
Zachary Anderson
d9f071fd0a [flutter_tool] Don't crash when writing to pub stdin fails (#49323) 2020-01-23 20:13:01 -08:00
Anthony
b67d5ec6e9 [a11y] Make sure RenderFractionalTranslation updates its semantics after the translation field is set (#48985) 2020-01-17 15:13:01 -08:00
Jonah Williams
fb5632dc16
[flutter_tools] Only remove ProcessUtils from injection (#48975) 2020-01-16 13:32:15 -08:00
Alexandre Ardhuin
003541499b use isA<Xxx>() matcher (#48482) 2020-01-16 12:43:03 -08:00
Jonah Williams
f7b8d62cbc
[flutter_tool] Refactor Logger and Terminal to (mostly) no longer depend directly on context (#47269) 2020-01-08 12:35:12 -08:00
Alexandre Ardhuin
4f9b6cf017
enable lint prefer_final_in_for_each (#47724) 2020-01-07 16:32:04 +01:00
Jonah Williams
ee7a37f1d3
[flutter_tools] Ensure that global variables are easily identifiable (#47398) 2020-01-06 11:04:20 -08:00
Jenn Magder
9861a1c045
flutter build ios-framework generate Flutter.podspec (#47556) 2019-12-23 13:12:36 -08:00
Jenn Magder
85e9be36bf
Revert "Check Xcode build setting FULL_PRODUCT_NAME for the name of the built app during flutter run (#47266)" (#47568)
This reverts commit 648a5d8a1e.
2019-12-20 17:45:16 -08:00
Jenn Magder
648a5d8a1e
Check Xcode build setting FULL_PRODUCT_NAME for the name of the built app during flutter run (#47266) 2019-12-19 14:18:10 -08:00
Jenn Magder
65ad8d805a
Revert "Check Xcode build setting FULL_PRODUCT_NAME for the name of the built app during flutter run (#46928)" (#47264)
This reverts commit e54e301d50.
2019-12-17 17:20:57 -08:00
Jenn Magder
e54e301d50 Check Xcode build setting FULL_PRODUCT_NAME for the name of the built app during flutter run (#46928) 2019-12-17 16:13:01 -08:00
Emmanuel Garcia
a15a81be21
Fix androidSdk NPE (#47187) 2019-12-17 14:10:36 -08:00
Jonah Williams
a723c94650
[flutter_tool] restructure ProjectFileInvalidator to no longer directly depend on context (#45739) 2019-12-16 18:12:04 -08:00
Jenn Magder
dfa6eb31a0
Revert "flutter run FULL_PRODUCT_NAME (#46838)" (#46925) 2019-12-12 17:34:54 -08:00
Jenn Magder
7a7e2bb247 flutter run FULL_PRODUCT_NAME (#46838) 2019-12-12 17:03:01 -08:00
Sean Freiburg
418b814555 Add buildNumber param to "flutter build aar" command (#46291) 2019-12-12 10:28:01 -08:00
Jonah Williams
7f235ea8bc
Mitigation for current tool test skips on CI (#46181) 2019-12-05 23:16:25 -08:00
Ian Hickson
449f4a6673
License update (#45373)
* Update project.pbxproj files to say Flutter rather than Chromium

Also, the templates now have an empty organization so that we don't cause people to give their apps a Flutter copyright.

* Update the copyright notice checker to require a standard notice on all files

* Update copyrights on Dart files. (This was a mechanical commit.)

* Fix weird license headers on Dart files that deviate from our conventions; relicense Shrine.

Some were already marked "The Flutter Authors", not clear why. Their
dates have been normalized. Some were missing the blank line after the
license. Some were randomly different in trivial ways for no apparent
reason (e.g. missing the trailing period).

* Clean up the copyrights in non-Dart files. (Manual edits.)

Also, make sure templates don't have copyrights.

* Fix some more ORGANIZATIONNAMEs
2019-11-27 15:04:02 -08:00
Jenn Magder
7d8f82051b
Suggest GitHub template when flutter tool crashes (#45360)
* On flutter tool crash suggest GitHub template

* Shorten GitHub URLs

* Whitespace

* Wording tweak from @InMatrix

* Review edits
2019-11-26 14:06:31 -08:00
Alexandre Ardhuin
980f14e0c5
implicit-casts:false on flutter_tools (#45153)
* implicit-casts:false on flutter_tools

* use castStringKeyedMap

* address review comments

* address review comments

* fix issues after rebase
2019-11-24 06:54:43 +01:00
Greg Spencer
a60bf8e23a
Spell check of Flutter docs (#45200)
No code changes, just comments: I spell-checked all the comments in the repo.
2019-11-22 08:43:55 -08:00
Emmanuel Garcia
5df4b7db23
Reland: Attach looks at future observatory URIs (#45307) 2019-11-20 18:51:25 -08:00
Emmanuel Garcia
fb5e49082b
Revert "Attach looks at future observatory URIs (#45228)" (#45237)
This reverts commit 2135e9fb1e.
2019-11-19 23:14:25 -08:00
Emmanuel Garcia
2135e9fb1e
Reland: Attach looks at future observatory URIs (#45228) 2019-11-19 21:43:52 -08:00
Emmanuel Garcia
7a0911b47a
Revert "Attach looks at future observatory URIs (#44637)" (#45211)
This reverts commit 6d77996d6a.
2019-11-19 16:47:39 -08:00
Emmanuel Garcia
6d77996d6a
Attach looks at future observatory URIs (#44637) 2019-11-19 15:11:41 -08:00
Danny Tuppeny
81f6ba84b9
Switch from using app.progress to app.webLaunchUrl for passing web launch urls (#44268)
* Switch from using app.progress to app.url for passing web launch urls

* Update daemon.md

* Change app.url -> app.webLaunchUrl

* Add tests for app.webLaunchUrl event

* Update tests with recent changes after rebasing
2019-11-18 18:10:15 +00:00
Jonah Williams
e77c24ef91
Update package test (#44882) 2019-11-14 09:31:36 -08:00
Emmanuel Garcia
0019599411
Build AAR for all build variants by default (#44797) 2019-11-13 13:27:10 -08:00
Jonah Williams
978fada33c
Refactor flutter.gradle to use assemble directly (#43876)
Removes multiple re-entrant calls of bundle and aot and replaces them with a single call to assemble. This restores full caching and will allow follow-up performance improvements when building multiple ABIs
2019-11-08 12:41:24 -08:00
Zachary Anderson
372fe290e4
[flutter_tool] Update analytics policy, send event on disable (#43217) 2019-11-05 10:43:52 -08:00
Jonah Williams
0cd8cef8f5
require awaiting Testbed.run (#43952) 2019-11-01 10:55:04 -07:00
Emmanuel Garcia
175b37247d
Refactor gradle.dart (#43479) 2019-10-31 13:19:15 -07:00
Jonah Williams
4c677e4148
Extra defensive programming for pub modification time assert (#43315) 2019-10-22 22:05:00 -07:00
Jonah Williams
79a985f9fd
Add compiler configuration to support dartdevc target (#43281) 2019-10-22 20:35:05 -07:00
Jonah Williams
46ea99122b
Revert "Extra defensive programming for pub modification time assert (#42491)" (#43235)
This reverts commit 3597bae6a0.
2019-10-21 20:54:02 -07:00
Ian Hickson
3597bae6a0 Extra defensive programming for pub modification time assert (#42491) 2019-10-21 20:15:20 -07:00
Ian Hickson
124dc6617f
Clean up test infrastructure (#43030)
See #41880 for history.
2019-10-18 16:35:39 -07:00
Jonah Williams
1982a5c3ec
Revert "Clean up test infrastructure (#41880)" (#42982)
This reverts commit 1781d5c9bb.
2019-10-17 19:47:16 -07:00
Ian Hickson
1781d5c9bb
Clean up test infrastructure (#41880) 2019-10-17 19:22:47 -07:00
Emmanuel Garcia
08c645b3b2
Test the Android embedding v2 (#42708)
* Test the Android embedding v2

* Update integration tests

* Split into shards
2019-10-16 21:26:10 -07:00
Jonah Williams
cb518c4219
Fix progress indicators for release/profile builds of web. (#42857) 2019-10-16 16:10:06 -07:00
Jenn Magder
a62bb3d9ab
Update minimum version to Xcode 10.2 (#42254) 2019-10-14 12:45:40 -07:00
Ian Hickson
08643c41d7
Always fake ProcessManager when you fake Filesystem in tests (#42369)
...because otherwise, processes that think they're manipulating your
filesystem will be doing crazy things the test is ignoring, leading to
(at best) failures and (at worst) flakes or disk corruption.
2019-10-11 11:23:12 -07:00
Christopher Fujino
ed482c3e09
Stop leaking iproxy processes (#42026) 2019-10-09 16:30:27 -07:00