Commit Graph

173 Commits

Author SHA1 Message Date
Chris Bracken
c04f712a23 Refactor Xcode instance lookup (#10763)
Use a top-level getter in mac.dart rather than a static instance getter
and a top-level getter in ios_workflow.dart. Makes this code consistent
with how we do context lookups elsewhere.
2017-06-15 19:24:07 -07:00
Gary Qian
a367dcb02c Add flags to pass '--enable-software-rendering' flag to engine in run command (#10449) 2017-06-02 09:44:36 -07:00
xster
66ed8de745 Record flutter run success/fail, build mode, platform, start time in analytics (#9597)
FlutterCommand.runCommand subclasses can optionally return a FlutterCommandResult which is used to append additional analytics. 

Fix flutter run timing report and add a bunch of dimensional data
2017-04-27 15:28:15 -07:00
Zachary Anderson
0770c3c14f [flutter_tools] Adds some support for '-d all' (#9585) 2017-04-26 21:49:38 -07:00
Todd Volkert
60c5ffc1a9 Switch many Device methods to be async (#9587)
`adb` can sometimes hang, which will in turn hang the Dart isolate if
we're using `Process.runSync()`. This changes many of the `Device` methods
to return `Future<T>` in order to allow them to use the async process
methods. A future change will add timeouts to the associated calls so
that we can properly alert the user to the hung `adb` process.

This is work towards #7102, #9567
2017-04-25 17:23:00 -07:00
Ian Hickson
2a54524337 Fix tests to use Ahem, and helpful changes around that (#9332)
* Fix tests to use Ahem, and helpful changes around that

- Fix fonts that had metric-specific behaviours.

- LiveTestWidgetsFlutterBinding.allowAllFrames has been renamed
  to LiveTestWidgetsFlutterBinding.framePolicy.

- LiveTestWidgetsFlutterBinding now defaults to using a frame policy
  that pumps slightly more frames, to animate the pointer crosshairs.

- Added "flutter run --use-test-fonts" to enable Ahem on devices.

- Changed how idle() works to be more effective in live mode.

- Display the test name in live mode (unless ahem fonts are enabled).

- Added a toString to TextSelectionPoint.

- Style nit fixes.

* Roll engine to get Ahem changes.

* Update tests for dartdoc changes.

* Fix flutter_tools tests
2017-04-12 13:33:02 -07:00
Todd Volkert
34ed3d2d24 Pay off some technical debt. (#8710)
* Rename `Device.platform` to `Device.targetPlatform` to avoid
  collision with the exported variable from `platform.dart`
2017-03-10 10:11:05 -08:00
Michael Goderbauer
edbfb17b62 remove remaining references to sky_snapshot (#8665) 2017-03-09 11:40:59 -08:00
Chris Bracken
7a09316cd0 Declare locals final where not reassigned (flutter_tools) (#8570) 2017-03-03 17:50:46 -08:00
Todd Volkert
b59982eccd Properly await future when starting app in daemon mode (#8227)
Fixes #8209
2017-02-16 16:46:38 -08:00
Dan Rubel
7138541d23 new --kernel option for flutter run to use precompiled kernel code (#8191) 2017-02-15 17:37:00 -05:00
Chris Bracken
5d2a460fdd Correct capitalisation of Xcode (#7796)
Ref: https://developer.apple.com/xcode/
2017-02-01 16:16:33 -08:00
Ian Hickson
96e11e1bf1 Clean up the file names of the hot and cold runners. (#7697) 2017-01-28 14:26:49 -08:00
Ian Hickson
f888bbed48 Refactor hot/cold/drive runners a little (#7694)
Move the drive/run common stuff to RunCommandBase, rather than the
superclass which applies to everything.

Implement --no-resident (fixes
https://github.com/flutter/flutter/issues/5448). This is particularly
useful when running flutter from scripts.

Rename RunAndStayResident to ColdRunner.
2017-01-27 01:03:04 -08:00
Ian Hickson
a67c79a1c7 converge flutter run and flutter drive onto one behavior (#7688)
...for the port arguments
2017-01-26 21:47:14 -08:00
Ian Hickson
576b4e1179 Change --debug-port to --observatory-port (#7675)
...and add --diagnostic-port.

...and document port 0.
2017-01-26 16:42:48 -08:00
Devon Carew
258fc011f6 pass additional named params to daemon run (#7392)
* pass additional named params to daemon run

* add a trailing comma
2017-01-09 16:12:41 -08:00
Todd Volkert
016b5ab0cc Force all dart:io usage to go through 'base/io.dart' (#7390)
This ensures that accidental usages of dart:io's
file API don't creep in over time.
2017-01-09 08:37:00 -08:00
Todd Volkert
8bb270342e Update flutter_tools to use package:file throughout (#7385)
This removes direct file access from within flutter_tools
in favor of using `package:file` via a `FileSystem` that's
accessed via the `ApplicationContext`.

This lays the groundwork for us to be able to easily swap
out the underlying file system when running Flutter tools,
which will be used to provide a record/replay file system,
analogous to what we have for process invocations.
2017-01-06 16:51:44 -08:00
Devon Carew
bf25b31a65 some updates to the launch verbiage (#7236) 2016-12-12 09:31:58 -08:00
Devon Carew
bec4a6c790 updates for flutter run --machine (#7183)
* have flutter run --machine log to stdout

* add a test

* add docs; fix type annotation lint
2016-12-07 12:48:47 -08:00
John McCutchan
d54bed45f3 Support specifying a fixed list of assets on the command line (#6857) 2016-11-15 07:01:00 -08:00
Dan Rubel
34e466f1fd Refactor flutter command exit code - part 3 of 3 (#6838)
* Remove the workaround that pinned args to v0.13.6
This reverts most of the changes in commit 6331b6c8b5
* throw exception if exit code is not an integer
* rework command infrastructure to throw ToolExit when non-zero exitCode
* convert commands to return Future<Null>
* cleanup remaining commands to use throwToolExit for non-zero exit code
* remove isUnusual exception message
* add type annotations for updated args package
2016-11-14 14:21:30 -05:00
Dan Rubel
e384c0d982 Refactor flutter command exit code - part 2 (#6817)
* convert pubGet to throw ToolExit on non-zero exit code
* convert commandValidator to throw ToolExit for non-zero exit code
* convert flutter commands to throw ToolExit for non-zero exit code
* use convenience method throwToolExit
* only show "if this problem persists" for unusual exceptions
2016-11-13 22:09:03 -05:00
John McCutchan
8c70ad43ae Remove old benchmark code from the non-hot runner. (#6762)
- [x] Remove old benchmark code from the non-hot runner.
- [x] Remove some dead code.
- [x] Fix a throw that should be a rethrow.
2016-11-09 16:48:49 -08:00
Devon Carew
bea50b59a1 minor tweak to the text output (#6695) 2016-11-07 14:47:42 -08:00
John McCutchan
fb3bf7a9d7 Support hot reload with a prebuilt loader (#6743) 2016-11-07 14:25:07 -08:00
Dan Rubel
223f416199 Flutter run with machine output (#6645)
* add flutter run --machine flag
* refactor daemon stdin/out command stream/response
* extract daemon startApp method
* refactor flutter run --machine to call daemon.startApp
2016-11-02 17:15:01 -04:00
Ian Hickson
1c2be02753 style fixes (#6662) 2016-11-02 12:41:57 -07:00
Wyatt Arent
43b4fc909e Remove extra whitespace from flutter tools help (#6614)
* Fix Missing newline in flutter run help
Issue #6461

* Fix overtab from multiline
2016-11-02 11:16:41 -07:00
Wyatt Arent
c176346ec4 Fix Missing newline in flutter run help (#6485)
Issue #6461
2016-10-22 22:24:59 -07:00
Dan Rubel
8b164d7c46 improve "no device connected" message after "flutter run" (#6179) 2016-10-03 22:19:58 -04:00
John McCutchan
ca8070f904 Fix flutter run --use-application-binary (#6106)
When using --use-application-binary:

- [x] Stop flutter run from checking for a pubspec.yaml in current directory
- [x] Stop flutter run from invoking pub get
- [x] Set 'shouldBuild' based on --use-application-binary
- [x] Stop requiring 'lib/main.dart' to be present before running.
- [x] Stop building an FLX when launching on Android
2016-09-28 08:46:16 -07:00
Devon Carew
f7d501024c share a common default for enabling hot reload (#6081) 2016-09-26 19:02:04 -07:00
Dan Rubel
3f68e187f3 Help verbose show hidden options (#5979)
* show hidden flags when showing verbose help
* flutter -v show verbose help
2016-09-22 05:58:45 -04:00
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