Commit Graph

1770 Commits

Author SHA1 Message Date
Jakob Andersen
8b820ccc54 One more fix for finding Android Studio on macOS. (#8288)
Finally found the command to run tests in checked mode on my system. This one should've been caught by the IDE, but wasn't.
2017-02-20 14:27:03 +01:00
Jakob Andersen
0f3cc6e943 Fix finding Android Studio on macOS. (#8287) 2017-02-20 13:19:22 +01:00
Jakob Andersen
77efc38b67 Teach flutter tools to find gradle (#8241)
* Teach flutter tools to find gradle

Flutter tools will now use Gradle from Android Studio, which is now found automatically.

flutter doctor will verify that Android Studio has been installed, and that the included Gradle is at least version 2.14.1.

It is still possible to manually configure the path to Android Studio (flutter config --android-studio-dir=XXX) or Gradle (flutter config --gradle-dir=XXX), but this should only be necessary if they're installed somewhere non-standard.

Only tested on Linux and macOS for now.

Fixes #8131
2017-02-20 11:02:50 +01:00
Ian Hickson
f9c2d7d9aa Introduce a quick way to test across platforms (#8262) 2017-02-17 17:47:49 -08:00
Michael Goderbauer
e2ff674f31 add windows binaries to allPlatforms (#8250) 2017-02-17 13:40:56 -08:00
Michael Goderbauer
cd8434d931 Refactor how Artifacts are located (#8234)
Artifacts are now located in a central place.
This will enable us to downlaod artifacts when we need them (instead of
downloading them all upfront).
This also makes replacing sky_snapshot with gen_snapshot easier.
2017-02-16 23:10:11 -08:00
Michael Goderbauer
a55a745c73 Fail tests with an actionable message when FLUTTER_ROOT is not set (#8236)
Also: Fix some analyzer warnings.
2017-02-16 18:50:28 -08:00
xster
d7b0f7db14 Support iOS screenshot 1/2 (#8210)
* Support iOS screenshot 1/3

* Use path.join

* use fs.path instead
2017-02-16 18:35:36 -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
Ryan Macnak
9ec5330f32 Roll engine to ab0953092743319e0dde3a0c8f582d261c232964. (#8223)
Update stack_trace_test.dart for changes to the naming of async body functions.
2017-02-16 16:13:17 -08:00
Michael Goderbauer
e9af570f1f Enable Gradle Workflow on Windows (#8201)
* Enable Gradle Workflow on Windows

With this the app created by `flutter create` now compiles on Windows.

* Move OS check to gradle file
2017-02-16 14:17:09 -08:00
Jakob Andersen
83b9142468 Fix getMissingPackageHintForPlatform for Gradle-based projects. (#8214) 2017-02-16 13:37:53 -08:00
xster
3985ddbcd4 Move simulator screenshot logic to use simctl (#8216)
* Move simulator screenshot logic to use simctl

* Add simulator screenshot tests
2017-02-16 12:50:27 -08:00
Ian Hickson
03ae2cf366 Catch crashes during or before coverage collection. (#8207)
This assumes a fix to https://github.com/dart-lang/test/issues/542

The timeout added in this patch is a workaround for https://github.com/dart-lang/coverage/issues/165
2017-02-15 18:50:19 -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
Michael Goderbauer
071efec271 Implements WindowsStdoutLogger (#8189)
Replaces unprintable characters with alternative symbols.
2017-02-15 13:20:17 -08:00
Chris Bracken
0dd89fa994 Improve doctor message when xcode-select invocation required (#8179)
If a developer has installed the Xcode command-line tools, then later
installs Xcode, they may need to run xcode-select to update the path of
the command-line tools to that of the new installation.
2017-02-15 10:13:38 -08:00
Todd Volkert
d6f61b9ece Add ability to mock VMService's WebSocket connection (#8145) 2017-02-15 06:52:28 -08:00
Michael Goderbauer
70d7fe3a0d Revert "Replace jarsigner with apksigner" (#8164) 2017-02-14 18:02:33 -08:00
Michael Goderbauer
b38a6cbbba Replace jarsigner with apksigner (#8154) 2017-02-14 17:11:24 -08:00
Michael Goderbauer
7231fd3ed6 Enable flutter drive on Windows (#8146)
... and run some more tests on Windows.
2017-02-14 13:14:52 -08:00
Todd Volkert
f903a1c841 Add retry writing to DevFS. (#8142)
This is a workaround to #8141
2017-02-14 09:59:43 -08:00
Chris Bracken
43650e93f4 Emit additional Xcode settings in flutter create (#8125)
On flutter run, we update ios/Flutter/Generated.xcconfig with various
Flutter-specific settings required by xcode_backend.sh during a build
from Xcode. These settings need to be present at the time the project is
loaded since Xcode doesn't pick up live updates to these files.

Without these settings, Xcode fails to locate xcode_backend.sh itself,
causing the build to fail until the Xcode project has been closed and
re-opened. This also prevents Xcode's project updater from 'helpfully'
suggesting to clean up and delete the Generated.xcconfig file.
2017-02-14 09:56:57 -08:00
Jakob Andersen
cd3fd475d8 Don't update Android SDK settings in build.gradle (#8089) 2017-02-14 13:48:14 +00:00
Michael Goderbauer
5e54fd54d9 Ban package:path from Flutter Tools (#8119) 2017-02-13 17:45:50 -08:00
Yegor
d4550fd498 do not build APK twice (#8105) 2017-02-13 14:55:35 -08:00
Todd Volkert
9c05c345c7 Enable record/replay of file system activity and platform metadata (#8104) 2017-02-13 13:59:29 -08:00
Dan Rubel
ea74e07689 move flutter user analysis options file (#8091)
* move flutter user analysis options file
* add comments referencing each of the analysis options files
2017-02-13 16:39:35 -05:00
Todd Volkert
3b52c87da6 Bump deps on package:file and package:process (#8097) 2017-02-13 09:55:54 -08:00
Michael Goderbauer
cff7dc5444 Bump package:process version (#8073) 2017-02-10 16:54:51 -08:00
Chris Bracken
67462b4355 Update IntelliJ plugins link (#8068)
Replace version-specific link with a version-independent URL.
2017-02-10 14:21:37 -08:00
Jason Simmons
198d293857 Support some new Dart features in AOT mode (#8067)
See https://github.com/flutter/flutter/issues/7579
2017-02-10 13:14:57 -08:00
Devon Carew
5caeb3ff32 use the intl package (#8060) 2017-02-10 09:36:04 -08:00
Jakob Andersen
b246c5e7e9 Make new project template gradle-based for Android. (#7902)
* Make new project template gradle-based for Android.

With this change, the 'new project' template uses the same gradle-based build for Android as the hello_services example. This has some implications on build performance, since we're now building a complete Android app instead of just combining a pre-compiled .dex with the Flutter assets.

The very first build is a little over 2x slower, since it needs to download gradle and build the build scripts before getting to the actual code. Subsequent builds with changes to the code are comparable to the old builds. Null builds are faster. Enabling the gradle daemon speeds up subsequent builds by around 5s.

* Move Flutter Gradle plugin to Flutter root.
2017-02-10 09:37:38 +01:00
Alexandre Ardhuin
e151a1a438 prefer_contains (#8040) 2017-02-09 15:17:55 -08:00
Chris Bracken
2ec6b31aac Fix potential NPE in iOS doctor check (#8016)
* Fix potential NPE in iOS doctor check

In case Xcode is not installed, the xcode-select path may be null.

* fixup! Fix potential NPE in iOS doctor check
2017-02-08 20:04:39 -08:00
Devon Carew
b180caae4a change a few more places to use the seconds display for log output (#7995) 2017-02-08 19:47:12 -08:00
Chris Bracken
4d8395e177 Improve doctor output when Xcode installation is incomplete (#8012)
If the developer has only installed the Xcode command-line tools,
xcode-select and some other tools may be present, but xcodebuild will be
missing. In this case, output a slightly improved message indicating
that the installation is incomplete rather than missing.
2017-02-08 18:56:08 -08:00
xster
1cc78145fe Add logger indent option and indent nested xcode command outputs (#7867)
* Add indent option to logger and indent non-flutter nested output

* Add a missed override

* Formatting
2017-02-08 18:27:47 -08:00
Ian Hickson
f17e3f45a5 Fix the 'p' command in hot reload. (#7969)
Turns out when I added tests, I broke the actual underlying functionality.
2017-02-08 14:24:25 -08:00
Devon Carew
d89f438699 improve the logger ui a bit for elapsed times (#7960)
* improve the logger ui a bit for elapsed times

* invert param

* update daemon.dart
2017-02-08 08:25:36 -08:00
Chris Bracken
2432b5205b Improve flutter doctor messages for ios-deploy (#7962)
Differentiate between the not-installed and the out-of-date scenario.
2017-02-07 18:52:50 -08:00
Devon Carew
f1f53460a4 remove sdk summaries (#7957) 2017-02-07 17:59:10 -08:00
xster
0c8e1813b3 Add a user friendly error message when no development team is selected for physical deployment (#7879) 2017-02-07 16:59:58 -08:00
Devon Carew
27dc043a39 upgrade to the latest usage package (#7917) 2017-02-07 10:01:44 -08:00
Jacob Richman
53fc96da9e Small Flutter strong mode cleanup fixes. (#7825)
* Small Flutter strong mode cleanup fixes.

These are cases where strong mode down cast composite errors
generally indicated cases that would performance or correctness
issues if Flutter code was run in a strong mode VM.

* Fix Command API so that it is always in terms of Map<String,String>.

* Fix typedef
2017-02-06 08:55:09 -08:00
Michael Goderbauer
82f887de07 Fix Flutter Tools Tests to run on Windows (#7878) 2017-02-05 22:58:49 -08:00
Chris Bracken
c7054b302b Improved ensureDirectoryExists error message (#7880) 2017-02-03 18:09:07 -08:00
Chris Bracken
165e96e214 Exit with error message if ensureDirectoryExists fails (#7874)
If ensureDirectoryExists fails -- e.g. because a file file of the same
name as the directory to be created exists, ensure that we exit cleanly
with a useful error message.
2017-02-03 17:34:12 -08:00
Chris Bracken
cce70d7069 Improved error message for iOS device on a non-Mac host (#7859)
And fix some un-grammatical language below.
2017-02-03 12:54:07 -08:00
Chris Bracken
fb72f21cdc Improved detection of unsupported iOS devices (#7857)
* Detects iPad 2 and iPad Retina as unsupported devices.
* Simplifies blacklisting logic.
* Minor improvements to error messages.
* Added unit tests.
2017-02-03 12:25:05 -08:00
Chris Bracken
104fcf8d08 Fix typos, quote consistency (#7856) 2017-02-03 11:50:49 -08:00
Ian Hickson
dc634e195e Introduce the concept of asynchronicity to the service extensions. (#7823)
This allows us, for example, to wait for the slow mode banner to have
been removed from the screen before triggering a screen shot.
2017-02-02 15:48:35 -08:00
Michael Goderbauer
a742a5ddf6 Make flutter analyze run on Windows (#7828) 2017-02-02 15:41:13 -08:00
Jason Simmons
d2a1e125e9 Do not print logs whose timestamp is equal to the last timestamp seen (#7827)
If the tool is started immediately after a previous run of the tool, then
the most recent log timestamp may come from the previous run's logs.
The new instance of the tool should not print those logs.

This was happening during runs of the microbenchmark script.
2017-02-02 12:48:53 -08:00
Luke
646d7404cb Fix issues with flutter doctor (#7808)
* fix issue detecting ios-deploy. fix issue matching IntelliJ Ultimate on Mac

* refactor directory navigation code
2017-02-02 00:19:10 -08:00
Ian Hickson
5f38773ed0 Screenshot improvements (#7800)
Add an "s" command to `flutter run` which takes a screenshot.
Make that comment turn off the slow mode banner.
2017-02-01 22:47:53 -08:00
Michael Goderbauer
829976d35e Work around for dart-lang/sdk#28603 (#7805) 2017-02-01 21:06:19 -08:00
Chris Bracken
83514d67c4 Add doctor check for Python 'six' module (#7807)
* Add doctor check for Python 'six' module

Required as part of Xcode lldb module. In all likelihood, if we
encounter this situation, the developer is using a custom Python install
(e.g., via MacPorts or Homebrew).
2017-02-01 18:22:07 -08:00
Michael Goderbauer
40aab7f553 Bump Dart SDK to 1.22.0-dev.10.3 (#7791) 2017-02-01 16:33:27 -08:00
Chris Bracken
50125ab271 Use ios-deploy --version for install check (#7797)
ios-deploy -h/--help returns a non-zero exit code.
2017-02-01 16:30:49 -08:00
Chris Bracken
5d2a460fdd Correct capitalisation of Xcode (#7796)
Ref: https://developer.apple.com/xcode/
2017-02-01 16:16:33 -08:00
Chris Bracken
18fcb91e88 Add tests for iOS doctor validaton (#7794) 2017-02-01 15:58:40 -08:00
Michael Goderbauer
84de5e815d Work around for dart-lang/sdk#28599 (#7786) 2017-02-01 13:39:19 -08:00
Chris Bracken
236e8137b8 Ensure that ios-deploy meets minimum version constraint (#7784)
Also emits the version information in flutter doctor output.

ios-deploy > 1.9.0 is required to deploy to iOS devices.
2017-02-01 12:55:03 -08:00
Jason Simmons
59cacd7102 Some fixes for the microbenchmarks (#7781)
* Return null from VM.mainView if no view exists
* Retry in connectToServiceProtocol if a view is not yet available
* Do not explicitly call exit from the benchmarks - it will not cleanly shut down the engine
2017-02-01 11:54:27 -08:00
Jakob Andersen
a0f0c42fe3 Update gradle example to support x86 in debug mode. (#7606)
* Update gradle example to support x86 in debug mode.

Changed the Flutter Gradle plugin a bit to better fit in with the
Android build.

Fixes #6136
Fixes #6864
Fixes #7539
2017-01-31 14:48:48 -08:00
Michael Goderbauer
4cace66dbc Download prebuilt binaries on Windows (#7760) 2017-01-31 14:33:08 -08:00
Devon Carew
8e3ea7523e fix app launch in intellij (#7737) 2017-01-30 13:01:41 -08:00
Ian Hickson
65ca387075 Make the Ahem font available to tests. (#7725) 2017-01-28 15:55:47 -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
Michael Goderbauer
c234d405af Replace bin/flutter.ps1 with bin/flutter.bat (#7713)
fixes https://github.com/flutter/flutter/issues/7654
2017-01-27 23:12:33 -08:00
Ian Hickson
21434fcf1a Refactor 'flutter drive' to get the observatory port from the logs (#7695)
This remove a very brittle aspect of flutter drive, whereby it would
assume a known port instead of explicitly finding out what it was.

Fixes #7692 and hopefully fixes the devicelab tests.
2017-01-27 01:37:28 -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
19d22c9726 Make devicelab count as a bot so we can see crash logs (#7687) 2017-01-26 20:17:40 -08:00
Michael Goderbauer
9f28b4ff71 Windows Fixes for Flutter Tools (#7678) 2017-01-26 17:04:53 -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
xster
682c7992e5 Fix a crash (#7597) when the flutter sdk moves after getting packages (#7601)
* Add a check in case the flutter directory in .packages no longer exists. Clean up and prompt user

* Update documentation to use flutter packages get for end-users instead of flutter update-packages.

* Merge missing sdk error with the multiple sdk error. They're really the same thing.

* Use flutterPath in both checks.

* Change file_system’s copy folder to copy director which takes into account the file system

* Test support files

* Add test and split into 2 messages again.

* Move tests to run in memory file system's copy. Tested with dev/bots/test.sh
2017-01-26 15:43:28 -08:00
Michael Goderbauer
f3f2747a85 Unify engineDirs and toolsDir in Cache of Flutter Tools. (#7644)
The zip files downloaded from cloud storage are not clearly separated
into engine artifacts and tools anyways.

Also, because of this unclear separation, we were downloading
`linux-x64/artifacts.zip` twice before.
2017-01-26 10:23:52 -08:00
Todd Volkert
417c2f25fc Migrate flutter_tools to use package:platform (#7642) 2017-01-25 16:06:41 -08:00
xster
ee97e5639e Change file system copy folder to copy directory (#7624)
* Change file_system’s copy folder to copy director which takes into account the file system

* Address review comments.
Test with 2 different instances of file systems.
2017-01-25 11:41:48 -08:00
Michael Goderbauer
c47069a6b1 Tiny improvement to flutter doctor output on Windows. (#7629)
Follow-up to #7625
2017-01-24 17:29:06 -08:00
Michael Goderbauer
aaaf0dac19 Teach Flutter Tools about IntelliJ and Android SDK on Windows. (#7622)
Required for https://github.com/flutter/flutter/issues/138
2017-01-24 16:53:20 -08:00
Ian Hickson
1bdf351818 Merge pubspec.yaml and flutter.yaml. (#7605) 2017-01-24 11:19:31 -08:00
Todd Volkert
9ba607862e Update to package:process v1.0.1 (#7607) 2017-01-24 10:09:29 -08:00
Yegor
4bec9cd940 update build benchmark to match #7589 (#7600) 2017-01-23 17:49:01 -08:00
Devon Carew
a6777b2a60 remove flutter setup (#7596) 2017-01-23 15:22:16 -08:00
Ryan Macnak
76460967e6 Adapt to refactoring of snapshot APIs in the Dart VM. (#7589) 2017-01-23 13:28:35 -08:00
Ian Hickson
94cac1a69c flutter test --start-paused (#7584)
Make debugging tests in a debugger easier.

Fixes https://github.com/flutter/flutter/issues/163
2017-01-23 11:31:59 -08:00
Todd Volkert
03d163ce88 Update tools to use package:process (#7590) 2017-01-23 09:46:38 -08:00
Ian Hickson
63aa1397a3 Increase the strictness of our requiring explicit types (#7585)
...now that we have generic methods, their types need to be specified too.
2017-01-23 01:04:31 -08:00
Ian Hickson
cbda208b4b Reduce the amount of spam from analyze watch. (#7582)
See https://github.com/dart-lang/sdk/issues/28463, which I think is a
regression.

This also fixes the regression introduced by
https://codereview.chromium.org/2559773002 whereby we were no longer
checking any of the lints.
2017-01-22 16:43:24 -08:00
Dan Rubel
0295def2a9 Refactor DevFS for kernel code (#7529)
Refactor DevFS so that it's easier to add new types of content such as kernel code
* add tests for DevFS package scanning
* add tests for DevFS over VMService protocol
* which covers _DevFSHttpWriter and ServiceProtocolDevFSOperations
* replace AssetBundleEntry and DevFSEntry with DevFSContent
* refactor to cleanup common code and replace some fields with locals
* rework .package file generation refactor away DevFSOperations.writeSource
* only update .package file if it has changed
* only write/delete/evict assets that have been changed/removed
2017-01-22 10:37:10 -05:00
Ian Hickson
15a7eb3b6c Move to real generic method syntax (#7235) 2017-01-21 20:58:44 -08:00
Ian Hickson
2bb800a2e4 Explain the -15 magic number. (#7571) 2017-01-20 16:44:26 -08:00
Todd Volkert
5a3bae9eed Catch another ignorable errno in setting stdin.lineMode (#7563) 2017-01-20 14:00:12 -08:00
Devon Carew
34b9ce859a proxy service extension calls through the daemon protocol (#7554)
* proxy service extension calls through the daemon protocol

* add test for app.callServiceExtension
2017-01-20 08:51:57 -08:00
Ian Hickson
47de51557a Provide a feature to set the ports when running tests. (#7558)
This brings the feature back, since removing it broke one of our more
exotic sets of customers.
2017-01-19 17:57:47 -08:00
Ian Hickson
3f1d6d3bca Remove randomness from port assignment during coverage collection. (#7548)
Also, defer to test package for throttling (this will require a test
package update as well).

Also, add a lot more instrumentation to --verbose mode for tests, and
fix minor trivial things here and there, and add error handling in
more places.

Also, refactor how coverage works to be simpler and not use statics.
2017-01-19 15:31:11 -08:00
Todd Volkert
4e8628c146 Fix sky_shell test flakiness caused by CPU throttling (#7543)
When a machine is heavily loaded, it can severely delay the time it
takes for the OS to start a process once it's asked to do so. Our
5 second timeout that we were giving the test process to connect
to the test harness seemed like plenty of time, were it not for the
fact that the test process itself was not being started in time when
CPU throttling was in effect.

This change updates the test timeout to begin counting only once the
test process has been started. We keep the original timeout in play
in the event that the test process *never* starts up for some reason,
but we up that timeout value to 5 minutes.
2017-01-19 13:03:31 -08:00
Yegor
d18b500840 remove the no longer needed ignore: cancel_subscriptions (#7542)
This has been fixed: https://github.com/dart-lang/linter/issues/317
2017-01-19 10:59:43 -08:00
Phil Quitslund
8dc1634be5 Stop building unlinked summaries for packages. (#7538)
Stop building (unused) unlinked summaries for packages.

Improves update speed considerably (for `n` packages it saves us `n` needless calls to `pub get`).
2017-01-19 09:11:41 -08:00
Phil Quitslund
41251d2450 Update to Dart SDK 1.22.0-dev.8.0. (#7461)
* Update to Dart SDK `1.22.0-dev.6.0`.

* Update SDK summary generation to create spec and strong summaries.

* Updated to dev.8.0.

* Fixed console out.
2017-01-17 09:50:52 -08:00
Todd Volkert
55beaef743 Ignore only ENOTTY when setting stdin.lineMode (#7472) 2017-01-12 16:14:37 -08:00
Devon Carew
6737712067 relax timeouts for some service protocol calls (#7468)
* relax timeouts for some service protocol calls

* remove 'note that' text
2017-01-12 14:03:04 -08:00
Todd Volkert
4f9e5c8dc7 Fix race condition in coverage collection (#7455)
Previously, it was possible for the test harness to bail
and the test runner to complete before the platform plugin
triggered the collection of coverage data. This fixes the
race condition such that the pending coverage collection
task is recorded immediately after starting the process.
2017-01-12 13:58:19 -08:00
Devon Carew
7f2915d331 ignore exceptions from stdin.lineMode (#7439)
* ignore exceptions from stdin.lineMode

* only catch IOException
2017-01-11 10:54:42 -08:00
Todd Volkert
a0666f330e Update Process.exitCode setter to not use @override (#7434)
As of Dart SDK 1.22.0-dev.5.0, `Process.exitCode` is no longer
mutable (that SDK version picks up e5a16b1ca5).
This change allows the tools code to pass analysis in sdk versions both
before and after that change, to allow for analysis against both the host and
target sdks.
2017-01-10 21:33:04 -08:00
Yegor
7a10ed9315 Revert "Bump to Dart SDK 1.22.0-dev.5.0 (#7382)" (#7435)
This reverts commit ef25a20337 to unbreak the build.
2017-01-10 18:14:58 -08:00
Phil Quitslund
ef25a20337 Bump to Dart SDK 1.22.0-dev.5.0 (#7382)
* Bump Dart SDK to 1.22.0-dev.5.0.

* Suppress spurious `FutureOr` type warning.

* Fixed linter dep post merge.

* Formatting tweaks.
2017-01-10 14:55:31 -08:00
Todd Volkert
1ccbf8f00d Use FileSystem.pathSeparator instead of Platform.pathSeparator (#7417) 2017-01-10 13:17:20 -08:00
Jason Simmons
90d18fa808 Fix the type of the default project root path (#7422) 2017-01-10 12:08:33 -08:00
Adam Barth
b9f49a40f7 Handle missing flutter_test dependency cleanly (#7421)
We now produce a more reasonable error message when we're missing the
flutter_test dependency in a test. Also, remove the flutter_tools stack traces
when the engine dies.

Fixes #6187
2017-01-10 11:31:24 -08:00
Todd Volkert
e2847c7221 Fix type passed to printError() (#7416)
Fixes #7413
2017-01-10 10:38:12 -08:00
Jason Simmons
8af5520f56 Do not print stack traces for DevFS write request failures (#7405)
Each stack trace will yield many async task stacks for every write request
that is in flight.  If the device side is unresponsive and all writes are
failing, then this can generate an overwhelming amount of logs.
2017-01-10 10:30:22 -08:00
John McCutchan
6a63af4081 Rebuild Android apk when Dart source is modified (#7345)
- [x] Wire up dependency checker and plumb flags down to the right place

Fixes #7014
2017-01-10 07:59:55 -08:00
Jason Simmons
fb8179bfed Remove a misfiring assert in the test framework plugin (#7397)
Fixes https://github.com/flutter/flutter/issues/7351

When a test runs to completion, the test harness closes the stream side of the
StreamChannel, causing the sink side to be closed as well.  So by the time we
receive a test result of completed/harnessBailed, the controller sink has been
closed.
2017-01-09 16:52:00 -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
Todd Volkert
1c43c4e24d Bump package:file version to 1.0.0 (#7371) 2017-01-05 18:42:57 -08:00
Devon Carew
49ebb3e266 hide some options from flutter -h (#7288) 2016-12-19 15:21:06 -08:00
John McCutchan
2546259a64 DependencyChecker with tests (#7268)
- [x] Introduce DependencyChecker which can determine if any dependencies have been modified.
- [x] Move the DartDependencyBuilder into a separate file.
- [x] Add unit tests for DartDependencyBuilder.
- [x] Add unit tets for DependencyChecker

Part of #7014
2016-12-15 15:05:15 -08:00
Ian Hickson
971ca4b835 Check exit code for test subprocess (#7269) 2016-12-15 13:43:45 -08:00
Ian Hickson
502592e56c Revert "Use test fonts in the test shell and remove custom font installation on Travis." (#7265) 2016-12-15 11:01:39 -08:00
Jason Simmons
f2342a6141 Provide an empty asset manifest if the FLX does not contain any assets (#7243)
Without this, an FLX with no assets may be completely empty in AOT mode.
This will result in a warning when the engine's unzip library tries to
parse the FLX.

Fixes https://github.com/flutter/flutter/issues/7060
2016-12-13 13:43:28 -08:00
Jason Simmons
8782d95c6a Check the type of a hot reload report message (#7249)
See https://github.com/flutter/flutter/issues/7248
2016-12-13 13:43:19 -08:00
Chinmay Garde
3bc6a1bf6f Use test fonts in the test shell and remove custom font installation on Travis. (#7250) 2016-12-13 12:18:02 -08:00
Yegor
25e6cc6743 tools: add timeout to VM service client (#7175) 2016-12-12 10:58:21 -08:00
John McCutchan
05866a27ed Add fine grained hot reload benchmark timers (#7237) 2016-12-12 10:27:05 -08:00
Devon Carew
bf25b31a65 some updates to the launch verbiage (#7236) 2016-12-12 09:31:58 -08:00
Jason Simmons
37d78753a2 Propagate exceptions when parsing invalid JSON received from VM service RPCs (#7222)
The default rpc.Peer constructor was applying a transformer that filters
out these errors.

See https://github.com/flutter/flutter/issues/7174
2016-12-09 11:38:38 -08:00
Todd Volkert
69bcfc082f Minor touch-ups in ProcessManager impls (#7196) 2016-12-08 09:51:05 -08:00
Todd Volkert
622e4396c9 Add tests for nested contexts (#7197)
This tests against the failure that was fixed in #7189
2016-12-08 09:39:32 -08:00
Todd Volkert
1155f96651 Add tests for process_manager.dart (#7178) 2016-12-07 21:03:58 -08:00
Todd Volkert
a4f2ad984d Fix context.dart to properly handle nested zones (#7189)
This fixes an infinite loop in the code that walks the parent
context chain looking for a variable.

This also includes a fix in build_info.dart whereby if the context
is set but the config is not yet set, we were trying to dereference
null.
2016-12-07 19:51:27 -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
Collin Jackson
211fefc217 rename Sky to Flutter and add clarifying comment to template (#7165)
* s/sky/flutter/ in Android templates

* update engine.version with a compatible engine version

* replace more SkyActivity references with FlutterActivity
2016-12-06 16:03:32 -08:00
Dan Rubel
b265a8f5e4 setup protocol discovery before launching simulator (#7172) 2016-12-06 12:41:55 -08:00
Dan Rubel
cb6bfe39aa shorten exception info sent to analytics (#7169) 2016-12-06 12:16:49 -08:00
Todd Volkert
7536404b20 Add --replay-from argument to Flutter tools (#7146)
This argument will enable mocking of os-layer process invocations,
where the mock behavior will come from replaying a previously-
recorded set of invocations. At the point of process invocation,
the key metadata for the invocation will be looked up in the
recording's manifest, and iff a matching record exists in the
manifest, the process will be mocked out with data derived from
the corresponding recorded process (e.g. stdout, stderr, exit code).
2016-12-06 10:09:00 -08:00
Dan Rubel
93e662abaa Cleanup common port forwarding code (#7142)
This moves the various copies of port forwarding code in the Device subclasses into the ProtocolDiscovery class.

* move port forwarding to a common location
* throw exception if protocol Uri is not discovered or port forwarding fails
* cancel discovery protocol subscriptions on iOS launches (wasn't happening before)
* fix iOS port forwarding to match other implementations
* add tests
2016-12-06 09:19:12 -08:00
Dan Rubel
ba309b2668 degrade gracefully if flutter doctor cannot read directory (#7167) 2016-12-06 08:28:40 -08:00
Chinmay Garde
4efb428254 Unconditionally enable Dart profiling on for all devices and platforms. (#7159)
It is not enabled by default in the VM because applications not launched via the tools may try to connect with the debugger. This causes the debugger and the IDE to hang on Mac.
2016-12-05 13:48:41 -08:00
Dan Rubel
a3caafe83c update flutter doctor to display versions for installed IntelliJ plugins (#7125) 2016-12-02 18:16:04 -05:00
Todd Volkert
c9e7782adb Add --record-to option to flutter tools (#7136)
* Add --record-to option to flutter tools

This option will cause flutter tools to record all process
invocations that occur and serialize their stdout and stderr
to files that get added to a "recording" ZIP file. This is
part of an effort to be able to test flutter tools in a hermetic
environment.

As a side-benefit, this recording should prove an excellent
attachment to any bug report.
2016-12-02 13:39:54 -08:00
Dan Rubel
a9584e1214 Handle new observatory url (#7061)
* reapply handle new Observatory URL changes
Fixes https://github.com/flutter/flutter/issues/6843

* allow non numeric IPv4 addresses
Fixes https://github.com/flutter/flutter/issues/7051
2016-11-30 20:29:04 -05:00
Todd Volkert
df675f45ee Fix Fuchsia build (#7105) 2016-11-30 10:06:48 -08:00
Todd Volkert
60b19b2035 Create abstraction layer for dart:io's Process commands (#7100)
With this change, they're run via instance methods on an object
obtained through the context. This will allow us to substitute
that object in tests with replay/record versions to allow us to
mock out the os-layer in tests.
2016-11-30 08:42:42 -08:00
John McCutchan
618030e044 More AppContext cleanups (#7073) 2016-11-29 11:22:48 -08:00
John McCutchan
f27b0611f4 Handle SIGUSR1/SIGUSR2 spamming gracefully (#7069) 2016-11-29 09:56:38 -08:00
John McCutchan
0b737ac57b Remove default AppContext and cleanup globals (#6999) 2016-11-29 07:54:20 -08:00
Dan Rubel
fcf41fc737 revert handle new Observatory URL (#7056)
737a55ef3e
2016-11-28 16:15:19 -05:00
Dan Rubel
737a55ef3e handle new Observatory URL (#6992) 2016-11-28 11:36:20 -05:00
Ian Hickson
27cceff20d Allow debugPaintSizeEnabled to be toggled from the runner (#7028) 2016-11-27 23:50:20 -08:00
Devon Carew
1d4292f750 filter message about front_end (#7001) 2016-11-23 09:14:46 -08:00
John McCutchan
b8403c7c91 Install prebuilt iOS applications before running them (#7000) 2016-11-23 07:33:33 -08:00
John McCutchan
26432eba30 Boot the application directly even when hot reloading. (#6948)
- [x] Remove the two stage initial boot process.
- [x] Remove the loader screen app.
- [x] Don't report reload times for the initial reload because we are
switching from a snapshot to source and that will always be worst case.
2016-11-22 14:16:20 -08:00
Devon Carew
5658577475 pass through the ws debugging uri (#6989) 2016-11-22 13:18:35 -08:00
Todd Volkert
ec7c49e4b6 Introduce log filtering whitelist for iOS simulator (#6973)
#6972
2016-11-22 10:47:24 -08:00
Dan Rubel
4828b2c377 fix flutter tools daemon exit code check (#6981) 2016-11-22 09:36:50 -05:00
John McCutchan
b40b54e301 Do not process a command from the terminal if we are still processing a command (#6966) 2016-11-21 14:09:37 -08:00
John McCutchan
c1a3100e4c Remove all the Android specific special cases from the runners (#6957)
- [x] Make iOS and Android application startup paths consisitent.
- [x] Remove the now unncessary Android specific special cases from the runners.
2016-11-21 14:01:35 -08:00
John McCutchan
98016b1c4a Cleanup application startup on Android devices (#6949)
- [x] Stop unnecessarily building the flx a second time on startup.
- [x] Stop unncessarily copying the flx to the device a second time on startup.
- [x] Remove `startBundle` and move logic into `startApp`.
2016-11-21 09:21:49 -08:00
Todd Volkert
d9a0de3747 Use InternetAddress instead of String (#6922) 2016-11-17 23:07:20 -08:00
Todd Volkert
9cb914df17 Allow for application-specific log readers. (#6898)
* Allow for application-specific log readers.

When running with prebuilt application binaries, those applications
aren't guaranteed to be named "Runner" (as it is when we build
the app locally in Flutter tools)
2016-11-16 17:19:00 -08:00
John McCutchan
ae1881e4c7 Fix handling of empty --project-assets option (#6873) 2016-11-15 13:47:57 -08:00
Devon Carew
15ea399fdd add identifiers to progress messages (#6868) 2016-11-15 12:13:56 -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
Ian Hickson
fd5a08941e Clarify pub.dart messages (#6856) 2016-11-14 16:54:24 -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
Dan Rubel
90f7afcbcf flutter doctor show one intellij install per location (#6820) 2016-11-13 22:03:56 -05:00
John McCutchan
45c95b261d Performance fixes for hot reload when using a prebuilt loader (#6821) 2016-11-11 13:28:21 -08:00
Dan Rubel
cccd917ac2 Refactor flutter command exit code - part 1 (#6803)
* convert flutter commands to use ToolExit for non-zero exit code
* add convenience method throwToolExit
* print ToolExit message iff not null
2016-11-11 10:42:09 -05:00
Dan Rubel
b04f35e8c0 Revert "trace IntelliJ config and install locations on Linux (#6805)" (#6816)
The added printTrace statements are causing problems when running tests locally on Linux.
This reverts commit 546cef5277.
2016-11-11 09:44:08 -05:00
John McCutchan
f172f0675d Miscellaneous cleanups (#6813)
- [x] Return the reload message even when paused at a breakpoint.
- [x] Only initialize context members if they aren't already initialized.
2016-11-10 15:28:19 -08:00
Dan Rubel
546cef5277 trace IntelliJ config and install locations on Linux (#6805) 2016-11-10 15:48:49 -05:00
John McCutchan
e908655207 Remove legacy restart support (#6801) 2016-11-10 11:12:59 -08:00
John McCutchan
83be3e599f Stop tracking time to first frame because it is unreliable. (#6800)
- [x] Stop tracking time to first frame because it is unreliable.
- [x] Track time to complete reassemble instead.
2016-11-10 10:38:11 -08:00
Todd Volkert
74e31679fb Respect the --no-codesign flag even for simulators (#6799) 2016-11-10 10:30:17 -08:00
John McCutchan
11ca0f1ada Support caching host filesystem symlink targets to speedup DevFS updates (#6798) 2016-11-10 08:31:11 -08:00
John McCutchan
958d2a6fb8 Abort a hot reload if we detect an error in flutter.yaml (#6787) 2016-11-09 18:13:06 -08:00
Ian Hickson
f75e6074a8 Minor stylistic cleanup in flutter_tools/lib/src/dart/summary.dart (#6788)
I was in here trying to figure out why we rebuild sky_services (the
answer is, because we rebuild every package we've ever downloaded, but
that's not really a problem for new users so whatever), and while I
was here I did some cleanup.
2016-11-09 18:10:40 -08: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
Ian Hickson
64609588f4 Fix the hot reload colors to look better (#6753) 2016-11-08 15:16:46 -08:00
Dan Rubel
6331b6c8b5 revert args to 0.13.6 (#6765) 2016-11-08 17:15:11 -05:00
Dan Rubel
fb03b3137e Improve error message if update cache interrupted during download (#6740) 2016-11-08 08:02:06 -05:00
Ian Hickson
04e7446b2b Make the fire red on black-and-white terminals (#6748) 2016-11-07 15:48:50 -08:00
Dan Rubel
974da47481 send app.progress events (#6744) 2016-11-07 17:55:45 -05: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
Jason Simmons
54d76518ac Continue showing status messages after a startProgress completes (#6720) 2016-11-05 22:47:33 -07:00
Ryan Macnak
34fdc44b58 AOT Android: Don't use integer division instructions. (#6714) 2016-11-04 15:48:46 -07:00
P.Y. Laligand
9b7764d48f Added an option to allow default fonts to not be packed in an flx file. (#6710)
Fonts should never be bundled on Fuchsia.
2016-11-04 14:06:44 -07:00
Devon Carew
fcfb2a5c55 Better progress (#6677)
* make showElapsedTime default to true

* support nested progresses

* improve hot reload message

* rethrow
2016-11-03 13:28:17 -07:00
Dan Rubel
1f1adcaa0e refactor app.* daemon events (#6679) 2016-11-03 14:29:56 -04:00
Jason Simmons
984b62390c Fix builds of FLX bundles using AOT compilation (#6684) 2016-11-03 10:48:57 -07:00
Dan Rubel
d86900d22f Update flutter doctor text (#6682) 2016-11-03 13:17:35 -04:00
John McCutchan
594c4f998a Only synchronize used Dart sources to DevFS. (#6668)
- [x] Remove the second full-sync on startup.
- [x] Always invoke the snapshotter to determine the minimal set of Dart sources used.
- [x] Only synchronize the *used* Dart sources to DevFS.
- [x] Detect syntax / file missing errors on the host and gate reloads / restarts.
2016-11-03 15:19:57 +01:00
Petr Hosek
93a2d07c63 Use prebuilt Dart snapshot when assembling bundle (#6660)
This is causing issues when integratting Flutter into GN as the
generated depfile refers to snapshot as the target instead of the
bundle. We instead use a separate GN action to generate the
snapshot use the Flutter compiler to only assemble the bundle.
2016-11-02 14:37:42 -07: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
Ian Hickson
5097fd4f50 Prettier help in tool (#6637) 2016-11-02 11:29:01 -07:00
Dan Rubel
819ac27db3 Merge skia into screenshot (#6623)
* merge `flutter skia` into `flutter screenshot`
* improve skia failed error message
* update help text - how to find diagnostic port for skia
* improve error message if skia capture fails
2016-11-02 14:27:49 -04: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
John McCutchan
751539c86a Manually filter old android device log messages instead of relying on -T. (#6630)
Fixes https://github.com/flutter/flutter/issues/6280
2016-11-01 23:47:47 +01:00
Adam Barth
67f591000f Mentions flutter packages get rather than pub get (#6625)
Fixes #6417
2016-11-01 13:27:06 -07:00
Devon Carew
e6da16bbf0 Handle release stop (#6493)
* implement app.stop() for release runs

* update comment
2016-11-01 13:01:03 -07:00
Todd Volkert
0206a9150f Add "android-stable" as a named version (#6620) 2016-11-01 12:28:47 -07:00
Devon Carew
b9e7ee88d8 Remove atom check (#6605)
* remove the validator check for atom

* remove the atom launch config

* review comments
2016-11-01 11:46:30 -07:00
John McCutchan
5f57d87aa3 Disable features of flutter run that depend on the service protocol when running in release mode (#6571) 2016-11-01 15:50:47 +01:00
Ian Hickson
5fb692124c Loader improvements (#6615) 2016-10-31 21:58:27 -07:00
Ian Hickson
a33b70ed33 Clean up 'flutter run' output. (#6610)
Fixes #4166.
Fixes #5120.
Fixes #5399.
Fixes #6507.
2016-10-31 21:57:59 -07:00
Jason Simmons
960989e943 Remove "Instance of ServiceEvent" logs from flutter tool (#6600) 2016-10-31 14:14:51 -07:00
Dan Rubel
b60d096bbb show install progress during flutter run (#6594) 2016-10-31 13:56:00 -04:00
Adam Barth
030f623a84 Prevent flutter create from running inside SDK (#6587)
Fixes #6480
2016-10-28 20:29:19 -07:00
Adam Barth
70eb4929af Stop downloading sky_services and flutter_services (#6583)
These aren't needed anymore.
2016-10-28 16:25:05 -07:00
Adam Barth
7e539fea01 Remove flutter run_mojo (#6584)
This command is no longer needed. Also, remove some stray references to Mojo.
2016-10-28 16:24:57 -07:00
Phil Quitslund
639ba0ddcb Bump Dart SDK to latest (1.21.0-dev.2.0). (#6541) 2016-10-28 17:56:55 +02:00
Dan Rubel
311d371a97 display ANDROID_HOME env var in flutter doctor (#6558) 2016-10-27 22:24:50 +01:00
Dan Rubel
abb0a14ace remove Atom from the list of IDE support to install (#6556) 2016-10-27 22:23:19 +01:00
Dan Rubel
7acc996547 update Android device detection to handle adb error messages (#6521) 2016-10-27 12:06:47 +01:00
Dan Rubel
ca90656fba catch VMService connection exception (#6526) 2016-10-27 09:14:41 +01:00
Dan Rubel
0b49d81cb2 flutter devices/doctor report Android (and iOS) version (#6545)
* refactor device descriptions method - easier to add columns
* show device SDK version
2016-10-27 09:07:21 +01:00
Dan Rubel
949e27ae8f improve flutter create error message (#6525) 2016-10-26 19:11:55 +01:00
Ryan Macnak
2ac7d67e6a Roll Dart VM. (#6472) 2016-10-25 10:40:54 -07:00
Dan Rubel
310b805335 remove WebStorm from list of supported IDEs (#6519) 2016-10-25 15:37:10 +01:00
Jason Simmons
5a9b8b77e5 Do not print the output of the package dependency tool during hot reload (#6494) 2016-10-24 16:07:29 -07:00
Chris Bracken
d4c2481e37 Fix doc comments typos (#6499) 2016-10-24 13:03:15 -07:00
Wyatt Arent
0838ef7d0b logger use milliseconds instead of seconds for reporting elapsed time (#6487)
* logger use milliseconds instead of seconds for reporting elapsed time (#5400)

* Update authors (#5400)

* Remove unnecessary comment
2016-10-23 09:54:08 -07:00
Wyatt Arent
c176346ec4 Fix Missing newline in flutter run help (#6485)
Issue #6461
2016-10-22 22:24:59 -07:00
Jason Simmons
022cb2d9dc Do not buffer logs in the verbose logger (#6465)
With the old policy the most recent log would not be printed until the next
log is produced (which may be indefinitely).  This change prints logs
immediately along with a time delta since the previous log.
2016-10-21 16:54:59 -07:00
Todd Volkert
379b1030d7 Rollback commits to get iOS into a stable state (#6464)
* Rollback commits to get iOS into a stable state

This rolls back the following commits:
* 23c52fc (#6434)
* a97cf4b (#6433)
* e72e174 (#6428)

It also updates the engine to a newer revision that has the
necessary rollbacks in the engine repo.

Fixes #6458
2016-10-21 16:10:44 -07:00
Chinmay Garde
f3ca11042e Bump up the timeout on port acquisition and forwaring to 60 seconds. (#6468)
It takes a little bit longer that 10 seconds to install, launch and
have the observatory be available on an iPod touch. Depending on the
size of the application, it could be a lot longer to transer the
bundle over the wire. The 60 seconds is arbitrary.
2016-10-21 16:07:39 -07:00
Devon Carew
55a374d46b Reload pause (#6459)
* add a pause parameter to the reload command

* encode OperationResult as json

* reverse isOk logic
2016-10-21 16:07:19 -07:00
John McCutchan
23c52fc7a1 Handle errors thrown while doing a DevFS sync via HTTP PUT. (#6434) 2016-10-20 13:21:42 -07:00
Jason Simmons
1b2049eff4 Fix app refresh on Android in no-hot-reload mode (#6435)
Also remove the obsolete "flutter refresh" command
2016-10-20 12:37:04 -07:00
Ryan Macnak
a97cf4b579 Adapt to vm isolate and isolate snapshot pieces being emitted as assembly. (#6433) 2016-10-20 12:11:31 -07:00
Devon Carew
f1d70fcdd3 create intellij metadata from flutter create (#6429) 2016-10-20 12:03:38 -07:00
John McCutchan
e72e174461 Encode DevFS filenames so they are safe for http headers (#6428) 2016-10-20 10:50:25 -07:00
John McCutchan
dd52b7c5cb Use Chain.capture instead of RunZoned (#6420) 2016-10-20 09:40:00 -07:00
Dan Rubel
28384787d1 search for IntelliJ on Mac in /Application and sub folders 1 level deep (#6419) 2016-10-20 12:01:29 -04:00
John McCutchan
9112823802 Do not reassemble the application after a hot reload if the isolate is paused (#6370) 2016-10-20 07:30:24 -07:00
Adam Barth
c074265298 Add support for building on Fuchsia (#6415)
This patch makes it possible to build Flutter apps that use the framework on
Fuchsia.
2016-10-20 01:32:45 -07:00
Jason Simmons
edbe034847 Specify the algorithm used to sign APK packages (#6404)
Required for compatibility with older versions of Android
2016-10-19 16:10:46 -07:00
Phil Quitslund
57044c2a63 Bump to Dart SDK 1.21.0-dev.0.0. (#6372)
Bump to latest Dart SDK dev build (`1.21.0-dev.0.0`).

* updates to analyzer w/ support for bazel workspaces
* removes deprecated analysis `cacheSize` variable access
2016-10-18 13:38:13 -07:00
Yegor
88e065de86 driver: forward device logs to local console (#6360)
Fixes #4261
2016-10-17 14:52:46 -07:00
Devon Carew
e9b041f21e don't run the summary code if the upgrade fails (#6350) 2016-10-16 10:05:13 -07:00
Todd Volkert
cedbfd4896 Don't crash if we fail to get the flutter or engine revision (#6332) 2016-10-14 15:43:44 -07:00
Chris Bracken
4a3cd61044 Execute flutter doctor on upgrade (#6330)
Ensure that any new/changed doctor checks are evaluated and reported
post upgrade.
2016-10-14 12:57:37 -07:00
Adam Barth
9a136b8722 Reduce logspam on iOS simulator (#6327)
Fixes #6311
2016-10-14 11:06:10 -07:00
Ian Hickson
71e05ff8f2 Clarify output of flutter create (#6305)
Previously it implied that you had to always say lib/main.dart in the "flutter run" command.
2016-10-13 21:21:59 -04:00
Todd Volkert
904d524313 Add support for --use-application-binary on iOS (#6318)
Fixes #6283
2016-10-13 16:17:50 -07:00
Dan Rubel
e20ee045ba Flutter doctor detect IntelliJ on Mac (#6262)
* cleanup obtaining user home directory path
* refactor doctor and detect IntelliJ on Mac
* fix detect Flutter plugin for IntelliJ
2016-10-13 10:44:20 -04:00
Devon Carew
8f0f19a5e2 increase the port check iteration count (#6301) 2016-10-12 23:48:08 -07:00
Chris Bracken
3884077609 Improve doctor reporting for iOS toolchain (#6289)
Previously, overall status was reported as good if Xcode and homebrew
were installed, even if there were issues with either of the tools. We
now report partial status if we detect issues with either installation.
2016-10-12 14:19:31 -07:00
Jason Simmons
2805e5f8b8 Remove logs about unrecognized service protocol object types (#6278) 2016-10-12 09:41:35 -07:00
Dan Rubel
cd65b7902c switch to package:mustache (#6273) 2016-10-11 17:44:12 -04:00
John McCutchan
be22f0d2b2 Don't show restart help text when running from a prebuilt app (#6269) 2016-10-11 12:52:48 -07:00
John McCutchan
87ba8699cb Don't try to update the cache if locking is disabled (#6258) 2016-10-10 15:25:01 -07:00
Dan Rubel
94a83af5b1 Cleanup bin/cache (#6247) 2016-10-07 15:24:19 -04:00
Adam Barth
2c21d795a4 Deploy @checked (#6244)
This patch adds `@checked` everywhere is needed to remove the
`strong_mode_invalid_method_override` strong mode error.
2016-10-07 11:27:54 -07:00
Dan Rubel
7745dd73c7 improve flutter tool error message for download problems (#6238) 2016-10-06 17:49:14 -04:00
Yegor
3c40c85506 simplify lockfile-related message; move details to verbose level (#5556) 2016-10-06 10:11:54 -07:00
Dan Rubel
3136620427 Flutter doctor detect intellij on Linux (#6227) 2016-10-05 18:00:30 -04:00
Dan Rubel
aed056c64b remove flutter listen (#6198) 2016-10-05 14:11:41 -04:00
Phil Quitslund
e44f6fe478 Bump Dart SDK to 1.20.0-dev.10.0. (#6212)
* Bump Dart SDK to `1.20.0-dev.10.0`.

`1.20.0-dev.10.0` corresponds to `1.20-RC0`.

* pubspec.lock cleanup

* check for pubspec.lock existence

* cleaned up conditional remove
2016-10-05 09:05:15 -07:00
Devon Carew
95fa9e3c55 Less chatty (#6213)
* make flutter create less chatty

* output generated file count; mention lib/main.dart
2016-10-05 08:26:17 -07:00
Devon Carew
b00e6cda66 tweak the device description for emulators (#6214) 2016-10-04 20:29:10 -07:00
Dan Rubel
55bc771f58 flutter devices indicate which are simulators (#6200) 2016-10-04 13:07:42 -04:00
Dan Rubel
9f673ad445 flutter analyze --watch (#6093) 2016-10-04 08:20:24 -04:00
Dan Rubel
8b164d7c46 improve "no device connected" message after "flutter run" (#6179) 2016-10-03 22:19:58 -04:00
Jason Simmons
35de41d648 Require the diagnotic-port flag on the flutter skia command (#6174)
The diagnostic port forward can be arbitrarily assigned and typically
is not the default

Fixes https://github.com/flutter/flutter/issues/5867
2016-10-03 11:24:18 -07:00
Dan Rubel
08d788099b Prevent "install XCode" dialog when flutter doctor is run (#6164)
fixes https://github.com/flutter/flutter/issues/6163
2016-10-02 12:23:03 -04:00
P.Y. Laligand
b4e379ad6c Goodbye "build mojo", we hardly knew ye. (#6162) 2016-10-01 08:50:04 -07:00
P.Y. Laligand
030b110f69 New "build mojo" command to build flx files for Fuchsia. (#6112) 2016-09-30 10:23:33 -07:00
Devon Carew
d3d9e1cadb use less granular progress (#6130)
* use less granular progress

* update restart text
2016-09-29 15:02:17 -07:00
John McCutchan
8da84b1c2d Make flutter tools crash log writing fail gracefully (#6122) 2016-09-28 12:44:18 -07:00
Devon Carew
d9bbd2fb53 make app ids more unique (#6113)
* make app ids more unique

* in-line the uuid class
2016-09-28 11:18:05 -07:00
Chris Bracken
e6ed26d658 Doctor check for libimobiledevice/Xcode compatibility (#6111)
libimobiledevice 1.2.0 is incompatible with Xcode >= 8.0. Since the
libimobiledevice tools don't include a --version flag, check for valid
exit code on running idevicename, if an iOS device is connected.
2016-09-28 10:01:07 -07: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
cf794f42ef return info about whether a device is an emulator (#6114) 2016-09-28 01:10:40 -07:00
Devon Carew
f7d501024c share a common default for enabling hot reload (#6081) 2016-09-26 19:02:04 -07:00
Chris Bracken
c5567a5fd2 Fix race condition locating observatory port on iOS (#6090)
Ensure that we're monitoring logs before we launch the app on the
device. This prevents the case where we start monitoring after the ports
have already been logged.

Also update the regex to use an optional capture group.
2016-09-26 17:12:20 -07:00
Chris Bracken
a45e4e923c Support Xcode variable substitution in Info.plist
As of Xcode 7, Apple recommends setting CFBundleIdentifier to
$(PRODUCT_BUNDLE_IDENTIFIER).
2016-09-26 15:04:07 -07:00
Devon Carew
20e9fbfe6d fix an encoding issue with calling adb shell getprop (#5740)
* fix an encoding issue with calling adb shell getprop

* move code in catch block

* add a test

* switch to LATIN1 encoding
2016-09-26 12:47:34 -07:00
Jason Simmons
0fb35fad43 Update the local engine paths to match the latest build files (#6074) 2016-09-26 11:21:43 -07:00
Devon Carew
fa52b456ec set the FLUTTER_ROOT env var when invoking pub (#6041) 2016-09-25 19:30:44 -07:00
Chris Bracken
fea4a91ab6 Flutter run support for iOS 10 (#6028)
With iOS 10, the syslog format changed from:
Sep 23 16:04:17 cbracken-iPhone Runner[6188] <Info>: .*

to:
Sep 23 16:04:17 cbracken-iPhone Runner(libsystem_asl.dylib)[6188] <Info>: .*

This updates the observatory port scraping to handle either case.
2016-09-23 16:59:03 -07:00
Devon Carew
4c1e4a24ae allow daemon app launches to be more lenient about device ids (#6015) 2016-09-23 08:52:10 -07:00
Dan Rubel
133a9c35db extract flutter watch from flutter analyze (#6012) 2016-09-23 09:03:23 -04:00
Ian Hickson
7a0f3d3405 Remove a sketchy override of a field (#6009)
The way this was implemented is sketchy, especially in strong mode.
2016-09-22 16:07:56 -07:00
Devon Carew
8755e569ca suppress pub override warning; decouple the analyzer versions (#5991)
* suppress warning; decouple the analyzer versions

* also pass in --no-packages-dir
2016-09-22 07:40:38 -07:00
Dan Rubel
74f50bfbe6 improve the default help to include common actions (#5980) 2016-09-22 06:03:32 -04: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
James Robinson
a95c9fdb58 Isolate imports of generated Dart code from generated path (#5960)
This rewrites imports of various mojom.dart files from the Flutter
engine repo to instead import normal-looking dart files from the
(new) flutter_services package. This package handles exporting the
correct symbols from generated code wherever that may live.

Includes an engine roll to 3551e7a48e2e336777b15c7637af92fd7605b6c5
which contains the new flutter_services package.
2016-09-21 14:00:29 -07:00
John McCutchan
035afc2c25 Properly handle symlinked source files in hot mode (#5978) 2016-09-21 11:24:29 -07:00
Dan Rubel
80d46a893d update flutter run --release to launch and exit (#5942) 2016-09-20 14:41:09 -04:00
Phil Quitslund
2d4d171338 Roll to Dart SDK 1.20.0-dev.5.0. (#5911)
* Roll to Dart SDK `1.20.0-dev.5.0`.

* bumps to `1.20.0-dev.5.0`.
* updates `analyzer` API use.

* Add explicit types.
2016-09-16 16:30:34 -07:00
Dan Rubel
573eaf0b71 diagnost XCode signing errors and offer suggestions (#5913)
Fixes https://github.com/flutter/flutter/issues/5775
2016-09-16 17:59:43 -04:00
Phil Quitslund
fffde14f64 Update tools to use analyzer from vended Dart SDK. (#5900)
* Update tools to use `analyzer` from vended Dart SDK.

* updates `flutter_tools` and `flutter_test` to use the SDK-vended `analyzer` package
* tweaks dependency tracking logic to only record the SDK-vended `analyzer` so as not to crash on spurious conflicts (due to transitive dependencies)

* Review fixes.
2016-09-16 11:06:17 -07: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
24ab837240 Support hot reload for applications that don't use the framework (#5868) 2016-09-15 13:18:32 -07:00
Dan Rubel
cc1755aac9 move all analysis options to repo root (#5882)
This moves all of the various .analysis_options* files to the flutter repo root so that it's easier to
* remember to keep them all in sync, and
* easily refer customers to them
2016-09-15 11:59:46 -04:00
John McCutchan
fd50ccdd95 Enable hot mode by default. --no-hot disables it (#5794) 2016-09-13 14:38:05 -07:00
Dan Rubel
672d04e0d0 close sinks cleanup (#5838)
part of https://github.com/flutter/flutter/issues/5789
2016-09-13 14:15:36 -04:00
Dan Rubel
bad957d457 remove unused methods (#5837)
cleanup https://github.com/flutter/flutter/issues/5789
2016-09-13 12:01:04 -04:00
Konstantin Scheglov
0774a6748e Build unlinked summaries for packages on upgrade. (#5816)
* Build unlinked summaries for packages on upgrade.

* Iterate through the packages in folders.

* Rollback the debug change.
2016-09-12 13:58:32 -07:00
Dan Rubel
678da3ac2b cancel open subscription (#5824)
fixes https://github.com/flutter/flutter/issues/5788
2016-09-12 16:32:08 -04:00
Adam Barth
4ea8f302ab Teach flutter upgrade to switch to master (#5827)
To avoid orphaning people on the deprecated alpha branch, this patch teaches
`flutter upgrade` to switch to the master branch.
2016-09-12 13:25:57 -07:00
John McCutchan
718a88d06e Add a --benchmark mode to hot run (#5787) 2016-09-12 12:19:08 -07:00
Chinmay Garde
ffe5700948 Shell instances launched by the tools from the desktop are always non-interactive. (#5778)
In that they never create a window with an OpenGL context and the works.
2016-09-09 16:31:49 -07:00
Chris Bracken
17c7118ab6 Use runCommandAndStreamOutput() to launch driver (#5806)
... in place of manual process wrangling.
2016-09-09 16:08:59 -07:00
Chris Bracken
726d31689d drive: Replace manual pub get with usesPubOption() (#5803) 2016-09-09 15:04:01 -07:00
Chris Bracken
e7601e3fa5 Use .packages for flutter driver tests (#5795)
Fixes flutter drive breakage introduced in d2fda677e1.
2016-09-09 13:57:16 -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
Phil Quitslund
d2fda677e1 Update to Dart 1.20.0-dev.1.0. (#5689)
* Udpate to Dart `1.20.0-dev.1.0`.

Udpate to Dart `1.20.0-dev.1.0` and corresponding `analyzer` package.

* Added `--no-packages-dir`.

* Revert extension to master.

* Added ignores.

* Review nits.

* More nits.
2016-09-08 13:14:08 -07:00
Dan Rubel
3ed3390d0c flutter analyze repo analysis options (#5707)
This updates the flutter analyze command to use the .analysis_options_flutter_analyze in the repo root when either the --flutter-repo flag is supplied or the sources being analyzed reside in the flutter repo.
2016-09-07 22:41:59 -04:00
Chris Bracken
a69c11f349 Replace hardcoded iOS build dir with config-driven lookup (#5732)
Related: b5f763b45e
2016-09-02 17:01:11 -07:00
Dan Rubel
023b7de11f show device list in flutter doctor output (#5697)
* show device list in flutter doctor output
fixes https://github.com/flutter/flutter/issues/5625
2016-09-01 17:55:16 -04:00
Dan Rubel
ef79e7a1c0 improve device matching error message (#5693)
* improve device matching error message
fixes https://github.com/flutter/flutter/issues/5675
2016-09-01 12:37:58 -04:00
Dan Rubel
e20ec2becb implement flutter format (#5606)
Implement flutter format, fixes https://github.com/flutter/flutter/issues/5338
2016-08-31 09:40:17 -04:00
Jason Simmons
4aba536aa9 Support x86/x64 targets in the build apk command (#5660)
Fixes https://github.com/flutter/flutter/issues/5592
2016-08-30 14:13:47 -07:00
Dan Rubel
83bf5d10c0 fix getDeviceById to match exact name (#5657)
* fix getDeviceById to match exact name
fixes https://github.com/flutter/flutter/issues/5508
2016-08-30 14:11:54 -04:00
Ryan Macnak
fa8dc5f88b Do not truncate commands, this inhibits reproduction. (#5607) 2016-08-26 14:48:21 -07:00
Alexandre Ardhuin
886f588df6 Update gradle.dart (#5610) 2016-08-26 07:51:37 -07:00
Dan Rubel
194a9ef3c9 implement flutter packages get/upgrade command (#5603)
* implement flutter packages get/upgrade command
* alias flutter pub
* refactor findProjectRoot for use by multiple commands

fixes https://github.com/flutter/flutter/issues/4994
2016-08-25 22:37:48 -04:00
Chris Bracken
b5f763b45e Support a configurable build directory (#5601)
This change adds a top-level getBuildDirectory func and funcs for
android, aot, asset, ios build products.

Developers may now add a "build-dir" mapping to their
~/.flutter_settings (JSON format) config file. Output directory is
relative to the main flutter application directory.

This change also changes the default build directory for iOS builds to a
subdirectory of the configured build directory, 'build/ios' by default.
2016-08-25 16:38:19 -07:00
John McCutchan
852a00a17b Detect when isolate reload is barred and inform the user (#5602) 2016-08-25 14:23:13 -07:00
Dan Rubel
e47e937682 add flutter channel command (#5561)
* add flutter channel command
fixes https://github.com/flutter/flutter/issues/2513

* fix test

* address comments

* remove unused imports

* fix lints
2016-08-25 15:16:21 -04:00
Dan Rubel
1ea2f4030e enhance flutter upgrade to find project root (#5552)
* enhance flutter upgrade to find project root
fixes https://github.com/flutter/flutter/issues/2990

* address comments

* restore original formatting

* fix lints
2016-08-25 14:59:12 -04:00
Dan Rubel
5f7af56f3e modify runCommandAndStreamOutput to wait until stdout (#5596)
has been fully processed before completing the returned future.
This helps prevent tests that rely on stdout from being flaky.
2016-08-25 14:55:54 -04:00
Yegor
4805d9276a create build directory for startup trace if missing (#5589) 2016-08-24 16:56:26 -07:00
Yegor
0e63e470e4 Revert "Detect when isolate reload is barred and inform the user (#5582)" (#5590)
This reverts commit 09e68c33cc.

AOT snapshotter is broken at this engine rev.

https://flutter-dashboard.appspot.com/api/get-log?ownerKey=ahNzfmZsdXR0ZXItZGFzaGJvYXJkclgLEglDaGVja2xpc3QiOGZsdXR0ZXIvZmx1dHRlci8wOWU2OGMzM2NjZGIzNTVmZWRkNzVhODcxNmRlMDU1MWM3NzJmMmRlDAsSBFRhc2sYgICAgICAwAgM
2016-08-24 16:56:10 -07:00
John McCutchan
09e68c33cc Detect when isolate reload is barred and inform the user (#5582) 2016-08-24 15:36:17 -07:00
Chinmay Garde
1852fdcca8 Fix escaping of spaces when passing launch arguments to the iOS device. (#5574)
`Process.start` seems to be escaping as needed.
2016-08-24 12:57:29 -07:00
Todd Volkert
5f44b2d4e5 Make flutter build ios --simulator default to debug builds (#5540) 2016-08-22 17:14:30 -07:00
Chris Bracken
bfbbef108d Prevent hangs due to bad import/export directives (#5538)
If the input test script contains a bad import, sky_shell will fail to
execute main(), in which case a connection to /runner is never
established and the _ServerInfo.socket never completes.

This change works around this by issuing a request on /shutdown when
sky_shell exits.
2016-08-22 15:30:10 -07:00
Devon Carew
74446d78fc don't resolve symlinks as part of which (#5531)
* don't resolve symlinks as part of which

* update method dartdoc
2016-08-22 14:35:19 -07:00
Todd Volkert
2796d74526 Fail to build for ios simulator in profile or release build mode (#5530) 2016-08-21 21:51:03 -07:00
Jason Simmons
789bfa4271 Do not throw when resolving a local engine if the .packages map does not include the flutter package (#5519) 2016-08-19 14:40:14 -07:00
Devon Carew
b8a60f5bbd suppress exceptions from loader progress display messages (#5510) 2016-08-19 12:47:58 -07:00
John McCutchan
83ab5f8345 Call refreshViews after every restart (#5479) 2016-08-18 16:01:18 -07:00
Jason Simmons
073f64de1a Only call refreshViews if the VM service is available (#5474)
Fixes https://github.com/flutter/flutter/issues/5468
2016-08-18 06:38:35 -07:00
Konstantin Scheglov
d3fd8ddd6f Build sky_engine Dart SDK summary bundle on FlutterEngine.download(). (#5460) 2016-08-17 13:01:19 -07:00
Jason Simmons
80fe689a56 Delete and recreate all affected directories during an artifact cache refresh (#5461)
This will ensure cleanup of any files that existed in previous versions of
the artifacts but have since been removed
2016-08-17 10:55:01 -07:00
Konstantin Scheglov
ade895de4a Revert "Build sky_engine Dart SDK summary bundle on FlutterEngine.download()." (#5455) 2016-08-17 09:17:59 -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
Devon Carew
53dd5dbd0d print more logging info when tracing (#5419) 2016-08-17 08:19:52 -07:00
Konstantin Scheglov
a8369413e4 Build sky_engine Dart SDK summary bundle on FlutterEngine.download(). (#5426)
* Build sky_engine Dart SDK summary bundle on FlutterEngine.download().

* Tweaks for Devon comments.

* Tweaks for Phil comments.
2016-08-16 21:26:07 -07:00
Jason Simmons
ba53d19253 Roll the engine (#5423)
Also update the AOT builder for changes to the layout of the sky_engine package
2016-08-16 10:41:38 -07:00
Devon Carew
e880d51f00 fix an issue where --hot would not exit (#5421)
* fix an issue where --hot would not exit

* add type annotations
2016-08-16 08:56:31 -07:00
Devon Carew
7ab48f4ef6 tweak the --version text (#5420) 2016-08-16 08:38:19 -07:00
Devon Carew
2259c59be8 update the cache earlier (#5415)
* update the cache earlier

* add documentation
2016-08-15 22:51:40 -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
Phil Quitslund
abeb5c7363 Add framework commit date to version output (#5336). (#5367)
Fixes: https://github.com/flutter/flutter/issues/5336
2016-08-15 11:07:37 -07:00
Devon Carew
24f63e2b44 show better errors for gradle build failures (#5374) 2016-08-13 12:30:14 -07:00
Adam Barth
3e27acd74a Update path to entry points config file (#5379) 2016-08-12 21:17:02 -07:00
Todd Volkert
d313feb027 Point to updated location of snapshot.dart (#5375) 2016-08-12 15:08:32 -07:00
John McCutchan
9a0a0d9903 Fix package:<project_package> imports in hot reload mode (#5372) 2016-08-12 13:31:06 -07:00
Phil Quitslund
803fbec51b Add Dart SDK to version info (#4986). (#5337)
* Add Dart SDK to version info (#4986).

Adds a new SDK line to the `flutter —version` output.

* Prefer `Platform.version`.

* Version text fixes.
2016-08-11 16:39:33 -07:00
John McCutchan
cab7c8d7b3 Rename Observatory to VMService (#5349) 2016-08-11 13:14:13 -07:00
John McCutchan
728e2a5689 Add FlutterView and ViewManager and hook them into the ResidentRunner. (#5345)
- [x] Refactor view support into separate classes.
- [x] Make the hot runner grab the main view and call runFromSource on it.
- [x] Remove Device.needsDevFS (because it is always true).
2016-08-11 12:56:47 -07:00
John McCutchan
cf2b2078d4 Send reload / restart time to frame to analytics (#5335) 2016-08-11 10:01:53 -07:00
Devon Carew
6b1597dc0d send the base uri back to debuggers (#5321)
* send the base uri back to debuggers

* add a fullRestart parameter to app.restart

* add await
2016-08-11 09:51:19 -07:00
John McCutchan
ec0f880032 Hot reload: Only sync Dart sources necessary for startup on first launch (#5333)
- [x] Update engine to bring in new snapshotter.
- [x] Use the new snapshotter to quickly determine the minimal set of files necessary to run.
- [x] On first DevFS sync, only sync files necessary to run the application.
- [x] Fix a DevFS unit test failure.
- [x] Include DevFS tests in all.dart.
2016-08-11 07:40:49 -07:00
Phil Quitslund
0fe82c3a6f Update Dart SDK to 1.19.0-dev.4.0. (#5329) 2016-08-10 16:21:58 -07:00
John McCutchan
b314fa5979 Add time to frame tracking to hot run (#5316) 2016-08-10 14:02:44 -07:00
Jason Simmons
2075816df6 Decide whether to compress files in the FLX based on filename extensions (#5317)
Previously the FLX builder compressed assets only if they were not dynamically
generated.  This meant that the license file was not compressed.
2016-08-10 12:37:09 -07:00
Hans Muller
b69a6b95c5 pathname (#5319) 2016-08-10 11:40:39 -07:00
Chinmay Garde
5e2f04173a Account for updated paths during local engine builds. (#5318) 2016-08-10 11:30:07 -07:00
Ian Hickson
a194e59390 Support multilicense LICENSE files generically. (#5310)
Also, add a "flutter build flx --report-licensed-packages" option for
when you need to get the list of the packages affected by licenses.
2016-08-09 20:03:14 -07:00
Jason Simmons
8d5c2540ea Create an empty zip file in ZipToolBuilder if the entry list is empty (#5311)
This can happen if you build an FLX in release mode for an app with no assets
(such as the hello_world example)
2016-08-09 15:50:17 -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
a8198122b8 Enable hot mode for iOS devices (#5308) 2016-08-09 13:02:15 -07:00
John McCutchan
9543366eab Send asset evictions notices to Flutter framework (#5303) 2016-08-09 11:27:12 -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
Devon Carew
4f9e329f0c tweaks to the hot reload messages (#5298) 2016-08-09 07:22:32 -07:00
John McCutchan
4c1dde8d67 Add a control pipe that can trigger reloads / restarts (#5282) 2016-08-09 07:11:24 -07:00
Todd Volkert
6cd90028f6 Include all tools in the cache when --all-platforms is specified (#5296) 2016-08-08 16:18:24 -07:00
John McCutchan
487f28fdc6 Speedup devFS writing and improve status information (#5287) 2016-08-08 12:42:31 -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
John McCutchan
0a79ffe769 Fix hot restart so that it works with iOS simulators (#5272) 2016-08-05 16:47:15 -07:00
Chris Bracken
49e172e54c Limit font fallback to those in the cache dir (#5270)
This reduces dependence on machine-specific font configuration, making
tests a bit more reproducible.
2016-08-05 15:58:15 -07:00
Jason Simmons
574b2829c8 Update the sky_snapshot command line args to match the latest engine (#5273) 2016-08-05 15:55:43 -07:00
Devon Carew
ce9fcb029f remove the resident cli option (#5263) 2016-08-05 14:16:46 -07:00
Todd Volkert
435ad476d8 Add --all-platforms option to flutter precache (#5254) 2016-08-05 13:11:47 -07:00
John McCutchan
81b4e827e1 Split hot run mode into a separate file (#5233) 2016-08-05 12:04:33 -07:00
Collin Jackson
d2b3976110 Alter iOS template project to be CocoaPods enabled (#4893) 2016-08-05 09:17:13 -07:00
Chris Bracken
0ba0127c1a Support a user-specified observatory port in CoverageCollector (#5217) 2016-08-04 10:43:04 -07:00
Chris Bracken
88536859b4 Correct style in finalizeCoverage parameter list (#5213) 2016-08-03 19:54:33 -07:00
Chris Bracken
a1fa7c94e3 Support passing a custom coverage formatter to finalizeCoverage() (#5208) 2016-08-03 16:58:47 -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
John McCutchan
b11b2a1d46 Add loader screen for --hot mode (#5113) 2016-07-28 13:48:48 -07:00
Ian Hickson
db8ff48dd4 Omit the package names from the license text. (#5102)
This was a minor typo in the original code. It makes the license display
slightly cleaner.
2016-07-27 14:28:53 -07:00
John McCutchan
b6644733c9 Support for synchronizing assets onto a DevFS 2016-07-27 13:28:17 -07:00
pq
72de70250b Merge branch 'dart_1.19.0-dev.0.0' of github.com:pq/flutter into dart_1.19.0-dev.0.0 2016-07-27 11:16:46 -07:00
pq
13c3f9d946 Update Dart (1.19.0-dev.0.0) and analyzer (0.27.4-alpha.19). 2016-07-27 10:44:44 -07:00
Ian Hickson
edc548adf8 Update the license mechanism to show package names (#5051) 2016-07-26 13:09:47 -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
f6de2fbf2f Fix hot reload failure handling 2016-07-22 09:51:59 -07:00
Yegor
2f77a07940 log the contents of .packages and pubspec.lock on buildbots (#4989) 2016-07-21 13:27:49 -07:00
John McCutchan
2f5a0dcdce Tweaks to --hot mode 2016-07-21 11:01:06 -07:00
Hans Muller
36eb4a066f Support for Material arc point and rect transitions (#4938) 2016-07-21 10:48:41 -07:00
Ian Hickson
69d78325ec Licenses (#4984)
This makes the about page show the licenses of all the Dart packages that a Flutter app uses.

Issues that this does not yet resolve:
- I'm still working on getting the full list of licenses for the sky_engine package.
- Some of the licenses don't print very readably.
- There's no scrollbar on the license page.

I'll provide fixes for the first two in the coming days, but this should unblock anyone who is wanting to see something here, even if it's not quite complete. :-)

----

The patch makes the following changes: 

- The license registry is now asynchronous, since the data comes from disk.
- I moved the default license collector from the foundation package to the services package since it uses the default asset bundle now.
- The FLX builder now includes the LICENSE files of each Dart package mentioned in the `.packages` file.
2016-07-21 09:09:48 -07:00
John McCutchan
0de691621b Add --hot mode for flutter run 2016-07-20 14:38:25 -07:00
Yegor
8893e32821 print gen_snapshot exit code; fix a missing type annotation (#4976) 2016-07-19 21:07:58 -07:00
Devon Carew
57b76a050f Hello services run (#4969)
* making flutter run work with gradle

* locate android studio

* add test for settings

* review comments
2016-07-19 20:00:02 -07:00
Ryan Macnak
932059b901 Also forward Observatory port for iOS in profile mode. (#4952) 2016-07-19 12:46:17 -07:00
Devon Carew
d0f43ed9bd update flutter run --devfs (#4942)
* update flutter run --devfs

* use async; add todo
2016-07-18 13:10:48 -07:00
Ryan Macnak
e42be3c363 Print local url for Observatory on iOS. (#4948) 2016-07-18 12:54:08 -07:00
Yegor
5f7b89990e add more logging from ios simulator in verbose mode (#4928) 2016-07-15 10:52:30 -07:00
Ryan Macnak
d33da2fadd Also forward VM prints. (#4909) 2016-07-13 09:17:24 -07:00
Collin Jackson
6073a7e991 Fall back to the default xcodeproj if a workspace cannot be found (e.g. for example apps) 2016-07-12 17:34:08 -07:00
Collin Jackson
fdc2a2ba77 When using flutter run, build the workspace instead of the project 2016-07-12 14:04:02 -07:00
Adam Barth
8d56fae557 Finish integrating HelloServices model on iOS (#4820)
This patch changes the default `flutter create` command to generate a
HelloServices-style app on iOS. As a consequence, the Atom integration now
fully works with HelloServices.
2016-07-06 13:13:28 -07:00
Devon Carew
ec752d813d send ext.flutter.debugDumpApp; ext.flutter.reassemble (#4810)
* send ext.flutter.debugDumpApp; ext.flutter.reassemble

* expose debugDumpRenderTree
2016-07-04 11:21:56 -07:00
Devon Carew
f0671edfdb workaround adb logcat -T (#4798) 2016-07-01 10:19:28 -07:00
Adam Barth
639532bd51 Don't pick up Android SDK from local engine (#4801)
It can cause trouble if the user has a newer Android SDK installed normally.
Instead, just use the normal Android SDK.
2016-06-30 15:47:56 -07:00
Todd Volkert
f410ca80b7 Include target in revision string, since it affects the xcode config (#4795) 2016-06-30 11:33:36 -07:00
pq
543f705adb Cleanup empty statements.
The new `empty_statements` lint (in the next DEV roll), flags these empty statements.  Harmless, except the one in `basic.dart` that fixes a real-life bug. :)
2016-06-28 13:42:22 -07:00
Adam Barth
41d6303570 Improve test coverage for material.dart (#4776)
Previously these widget had zero test coverage. Also, improve the
coverage tooling Mac.
2016-06-28 08:48:48 -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
Devon Carew
aa364a082d don't rewrite the console in non-ansi mode (#4735) 2016-06-24 09:56:04 -07:00
Adam Barth
46da9e8498 Add a simple way of merging coverage data (#4726)
`flutter test` now has a `--merge-coverage` flag that can be used to merge
coverage data from previous runs, enabling faster iteration cycles.
2016-06-23 18:02:55 -07:00
Adam Barth
10931af0d3 Simplify coverage workflow (#4725)
We now download the base coverage file automatically.
2016-06-23 16:31:25 -07:00
Adam Barth
7b99ecff35 Use relative paths in lcov.info (#4722)
Using relative paths makes it easier to share lcov.info files across machines.
2016-06-23 15:29:54 -07:00
Phil Quitslund
55b51ee549 Merge pull request #4697 from pq/analyzer_0.27.4-alpha.14
Update to latest analyzer (0.27.4-alpha.14) and misc. analysis fixes.
2016-06-23 10:03:49 -07:00
pq
1cad4f4705 Fallback to a standard SDK if no embedders are found. 2016-06-22 19:30:46 -07:00
Todd Volkert
e91f3eef46 Don't uninstall before installing in flutter run (#4699)
#4672
2016-06-22 15:43:57 -07:00
Adam Barth
ed2c24ba2b Add coveralls support to Travis (#4690)
This patch causes us to upload a coverage report to coveralls.io.
2016-06-22 14:47:41 -07:00
pq
352e2f573b Update to latest analyzer (0.27.4-alpha.14) and misc. analysis fixes.
* brings in analyzer version (`0.27.4-alpha.14`) corresponding to current Dart SDK (`1.18.0-dev.2.0`).
* updates analysis to use prefered API for embedder URI resolution
* adds trampolines to `State` and `StatelessWidget` to allow for warning-free within-library @protected access (needed since we closed off access to @protected closures from outside subclasses).
* turns off cache dependency tracking for analysis (in DDC this amounted to a 10% speed improvement).
2016-06-22 14:34:30 -07:00
Adam Barth
b094fa6dd3 Add support for --coverage to flutter test (#4679)
We need https://github.com/dart-lang/coverage/issues/100 to be fixed before
this will be useful.

Fixes #2342
2016-06-22 12:22:01 -07:00
Jason Simmons
f307735edc Remove the assembleFlx accessor and FLX asset path overrides (#4671)
This is now obsolete
2016-06-21 15:29:34 -07:00
Jason Simmons
c823acc345 Pass a package map to gen_snapshot instead of a packages symlink directory (#4666) 2016-06-21 13:47:24 -07:00
Ian Hickson
e502e9c8f8 ImageIcon (#4649)
Anywhere that accepted IconData now accepts either an Icon or an
ImageIcon.

Places that used to take an IconData in an `icon` argument, notably
IconButton and DrawerItem, now take a Widget in that slot. You can wrap
the value that used to be passed in in an Icon constructor to get the
same result.

Icon itself now takes the icon as a positional argument, for brevity.

ThemeData now has an iconTheme as well as a primaryIconTheme, the same
way it has had a textTheme and primaryTextTheme for a while.

IconTheme.of() always returns a value now (though that value itself may
have nulls in it). It defaults to the ThemeData.iconTheme.

IconThemeData.fallback() is a new method that returns an icon theme data
structure with all fields filled in.

IconTheme.merge() is a new constructor that takes a context and creates
a widget that mixes in the new values with the inherited values.

Most places that introduced an IconTheme widget now use IconTheme.merge.

IconThemeData.merge and IconThemeData.copyWith act in a way analogous to
the similarly-named members of TextStyle.

ImageIcon is introduced. It acts like Icon but takes an ImageProvider
instead of an IconData.

Also: Fix the analyzer to actually check the stocks app.
2016-06-20 21:04:45 -07:00
Adam Barth
ba4f1e02c2 Add an example of listening to app lifecycle events (#4623)
Fixes #4553
2016-06-18 10:43:38 -07:00
Jason Simmons
d89823be2a Remove packages/flx and the FLX code signing scheme (#4612) 2016-06-17 12:35:30 -07:00
Adam Barth
2ce57eb3ce Fix paths again (#4589)
I got confused about the sdk_ext directory.
2016-06-16 09:37:10 -07:00
Adam Barth
fc77bfe630 Attempt to fix AOT build (#4587)
I moved dart_ui.dart to an new path and forgot to update this reference.
2016-06-16 09:05:04 -07:00
Devon Carew
661740d2d6 updates from previous review (#4577) 2016-06-15 11:25:31 -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
0d21e69b1d Fix flutter upgrade and flutter build ios (#4564)
* Fix `flutter upgrade`

* Fix builds on iOS
2016-06-14 18:16:55 -07:00
Phil Quitslund
0f1132f93a Merge pull request #4559 from pq/missing_returns
Add missing returns.
2016-06-14 15:41:49 -07:00
pq
f5a4e63237 Added asserts. 2016-06-14 15:19:14 -07:00
Ian Hickson
294376fb01 fix reentrant locking in pub upgrade (#4556) 2016-06-14 12:39:20 -07:00
pq
7a95548746 Add missing returns.
As of `1.18.0-dev-0`, these cases will get flagged.  In the meantime, the
2016-06-14 12:13:56 -07:00
Chinmay Garde
9782d97faa Enable launching applications on the iOS device with observatory and diagnostics server connected. (#4424) 2016-06-14 11:47:51 -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
Ian Hickson
2b2d782503 "--watch --flutter-repo" wasn't analyzing flutter (#4548) 2016-06-13 19:19:35 -07:00
Ian Hickson
2cdda9e679 Provide a way to save the analyzer results to disk (#4541) 2016-06-13 13:29:10 -07:00
Devon Carew
b6c3ae37f6 send supportsRestart flag when starting an app (#4513)
* send supportsRestart flag when starting an app

* remove unused imports

* review comments
2016-06-13 13:16:20 -07:00
Todd Volkert
2099d3789c Pull iOS build templates from flutter tools vs engine artifacts (#4526) 2016-06-13 12:30:08 -07:00
Ian Hickson
c9bcf1074e Analyzer was confused when you deleted files (#4528)
Also, make it clear the screen between results so it's more obvious
what's going on when you have new results (especially when you have
fixed everything).
2016-06-13 12:20:03 -07:00
Todd Volkert
d2ee6f7838 Rename app.so -> app.dylib (#4522) 2016-06-10 16:57:21 -07:00
Devon Carew
1ff3a2a039 show progress while running the analysis server (#4525) 2016-06-10 16:39:43 -07:00
Jason Simmons
484c36f145 Set the android:debuggable flag when building an APK in debug mode (#4523)
See https://github.com/flutter/flutter/issues/4438
2016-06-10 16:06:12 -07:00
Devon Carew
b2938f40e3 expose the devfs api (#4521) 2016-06-10 15:08:12 -07:00
Devon Carew
b5c8f2a43f print stack traces from the analysis server (#4507) 2016-06-10 06:48:16 -07:00
Kaiyuan Wang
8446ae3c87 Fix flutter drive crash issue when run in develop mode (#4492) 2016-06-09 12:39:14 -07:00
Adam Barth
c02c553867 Fix types for flutter test in checked mode (#4488)
Fixes #4059
2016-06-09 07:27:23 -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
d3e5e48701 revmoe the debug:true param from the atom launch config (#4464) 2016-06-08 12:21:45 -07:00
Jason Simmons
0db04819dc More flexibility for defining the locations of assets packaged in an FLX (#4462)
* Add a map of relative to absolute paths for assets located outside the app's
  source directory
* If a "packages" directory exists, obtain assets from there instead of
  using the packages/ prefix to indicate package map lookup
2016-06-08 11:32:30 -07:00
Devon Carew
5c59862208 Update usage.dart (#4451)
Update the analytics code.
2016-06-08 09:38:12 -07:00
Adam Barth
440aa5ee2f Add -t support to flutter run on iOS (#4439) 2016-06-07 16:41:53 -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
Chinmay Garde
68ba5bfd7c Suppress verbose output from ios-deploy when not in verbose mode. (#4423) 2016-06-07 12:02:08 -07:00
Devon Carew
958fb0f888 Update flutter_command_runner.dart (#4398) 2016-06-06 15:35:31 -07:00
Adam Barth
8f03ebe56b Teach FlutterPlugin.groovy about AOT builds (#4389)
The `flutter.buildMode` property now controls whether to build in debug,
profiling, or release.
2016-06-06 12:56:04 -07:00
Devon Carew
6c96e1a320 use the --resident option on flutter run by default (#4386) 2016-06-06 10:29:27 -07:00
Phil Quitslund
6d2d495369 Merge pull request #4348 from pq/fix_4091
Fix flutter analyze defaults when files are specified (#4091).
2016-06-06 10:00:55 -07:00
Chinmay Garde
8756a094a9 Add a FLUTTER_MODE variable to the generated Xcconfig and fix snapshot generation on all targets. (#4362)
Get rid of the DART_EXPERIMENTAL_INTERPRETER_FLAG.
2016-06-03 13:55:57 -07:00
Devon Carew
26076d9efd Update utils.dart (#4364) 2016-06-03 13:21:16 -07:00
Devon Carew
7ae584bc02 handle 'last message repeated' from ios simulator (#4300) 2016-06-03 12:54:27 -07:00
pq
ce82bc1b15 Check for user specified args. 2016-06-03 12:52:43 -07:00
pq
305af8b873 Fix flutter analyze defaults when files are specified (#4091).
Disables current package and current directory analysis when files are specified.

Fixes: https://github.com/flutter/flutter/issues/4091.
2016-06-03 09:24:54 -07:00
Jason Simmons
d8d0d6b31b Resolve package references in font asset paths (#4334) 2016-06-02 15:05:41 -07:00
Eric Seidel
4c86b73027 wip 2016-06-02 14:17:21 -07:00
Jason Simmons
00c7734c8b Tools daemon handlers for discovering apps and forwarding device ports (#4324) 2016-06-02 14:00:27 -07:00
Adam Barth
612a097d1f Add --target support to flutter build ios (#4318)
Fixes #4298
2016-06-02 08:57:13 -07:00
Devon Carew
bc5d407477 fix an issue where the refresh benchmark would overwrite a completer (#4315) 2016-06-01 19:57:08 -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
2a2bd7b6f4 fix an exception while parsing a services file (#4302) 2016-06-01 14:06:44 -07:00
Adam Barth
c26fcfdfaa Update xcodebuild for Generated.xcconfig (#4268)
This patch updates how we generate xcconfig files to match what
xcode_backend.sh expects.
2016-06-01 12:32:45 -07:00
Jason Simmons
49c4064132 Add Dart IO entry points to the snapshotter command line (#4257) 2016-05-31 10:51:28 -07:00
Adam Barth
7de84709cf Address review comments on prior patch (#4270)
I pulled the trigger to land the previous patch too quickly and missed a
number of comments.
2016-05-30 14:47:49 -07:00
Devon Carew
7c47837c27 show build progress; print app sizes (#4263)
* show build progress; print app sizes

* add todo

* review comments

* remove unused import
2016-05-29 15:07:41 -07:00
Devon Carew
49affc4098 make the drive output prettier (#4260) 2016-05-27 22:36:07 -07:00
Devon Carew
111392d7c9 run pub get (w/ symlinks) for flutter drive (#4259)
* run pub get (w/ symlinks) for flutter drive

* review comments
2016-05-27 21:42:46 -07:00
Adam Barth
aee32698ac Add backend tools for extensible iOS apps (#4250)
Instead of embedding Flutter.framework and BuildFlutterApp in the Xcode
project, we store these in flutter.git, where we can reference them.
2016-05-27 15:30:42 -07:00
Devon Carew
c98ce02417 print the dartlang atom plugin version from flutter doctor (#4242) 2016-05-27 13:31:55 -07:00
Chinmay Garde
989a530350 Don't avoid linking with libSystem to work around issue in dyld. (#4241) 2016-05-27 11:24:10 -07:00
Todd Volkert
51d4ab3324 Fix install for iOS simulator, and add ability to uninstall (#4223) 2016-05-27 11:05:10 -07:00
Yegor
f544abd016 modernize flutter drive w.r.t. debug/profile/release options (#4217)
* modernize `flutter drive` w.r.t. debug/profil/release options

* make error message prettier
2016-05-27 10:02:36 -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
646b5350d1 resolve symlinks in paths to flutter (#4219)
* resolve symlinks in paths to flutter

* review comments
2016-05-26 14:41:33 -07:00
Devon Carew
d6aed1e7c9 add a --quiet option to flutter_tools (#4213) 2016-05-26 13:41:29 -07:00
Todd Volkert
239a717dcc Revert "Pass the local engine config through Xcode (#4190)"
This reverts commit 8f69cccc18.
2016-05-26 11:03:08 -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
Todd Volkert
92ee807a3c Plumb --local-engine flag through to LOCAL_ENGINE in Local.xcconfig
Fixes #4186
2016-05-25 18:37:36 -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
Adam Barth
8f69cccc18 Pass the local engine config through Xcode (#4190)
This passes the information through Xcode to the `flutter build aot` call via
the environment so that it picks up the right artifacts.

Fixes #4186
2016-05-25 14:33:22 -07:00
Todd Volkert
0da58802cf Fix aot compiler and linker args 2016-05-25 14:32:57 -07:00
Adam Barth
b1b6271683 Use "call" instead of "invoke" (#4177)
For consistency.

Fixes #4142
2016-05-24 17:53:04 -07:00
Adam Barth
e8e9d4633c Workaround https://github.com/dart-lang/sdk/issues/26362 (#4171)
When building AOT, we now run `pub get` instead of printing an error telling
the user to run `pub get`. We can remove this code once the bug reference above
is fixed (should be a couple days).
2016-05-24 16:29:13 -07:00
Todd Volkert
cc8c78adf4 iOS tools cleanup (#4161)
* iOS tools cleanup

1) Fix `flutter install` on both device and simulator to refer to the actual
   bundle and not just the .generated folder
2) Fix `flutter run` on device to actually run vs just installing

Still TODO:
1) Discovered that isAppInstalled on iOS simulator always reports true,
   meaning it'll never actually try to install the app.

Fixes #3947
Fixes #1823
2016-05-24 16:25:40 -07:00
Adam Barth
2d726fc0c5 Build app.so instead of app.a on iOS (#4168)
The app.a wasn't getting pulled into the main executable because we weren't
referencing any of its symbols. Instead, create a dylib that can be packaged
with the application and loaded at runtime.
2016-05-24 15:49:53 -07:00
Adam Barth
e8a47b6d49 Add --interpreter to flutter build aot (#4159)
This patch teaches flutter build aot to build `app.a` for use with the Dart
interpreter.
2016-05-24 12:06:53 -07:00
Adam Barth
cb7a690815 Let flutter build aot select a target platform (#4154)
Currently only android-arm and ios are supported target platforms.
2016-05-24 11:21:07 -07:00
Adam Barth
f33596aacb Teach flutter to build app.a (#4141)
On iOS, we use Xcode to build a static library that contains the precompiled
code. This code is currently unused, but it will be used by the new Xcode
harness to factor out as much complexity as possible into the flutter tool.
2016-05-24 09:49:31 -07:00
Devon Carew
4764550f9f fail flutter analyze when there are errors (#4117) 2016-05-23 14:39:42 -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
1ae0a76cf9 warn when flutter doesn't match the pubspec version (#4109) 2016-05-23 12:23:05 -07:00
Devon Carew
4962656b1d remove old command aliases (#4103) 2016-05-23 12:06:49 -07:00
Devon Carew
17b9c12b80 adjust adb logcat filter (#4104) 2016-05-23 12:04:07 -07:00
Ian Hickson
10c861d6e9 Track number of pending dartdocs too (#4088) 2016-05-20 16:47:44 -07:00
Ian Hickson
94636bd206 Cleanup based on new lints (#4052) 2016-05-20 14:08:46 -07:00
Todd Volkert
3042da9f6d Prefer getAdbPath(androidSdk) over androidSdk.adbPath (#4076)
For developers with the platform tools installed but no SDK, it prevents
crashing in the flutter tool in favor of more user-friendly error messages
downstream.
2016-05-20 10:45:35 -07:00
Devon Carew
3b3b0ff1bb make sdb getprop less verbose (#4053) 2016-05-19 14:10:09 -07:00
Devon Carew
95f838b072 Update trace.dart (#4055) 2016-05-19 14:06:40 -07:00
Phil Quitslund
3693a7c303 Merge pull request #4054 from pq/overriden_field
Fix analyzer field overrides.
2016-05-19 13:43:27 -07:00
pq
2a9d2b5f30 Fix analyzer field overrides.
Cleans up 3 of the 4 violations of the `overriden_field` lint.

The last one is more interesting and I'll defer to someone closer to that code:

    [lint] Do not override fields. (packages/flutter/test/rendering/rendering_tester.dart, line 91, col 14)
2016-05-19 13:12:04 -07:00
Eric Seidel
880f2f785e flutter test now works on mac as well as linux
@chinmaygarde
2016-05-19 13:10:15 -07:00
Devon Carew
a48b063a10 rebuild when the build type changes (#4032)
* rebuild when the build type changes

* handle local engine builds

* also check the timestamp
2016-05-19 12:49:40 -07:00
Phil Quitslund
8109bde6e3 Merge pull request #4036 from pq/comment_refs
Cleanup dangling comment references.
2016-05-19 11:19:55 -07:00
Devon Carew
0b5072c2ef fix check to ignore bots (#4034) 2016-05-19 10:51:31 -07:00
pq
1a6f499bc1 Cleanup dangling comment references.
Quick pass at fixing a few dangling references as revealed by the new `comment_references` lint (https://github.com/dart-lang/linter/issues/240).

There's a bunch more to do here before we can turn it on by default (~430 lints as of now).  Many of them are a simple matter of adding an import (e.g., `dart:async` for library docs that reference `Future`) but others will require a bit of thought.  Probably best done by the folks writing the code. :)
2016-05-19 10:21:38 -07:00
Chinmay Garde
376cb2eb38 Attach standard streams of the child sky_shell process so that logs from the shell show up. (#4024) 2016-05-18 16:58:46 -07:00
Jason Simmons
fc61060421 Log an error if the Android intent fails during flutter refresh (#3988) 2016-05-17 14:35:11 -07:00
Ian Hickson
f284c1a049 Fix tests (#3977)
Also, make sure that broken tests actually break the bots.

And add a test to make sure that keeps happening.
2016-05-17 12:45:37 -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
pq
97ba6a1e0b Re-enable implementation_imports lint rule. 2016-05-17 11:02:10 -07:00
Phil Quitslund
a6b8980d3e Merge pull request #3954 from pq/summaries_off
Back out SDK summaries.
2016-05-17 09:03:15 -07:00
Collin Jackson
b4313b04b0 Merge pull request #3946 from collinjackson/apk
Make flutter run generate identical apks to flutter build apk
2016-05-17 07:30:10 -07:00
Collin Jackson
a312db482d remove the add-files argument to flutter run 2016-05-16 18:33:59 -07:00
Chinmay Garde
0e8f26dd6c Use the correct host toolchain when building from a local engine checkout on Mac. (#3956) 2016-05-16 17:05:39 -07:00
pq
fddab5d800 Back out SDK summaries.
Net-net: SDK summaries are not safe in the presence of SDK library embedders.

Context (and bug to track re-enablement) here: https://github.com/dart-lang/sdk/issues/26467.
2016-05-16 15:57:45 -07:00
Collin Jackson
00e22284f2 Fix #3891 by making flutter run generate identical apks to flutter build apk 2016-05-16 15:53:18 -07:00
Ian Hickson
3252701753 Make it possible to run tests live on a device (#3936)
This makes it possible to substitute 'flutter run' for 'flutter test'
and actually watch a test run on a device.

For any test that depends on flutter_test:

1. Remove any import of 'package:test/test.dart'.

2. Replace `testWidgets('...', (WidgetTester tester) {`
      with `testWidgets('...', (WidgetTester tester) async {`

3. Add an "await" in front of calls to any of the following:
    * tap()
    * tapAt()
    * fling()
    * flingFrom()
    * scroll()
    * scrollAt()
    * pump()
    * pumpWidget()

4. Replace any calls to `tester.flushMicrotasks()` with calls to
   `await tester.idle()`.

There's a guarding API that you can use, if you have particularly
complicated tests, to get better error messages. Search for
TestAsyncUtils.
2016-05-16 12:53:13 -07:00
Devon Carew
483922d15c allow per-command analytics suppression (#3919)
* allow per-command analytics suppression

* rev the usage package dep
2016-05-15 20:06:27 -07:00
Chinmay Garde
a21dedc16f Enable targetting AOTC Android builds from Mac hosts. (#3911) 2016-05-13 17:03:03 -07:00
Devon Carew
cc5d1adcfc handle an exit code from android n (#3914)
* handle an exit code from android n

* review comments
2016-05-13 16:47:30 -07:00