Commit Graph

288 Commits

Author SHA1 Message Date
Dan Rubel
1821238279 Refactor flutter command execution (#5892)
* refactor _run to runCmd

* replace requiresProjectRoot getter with call to commandValidator

* replace requiresDevice getter with call to findTargetDevice

* trace command requires a debug connection, not a device

* inline androidOnly getter

* rename command methods to verifyTheRunCmd and runCmd

* move common verification into BuildSubCommand

* rename deviceForCommand to device

* rename methods to verifyThenRunCommand and runCommand
2016-09-16 09:13:35 -04:00
John McCutchan
fd50ccdd95 Enable hot mode by default. --no-hot disables it (#5794) 2016-09-13 14:38:05 -07:00
John McCutchan
718a88d06e Add a --benchmark mode to hot run (#5787) 2016-09-12 12:19:08 -07:00
Dan Rubel
bb0a6757fc Suggest simulator when no devices (#5770)
When flutter run is used on a Mac and no devices are specified or attached, suggest launching a simulator first. Fixes https://github.com/flutter/flutter/issues/5674
2016-09-08 17:37:39 -04:00
John McCutchan
83ab5f8345 Call refreshViews after every restart (#5479) 2016-08-18 16:01:18 -07:00
John McCutchan
5c14444bfd Trigger a hot reload / full restart based on SIGUSR1 and SIGUSR2 (#5453) 2016-08-17 09:09:45 -07:00
John McCutchan
3a012b326f vmservice redux (#5437) 2016-08-17 09:01:04 -07:00
Jason Simmons
f9876cba4c Wait for stopApp to complete before proceeding with the app install/run flow (#5412) 2016-08-15 15:24:00 -07:00
John McCutchan
cab7c8d7b3 Rename Observatory to VMService (#5349) 2016-08-11 13:14:13 -07:00
Devon Carew
14483586e0 make flutter run work with a pre-built apk (#5307)
* make flutter run work with a pre-built apk

* refactor to remove the buildDir param
2016-08-09 14:38:13 -07:00
Yegor
a0aa0edfc5 --trace-startup: non-zero exit code when fails; enable in iOS runtime (#5309) 2016-08-09 14:12:15 -07:00
John McCutchan
c13a03fac2 Add analytics for hot reload events (#5300) 2016-08-09 09:36:23 -07:00
Devon Carew
1d0183870b make the apk building part of flutter run optional (#5301) 2016-08-09 09:03:39 -07:00
John McCutchan
4c1dde8d67 Add a control pipe that can trigger reloads / restarts (#5282) 2016-08-09 07:11:24 -07:00
Devon Carew
30505aef8b support hot mode from the daemon protocol (#5271)
* support hot mode from the daemon protocol

* move method params to constructor
2016-08-05 21:09:42 -07:00
Devon Carew
ce9fcb029f remove the resident cli option (#5263) 2016-08-05 14:16:46 -07:00
John McCutchan
81b4e827e1 Split hot run mode into a separate file (#5233) 2016-08-05 12:04:33 -07:00
Ian Hickson
d7fb51a551 Hot reload UI polish (#5193)
* General improvoments to the loader app:
   * Show a message after 8 seconds if no connection comes in.
   * Show a progress bar as files are being uploaded.
   * Hide the spinner just before launching the application.

* General improvements to the "flutter run" UI:
   * Add "?" key as a silent alias for "h".
   * Make the help text bold so it doesn't get mixed with the logs.
   * Make "R" do a cold restart when hot reload is enabled.

* Supporting features and bug fixes:
   * Add support for string service extensions.

* Other bug fixes:
   * Expose debugDumpRenderTree() outside debug mode.
   * Logger.supportsColor was missing a getter.
   * Mention in the usage docs that --hot requires --resident.
   * Trivial style fixes.
2016-08-02 16:52:57 -07:00
Devon Carew
d3cc554828 Flutter run target 2 (#5035)
* This reverts commit 5e7e7b6ea7.

* default to lib/main.dart
2016-07-25 14:56:12 -07:00
Devon Carew
5e7e7b6ea7 Revert "make the flutter run -t target option optional (#5029)" (#5032)
This reverts commit 32ad81c89a.
2016-07-25 14:05:27 -07:00
Devon Carew
32ad81c89a make the flutter run -t target option optional (#5029) 2016-07-25 13:42:42 -07:00
John McCutchan
0de691621b Add --hot mode for flutter run 2016-07-20 14:38:25 -07:00
Devon Carew
6cdfd86ad1 send the reload source command for ios simulators (#4731)
* send the reload source command for ios simulators

* review changes

* rewrite w/ a completer
2016-06-24 10:26:43 -07:00
Todd Volkert
e91f3eef46 Don't uninstall before installing in flutter run (#4699)
#4672
2016-06-22 15:43:57 -07:00
Devon Carew
fc47909e9f send application files to the observatory's devfs (#4572)
* send application files to the observatory's devfs

* update comment
2016-06-15 09:29:23 -07:00
Ian Hickson
f92f71feb9 Lock flutter tool while updating artifacts (#4476)
This prevents multiple simultaneous runs of the analyzer from stomping
over each other (e.g. multiple runs of 'update-packages'). Certain
long-lived commands (like analyze, run, logs) are exempted once they've
done enough work to be safe from most stomping action.

This still doesn't make us entirely safe from craziness, e.g. if you're
half way through an 'update-packages' run and you call 'git pull', who
knows what state you'll end up in. But there's only so much one can do.

Fixes https://github.com/flutter/flutter/issues/2762
2016-06-14 10:16:08 -07:00
Devon Carew
fcd68c8a21 Support route (#4470)
* support --route in flutter run --resident

* also for the daemon app.start command
2016-06-08 13:44:54 -07:00
Devon Carew
3ba17136b7 add a restart command to the daemon protocol (#4385)
* refactor the --resident run option into a separate file

* update daemon to run --resident apps

* re-plumbing daemon start

* send app logs

* update tests

* review changes

* fix test runner

* remove PackageMap.createGlobalInstance; rely on the ctor

* review comments
2016-06-07 12:13:35 -07:00
Devon Carew
6c96e1a320 use the --resident option on flutter run by default (#4386) 2016-06-06 10:29:27 -07:00
Devon Carew
9e9dfc3d2d fix a race condition with isolate notification (#4286)
* fix a race condition with isolate notification

* return a future
2016-06-01 15:17:04 -07:00
Devon Carew
ec7517766c Flutter run restart (#4105)
* working on making a faster flutter run restart

* clean up todos; fire events on isolate changes

* use the Flutter.FrameworkInitialization event

* review comments
2016-05-26 15:26:14 -07:00
Devon Carew
d6aed1e7c9 add a --quiet option to flutter_tools (#4213) 2016-05-26 13:41:29 -07:00
Devon Carew
9cfa96608c dissallow -release mode on emulators (#4204)
* dissallow -release mode on emulators

* have the help text print the default mode
2016-05-26 09:14:51 -07:00
Jason Simmons
5aa9a7fc53 Forward the observatory (but not the diagnostic server) when in profile mode (#4183) 2016-05-25 15:21:11 -07:00
Chinmay Garde
66fee3a622 Wire up ios-profile and ios-release. Switching between debug, profile and release starts the build process from scratch. (#4063) 2016-05-23 12:58:42 -07:00
Devon Carew
4962656b1d remove old command aliases (#4103) 2016-05-23 12:06:49 -07:00
Ian Hickson
94636bd206 Cleanup based on new lints (#4052) 2016-05-20 14:08:46 -07:00
Jason Simmons
c192a7e4ca Replace the checked flag in DebuggingOptions with the build mode (#3901)
This also fixes some related problems affecting "flutter run":
  * FLXes built during AndroidDevice.startApp need to match the build mode
  * APKs should always be rebuilt if the build mode uses AOT compilation
2016-05-17 12:38:25 -07:00
Devon Carew
40c0d6ea12 Consolidate observatory code (#3892)
* rename service_protocol.dart to protocol_discovery.dart

* add a wrapper around the obs. protocol

* use json-rpc in run

* consolidate obs. code; implement flutter run --benchmark

* review comments
2016-05-12 18:15:23 -07:00
Jason Simmons
a590ee2671 Remove BuildConfigurations (#3879)
Artifacts from local engine builds will be found based on the --local-engine flag
2016-05-12 12:22:15 -07:00
Jason Simmons
0f53f7966b Remove Toolchain and extend ToolConfiguration to locate host tools such as sky_snapshot (#3870)
Host tools can be found in the artifact cache directory for the host platform.
If a developer wants to use a local engine build instead, then provide an
--engine-build flag that selects the specific engine build variant.
2016-05-11 15:47:26 -07:00
Devon Carew
6635f1cf9b re-enable --checked (#3857) 2016-05-11 12:26:46 -07:00
Devon Carew
067715e302 Send exit for flutter run --resident (#3829)
* send ext.flutter.exit

* listen for help restart, quit

* refactor into a separate class
2016-05-10 13:47:00 -07:00
Devon Carew
a5b198e9b9 remove the --checked option (#3799) 2016-05-09 10:58:47 -07:00
Ian Hickson
961f5cd266 Fix framework-side time in profile data (#3706) 2016-05-03 14:45:22 -07:00
Ian Hickson
4b6af7a42f Provide framework-only timing information (#3699)
This makes it easier to generate charts that show the engine time and
the framework time separately.
2016-05-03 13:51:22 -07:00
Jason Simmons
30d8dc1399 Check the adb install output for errors and stop "flutter run" if package installation fails (#3672) 2016-05-02 14:11:40 -07:00
Yegor
81af593745 [tools] download traces only from non-resident runs (#3615) 2016-04-28 13:35:32 -07:00
Yegor
c2cccc7b3b [tools] teach flutter run to get startup trace info (#3589) 2016-04-27 17:58:20 -07:00
Devon Carew
b0dca79671 Flutter run (#3553)
* rework flutter run

* fix npe with --debug-port

* connect to obs and exit when that conneciton closes

* update todos
2016-04-27 14:43:42 -07:00
Devon Carew
adac927501 add google analytics to flutter_tools (#3523)
* add google analytics

* send in the run target type

* track device type targets

* use the real GA code

* review comments

* rev to usage 2.0

* rev to 2.2.0 of usage; add tests

* review comments
2016-04-26 16:25:11 -07:00
Devon Carew
ace1a64bfd don't print installing device twice (#3520) 2016-04-25 09:25:47 -07:00
Devon Carew
1c0a966384 rename the --develop option to --debug (#3384)
* rename the --develop option to --debug

* fail if both --debug and --deploy are specified
2016-04-18 16:41:15 -07:00
Devon Carew
12cac94cda Use arm deploy (#3374)
* download android-arm-deploy

* wire up --deploy to android-arm-deploy

* fix interpolation
2016-04-18 09:01:43 -07:00
Devon Carew
f132acaf1d use the new cache code to locate more artifacts (#3361)
* use the new cache code to locate more artifacts

* add todo

* review comments
2016-04-15 21:08:03 -07:00
Devon Carew
8849cd6b2d add a --deploy flag to build apk (#3249)
* add a --deploy flag to build apk

* update command description

* use an enum instead of a bool param for build variants

* rename buildForDeploy flag to buildVariant

* review comments
2016-04-12 09:21:17 -07:00
Jason Simmons
f7b1799a62 Do not check for an existing package map if a command is going to run "pub get" to update the package map (#3202)
Also remove a redundant check for the --pub option in the run command
2016-04-08 09:34:42 -07:00
Jason Simmons
9d022ed26d Add a command that can capture a Skia picture of a Flutter frame and send it to a file or skiaserve debugger (#3165) 2016-04-07 12:33:11 -07:00
Devon Carew
653566dd23 simplify toolchain setup 2016-04-04 13:10:56 -07:00
Devon Carew
2fc8e9a110 create a crash report 2016-03-25 13:29:15 -07:00
Chinmay Garde
c8377d7428 Dont differentiate between ios_arm and ios_x64 in flutter_tools
All artifacts for iOS are universal.
2016-03-21 14:41:26 -07:00
Devon Carew
f1cdf6df39 refactor; fix apk warning 2016-03-21 09:24:56 -07:00
Devon Carew
f8374cd966 consolidate build commands under the 'build' command 2016-03-17 07:22:41 -07:00
Hixie
797e27edd3 Add @override annotations to flutter framework 2016-03-14 14:02:26 -07:00
Adam Barth
e2744e9a30 Stop using a prebuilt APK
Instead, require an AndroidManifest.xml and always build an APK.

Fixes #2517
2016-03-14 13:32:00 -07:00
Ian Hickson
d745e20853 Even more types 2016-03-14 09:41:54 -07:00
Devon Carew
5ad6a57007 remove some references to DeviceStore 2016-03-11 11:25:03 -08:00
Eric Seidel
3e2a4d9b4d flutter run should fail if pub get fails.
Previously we were ignoring the return code and continuing.

@devoncarew
2016-03-10 09:36:09 -08:00
Steve Messick
2e878746a3 Improve message when target not found 2016-03-04 14:36:32 -08:00
Devon Carew
4c569195f1 clean the project names used for flutter create 2016-03-02 12:36:37 -08:00
Devon Carew
4d93c376c9 improve verbose output 2016-02-27 23:36:02 -08:00
Devon Carew
f9adbcf23d update a todo 2016-02-27 19:56:20 -08:00
Devon Carew
d326991b97 add back a call to device.stop() from the run command 2016-02-27 19:32:02 -08:00
Devon Carew
022047f5eb remove the isConnected() method from device 2016-02-26 13:23:48 -08:00
Devon Carew
8c95500ea1 some performance optimizations for starting apps 2016-02-26 12:01:41 -08:00
Devon Carew
58f69e7f97 Merge pull request #2211 from devoncarew/flx_times
add timing info for flx creation
2016-02-26 10:44:45 -08:00
Yegor Jbanov
677e63b79d decouple flutter drive from flutter start
flutter start's method of finding devices to run the app on is not suitable for flutter drive.

This commit also refactors several tool services to allow mocking in unit tests.
2016-02-26 10:18:24 -08:00
Devon Carew
ee8f325bc0 add timing info for flx creation 2016-02-26 10:03:42 -08:00
Devon Carew
37290d866e additional validation for device commands 2016-02-24 11:11:23 -08:00
Devon Carew
3463d89cf6 remove iosSimulator field from ApplicationPackageStore 2016-02-22 12:37:08 -08:00
Chinmay Garde
f7d94fef8f Update status messages when unsupported devices are detected by the tools 2016-02-22 11:33:17 -08:00
Yegor
38a72a444a Merge pull request #2054 from yjbanov/flutter-drive-cmd
"flutter drive" command
2016-02-19 18:17:52 -08:00
yjbanov
a2b1bd4673 "flutter drive" command
Runs a test app and a driver test simultaneously, then stops the app.

Usage:

```
flutter drive --target=/path/to/test/app.dart
```

This command will look for `/path/to/test/app_test.dart` by
convention. We will expand into other ways of discovering tests in the
future.
2016-02-19 18:11:53 -08:00
Chinmay Garde
d797995632 tvOS, watchOS and old simulators are blacklisted in the tools 2016-02-19 16:29:41 -08:00
Devon Carew
d5a6fceee5 add a summary option to the doctor class 2016-02-17 09:33:45 -08:00
Adam Barth
cf8116368d flutter run should run pub get automatically
This removes a step that can cause trouble.

Fixes #1904
2016-02-16 11:16:34 -08:00
Devon Carew
b7b06c2a27 fixes found when running through the getting started process 2016-02-15 14:06:23 -08:00
Devon Carew
cc72bbc7ec rename list->devices, start->run 2016-02-13 23:50:20 -08:00