Commit graph

1973 commits

Author SHA1 Message Date
Devon Carew c25558d426
change 2 print calls to printStatus (#13206) 2017-11-27 08:13:24 -08:00
Devon Carew d776f64f4e
tweaks to the cli args for flutter run (#13207) 2017-11-27 06:56:51 -08:00
Dwayne Slater c7c3b606fc Show Android tombstone during native crash (#12923)
* Show Android tombstone during native crash

* Fix tombstone lines being missed on newer Android versions
2017-11-22 14:58:59 -08:00
Todd Volkert e792c6bb5b
Add support for binding to IPv6 localhost in flutter run (#13136)
This allows `flutter run` to work on hosts that are IPv6-only.
2017-11-21 20:12:21 -08:00
Chris Bracken d6a35ee356
Update dart:vmservice_sky to vmservice_io (#13138)
In 77af1e5eec, dart:vmservice_sky was
renamed to dart:vmservice_io.
2017-11-21 16:23:33 -08:00
Martin Kustermann 545ec9efb7
Add support for NDK discovery and add --prefer-shared-library option (#12788)
* Add support for NDK discovery and add --prefer-shared-library option

We would like to be able to use native tools (e.g. simpleperf, gdb) with
precompiled flutter apps.  The native tools work much better with *.so
files instead of the custom formats the Dart VM uses by default.

The reason for using blobs / instruction snapshots is that we do not
want to force flutter users to install the Android NDK.

This CL adds a `--prefer-shared-library` flag to e.g. `flutter build
apk` which will use the NDK compiler (if available) to turn the
precompiled app assembly file to an `*.so` file.  If the NDK compiler is
not available it will default to the default behavior.

* Rebase, add test for NDK detection, augment flutter.gradle with @Input for flag

* Use InMemoryFileSystem for test

* Remove unused import

* Address some analyzer warnings
2017-11-21 15:44:03 +01:00
Mikkel Nygaard Ravn 4676e1d724
Add support for iOS plugin class prefix (#13095) 2017-11-20 13:27:21 +01:00
Todd Volkert 928d2cc764
Add EBADF errno to list of ignorable errors in terminal.dart (#13077)
I get this error when piping an `echo` string to the stdin of
the flutter tool.

https://github.com/dart-lang/sdk/issues/29083
2017-11-17 15:45:27 -08:00
Greg Spencer 0259be90b8
Fix spelling errors in all the dartdocs. (#13061)
I got tired of drive-by spelling fixes, so I figured I'd just take care of them all at once.

This only corrects errors in the dartdocs, not regular comments, and I skipped any sample code in the dartdocs. It doesn't touch any identifiers in the dartdocs either. No code changes, just comments.
2017-11-17 10:05:21 -08:00
xster d5d2cdfeef
A bunch of onboarding error detections (#12977) 2017-11-16 22:53:22 -08:00
Todd Volkert f0e8819886
Extract Android SDK version from named platform dirs. (#13056)
Previously, we were mapping certain named platforms
(e.g. `android-stable`) to their corresponding version.
this had two problems:

1. The version could become out of date. For instance, we had
   mapped `android-stable` to version 24, but the stable version
   is now 27.
2. The list of possible named versions wasn't comprehensive.
   Some Android SDKs just list the platform as `stable`, or
   `experimental`, etc.

This change updates the platform version detection to use
the `build.prop` file that exists in the platform directory
(only for cases where the version number is not encoded into
the directory name).
2017-11-16 17:38:53 -08:00
xster 9a0d4cf75b
Add a Flutter version comparison function (#12959)
* add git version comparison function

* use [] in dartdoc

* Make method instance method
2017-11-14 18:50:15 -08:00
Greg Spencer 2a26f29c9d
Switch to concurrency of two, to see if that is a good balance. (#13003) 2017-11-13 15:26:42 -08:00
Greg Spencer e2b9f8906d
Turn on concurrency for coverage shard so that it runs in parallel to fix Travis timeouts. (#13001) 2017-11-13 13:20:38 -08:00
Greg Spencer 797b39e9b2
Creates a new flutter command 'ide-config' and removes *.iml and .idea from tree. (#12958)
Creates a new (hidden) flutter command 'ide-config' that will create and/or update
existing .iml files and some files under the .idea directory, as well as
removing existing *.iml files and the .idea directory.

It also:

 * Adds *.iml to the .gitignore
 * Removes existing .iml files from the repo, and moves them to the
   packages/flutter_tools/ide_templates/intellij directory.
 * Adds a flag to ide-config ('--update-templates') that will take any new .iml
   files in the flutter tree and add them to the existing templates.
     - If --overwrite is also specified, then all existing templates will also
       be overwritten with the contents from the flutter tree, and any that have
       been deleted from the flutter tree will also be removed from the
       templates.
 * Added new run configurations for all existing app targets that will now also
   be automatically added to IntelliJ.
 * Setting up the environment also includes setting the coding style guidelines
   and the git VCS.
 * Note that after this PR lands, Flutter developers will need to run it once to
   re-create the .iml files and configuration files that have been removed.

After this PR lands, .iml files will no longer appear in the untracked files
section for git.
2017-11-13 10:55:22 -08:00
Jakob Andersen 9be85b6b4b
Support IPv6-only hosts in vmservice_test.dart. (#12985)
If we fail to bind to IPv4 loopback, try IPv6. Some hosts only support IPv6,
causing the test in vmservice_test.dart to fail, since it couldn't find an
available port.
2017-11-11 21:33:40 +01:00
Mehmet Fidanboylu 96942bc797
Get rid of static version methods which ignore the AppContext (#12971)
* Get rid of static version methods which ignore the AppContext

* Review comments

* Review Comments

* Make branch behave the same as original implementation

* Fix tests
2017-11-10 17:31:18 -08:00
Yegor 870da175bc
remove unused forwardPort; truthier console messages (#12981) 2017-11-10 16:51:16 -08:00
xster e94038154b
Print a warning when cocoapods specs repo is out of date (#12915) 2017-11-10 12:41:58 -08:00
Devon Carew 60af4ed725
tweak the text for the "elements didn't reload" message (#12826)
* tweak the text for the 'elements didnt reload' message

* review comments

* prefix items with a list char

* add a hostIsIde param instead of the isDaemonMode top-level function

* add a trailing comma
2017-11-10 11:34:34 -08:00
Zachary Anderson f993cc36dd [flutter_tool] Fix fuchsia_reload command for new .packages location (#12825) 2017-11-10 10:10:07 -08:00
Alexander Aprelev 9ae893bd45
Use IKG for restarts, use IKG with ProtectedFileByteStore. (#12953)
* Use IKG for restarts, use IKG with ProtectedFileByteStore.

* Fix comment, add end of file newline.

* Remove unused import
2017-11-10 10:09:37 -08:00
Alexander Aprelev edc0781420
Reset list of dirty assets to be evicted when we do restart (#12743) 2017-11-10 09:24:05 -08:00
Todd Volkert 454db9d47c
Re-organize flutter_tools code to better support proper layering. (#12957)
* executable.dart#main() depends on runner.dart#run()
* Refactor code such that non-commands don't depend on commands.

No code was actually changed in this PR - code was merely moved from
point A to point B.
2017-11-09 21:45:31 -08:00
Devon Carew b6bd628bcd
address unused element issues and new warnings (#12890)
* address unused element issues and new warnings

* add a missing return
2017-11-08 14:06:55 -08:00
Alexandre Ardhuin 15601fe55c
Enable lint prefer asserts in initializer lists (#12903)
* enable lint prefer_asserts_in_initializer_lists

* enable --assert-initializer
2017-11-08 22:59:49 +01:00
Yegor d4830fcf1b
smoke test VM service connection before returning VMService object (#12914) 2017-11-08 10:43:47 -08:00
xster 8f79643680
Error message for unregistered phone (#12911) 2017-11-07 13:23:43 -08:00
xster c17099f474
Leave a version tag when creating project (#12846)
* Leave a version tag when creating project

* Generalize .version to .metadata
2017-11-03 10:07:57 -07:00
Ian Hickson d402d40aa6
Up a timeout to reduce the number of flakes. (#12837) 2017-11-02 12:19:43 -07:00
Ian Hickson 8fd20b5deb
Text Painting Fuzzer (#12813)
Various improvements (in particular a new painting fuzzer) to the text manual test.

Some additional documentation.

A fix to Stack to remove an LTR bias: make unpositioned children apply "alignment".

Some more debugging information on RichText and Text.

A fix to the flutter tool to not crash when an RPC call throws an exception.
2017-11-01 15:04:43 -07:00
Ian Hickson e1174eb0f2
TextPainter RTL (#12791) 2017-10-31 10:39:34 -07:00
Jason Simmons cb2cfac0eb
Check for presence of an asset directory before accessing it (#12790)
Fixes https://github.com/flutter/flutter/issues/12460
2017-10-30 17:04:30 -07:00
Jason Simmons 1affb4237a
Remove the diagnostic server from flutter_tools (#12771) 2017-10-30 15:53:04 -07:00
Adam Barth 21145144e9
Don't collect usage data during Fuchsia build (#12780)
Previously, the usage analytics would generate a write to the user's
HOME directory during the Fuchsia build. We're tightening down the
environment in which we run the Fuchsia build, and these writes are now
more obvious.

This patch removes the usage analytics during the Fuchsia build,
avoiding the write to the user's HOME directory.
2017-10-30 12:28:31 -07:00
Michael Thomsen 50db9478e3
Clarify how to unconfigure with flutter config (#12733) 2017-10-30 11:12:12 +01:00
Yegor 89a4a1384c unpin linter version, skip the broken 0.1.37 version (#12737) 2017-10-26 12:39:07 -07:00
Yegor 154f2e5402 Reapply #12700 but keep linter pinned at 0.1.35 (#12735)
* Revert "Revert "fix --force-upgrade script; upgrade to the latest package versions (#12700)" (#12729)"

This reverts commit 7f0d4f4caa.

* keep linter pinned at 0.1.35
2017-10-26 09:55:36 -07:00
Yegor 7f0d4f4caa Revert "fix --force-upgrade script; upgrade to the latest package versions (#12700)" (#12729)
This reverts commit 5b3575006e.
2017-10-25 17:08:08 -07:00
Yegor 5b3575006e fix --force-upgrade script; upgrade to the latest package versions (#12700)
* fix updrade script; upgrade to the latest package versions

* exclude special dependencies from transitive closure

* fix stack trace handling in flutter_test due to stack_trace change

* change type on _emptyStackTrace
2017-10-25 16:12:43 -07:00
Alexandre Ardhuin 28366002d9 enable lint prefer_foreach (#12674)
* enable lint prefer_foreach

* fix tests
2017-10-25 08:25:44 +02:00
Alexandre Ardhuin 872d83a3c5 enable lint prefer_conditional_assignment (#12694) 2017-10-25 08:18:26 +02:00
Alexandre Ardhuin 1fce14a31c enable lint prefer_single_quotes (#12665) 2017-10-22 18:11:36 +02:00
Jason Simmons eb475bbb80 move dart_io_entries.txt to third_party/dart for AOT builds with a local engine (#12659) 2017-10-20 15:32:27 -07:00
Michael Goderbauer 1eed6dff34 Make clean command top level (#12616)
* Make clean command top level

Fixes https://github.com/flutter/flutter/issues/10783

* remove backwards
2017-10-19 11:23:42 -07:00
Chris Bracken e965b69285 Improve libimobiledevice doctor messages (#12633)
The libimobiledevice suite of tools do not include version information.
A simple way to verify they meet our version requirements is to run
idevice_id -l, which will fail when older versions are run against iOS
devices with newer versions of iOS installed.

Unfortunately, idevice_id -l will also fail when libimobiledevice is up
to date, but the attached devices have never been paired with the host
machine in Xcode.

This patch updates the error message to help guide the user in such
situations.
2017-10-19 10:52:25 -07:00
Alexander Aprelev c05da1e29d Stop syncing dart source files when in --preview-dart-2. (#12597)
Syncing source files is not needed when host sends kernel file to the device.
2017-10-19 07:16:15 -07:00
Alexandre Ardhuin 700dc9f752 enable lint avoid_function_literals_in_foreach_calls (#12607) 2017-10-19 08:16:16 +02:00
Mihail Slavchev af0afff111 Workaround a connection issue on iOS 11.0.x (#12444)
On iOS 11.0.x ideviceinfo fails with the following message
ERROR: Could not connect to lockdownd, error code -3

This workaround should also work for #12330
2017-10-18 15:25:49 -07:00
Adam Barth f847272fc7 Make FLX construction atomic (#12604)
This patch also makes it possible to create FLX files with no extension.
Previously, the zip tool would add the ".zip" extension if the output file
lacked an extension.
2017-10-18 13:46:17 -07:00
Alexander Aprelev 52fbcefed6 Link platform.dill only into app kernel file used for build aot. (#12571)
gen_snapshot loads all packages from single app kernel file.
2017-10-17 13:30:32 -07:00
Alexander Aprelev be1467e0cd Restructure hot mode test so it runs interactively. (#12519)
* Restructure hot mode test so it runs interactively.

This allows to add a benchmark for hot reload after actual source code change.

* Add curly braces, refactory copyRecursive
2017-10-13 20:06:35 -07:00
Alexander Aprelev 6c6d08b9ee Keep incremental compiler state through full restart. (#12535)
* Keep incremental compiler state through full restart.

* Add todo

* Add todo
2017-10-13 15:18:24 -07:00
Ryan Macnak 07a4b4c426 Reapply "When parts of the program are changed in a hot reload, but not executed during the reassemble, warn that a restart may be needed." (#12490)
This reverts commit 5e7bcbacf8.

`flutter run --benchmark` was triggering a different quick bailout path in the VM than `flutter run`. The failure has been fixed upstream.
2017-10-12 15:58:40 -07:00
Alexander Aprelev 85e4f0526b Fix restart flow for preview-dart-2 mode. (#12496)
* Fix restart flow for preview-dart-2 mode.

Restart in preview-dart-2 needs to use kernel file and it has to be complete, rather than incremental kernel file.

* Add curly braces

* Do full compile on restart

* Roll engine to pick up changes to hot reload for preview-dart-2
2017-10-12 14:48:37 -07:00
Ryan Macnak a4b29d6414 Pass --enable_mirrors=false when building script snapshots for the debug mode. (#12472)
The initial loading happens on the host, which was building a script snapshot and allowing imports of dart:mirrors. Hot reload happens on the device, which then notices the imports and issues a compile-time error. This change causes programs with imports of dart:mirrors to be rejected during the initial load.

Fixes https://github.com/flutter/flutter/issues/12440
2017-10-12 14:46:37 -07:00
Zachary Anderson 4c23397eda Remove dead --assert_initializer flag (#12441) 2017-10-06 14:54:14 -07:00
Alexander Aprelev ac1546c794 Add hotReloadInitialDevFSSyncMilliseconds to track how long user have… (#12417)
* Add hotReloadInitialDevFSSyncMilliseconds to track how long user have to wait before being able to do first reload.

This stat is significantly different between existing and preview-dart-2 setting (for the latter, this stat is ~3x slower: 13s vs ~4s).

* Remove ws

* Cleanup timer-related code
2017-10-06 08:39:46 -07:00
Alexander Aprelev d5ba4df6af Skip over flutter sdk packages when upgrading dependencies. (#12405) 2017-10-04 17:50:10 -07:00
Ryan Macnak 5e7bcbacf8 Revert "When parts of the program are changed in a hot reload, but not executed during the reassemble, warn that a restart may be needed. (#12304)" (#12406)
This reverts commit 90028813a8.

This change caused a few bots to fail with 'JSON-RPC error 110: Extension error', which is odd because _getUnusedChangesInLastReload is not an extension.
2017-10-04 17:13:17 -07:00
Ryan Macnak 90028813a8 When parts of the program are changed in a hot reload, but not executed during the reassemble, warn that a restart may be needed. (#12304) 2017-10-04 16:32:30 -07:00
Devon Carew 02429cef84 Fix the doctor check for the flutter intellij plugin (#12389)
* update the intellij doctor check to support the m18 plugin version

* update to support multiple package names
2017-10-03 16:24:18 -07:00
stevemessick b9f20dc335 Print "package" instead of "plugin" when creating a package. (#12387) 2017-10-03 16:06:33 -07:00
Alexander Markov 7153dea296 Add hidden options --extra-front-end-options and --extra-gen-snapshot-options to flutter tool (#12219)
This CL introduces 2 hidden options to 'flutter build aot' and 'flutter run' for passing arbitrary arguments to front-end server and to gen_snapshot tool when building and running flutter app in --profile or --release modes.

The ability to pass arbitrary options simplifies various experiments, as it removes the need to change defaults and rebuild flutter engine for every tested configuration.
2017-10-03 12:55:53 -07:00
Ian Hickson 89566feeed Run pub with --trace (#12328)
See https://github.com/dart-lang/pub/issues/1714
2017-09-29 17:56:25 -07:00
Michael Thomsen 3f6b28dddb Add a check for gradle failing due to missing licenses (#12318)
* Add a check for gradle failing due to missing licenses

* Review feedback Jakob
2017-09-29 13:49:38 +02:00
Ian Hickson e1fa035b69 Retry on failed download. (#12293) 2017-09-28 17:37:34 -07:00
Todd Volkert ce59412cf2 Remove hard-coded "Runner" from iOS simulator logs filtering (#12306) 2017-09-28 13:11:16 -07:00
Chris Bracken 283f27d422 Clarify libimobiledevice installation status message (#12303)
Differentiate between 'not installed' and 'not working' and emit a more
targeted message.
2017-09-28 13:04:59 -07:00
Todd Volkert 9ea1ff12d7 Add Flags class. (#12268)
This class lives in the Context and allows callers to "inject"
flag values, where flag values are first extracted from the
command arguments, then from the global arguments as a fallback.
2017-09-28 09:36:55 -07:00
Ian Hickson efb45ea788 Trivial nit fixes (#12285) 2017-09-27 16:13:48 -07:00
Sarah Zakarias 3cbbbf0617 Allow empty pubspec file when building asset bundle (#12269) 2017-09-26 23:14:20 +02:00
Todd Volkert bb0a724a1d Don't require .packages file for flutter packages command (#12258)
(it's the command that populates the .packages file)
2017-09-26 09:12:40 -07:00
Sarah Zakarias 49ba974710 Factor out flutter manifest logic (#12237) 2017-09-26 14:48:52 +02:00
Todd Volkert a08b5e00af Run command validation on all commands. (#12246)
This makes command validation happen as part of `verifyThenRunCommand()`,
using a newly introduced protected method (`validateCommand()`) rather than
a `commandValidator` property (that subclasses were responsible for manually
invoking).
2017-09-25 18:56:37 -07:00
Ian Hickson 36e7138e4f Update some places that mentioned the old update-packages --upgrade (#12218) 2017-09-23 22:23:09 -07:00
Ian Hickson 441b5c2031 Pin all dependencies ONCE AND FOR ALL (#12210)
* Pin all dependencies ONCE AND FOR ALL

This replaces the secret `flutter update-packages --upgrade` with a destructive `flutter update-packages --force-upgrade` that actually goes and pins every dependency and transitive dependency in every flutter package to the same version.

* Add comments.
2017-09-22 13:35:35 -07:00
xster e28765a997 Delinting future awaits round 3 (#10791)
* round 3

* partially address comments

* merge

* review notes

* review

* review

* review
2017-09-20 17:24:43 -07:00
xster 987b205665 Delinting future awaits round 2 (#10790)
* round 2

* deal with null futures

* review

* review

* review

* review
2017-09-20 16:25:16 -07:00
Zachary Anderson 8566777dee Fix -d all hot reload (#12178) 2017-09-19 15:38:01 -07:00
Sarah Zakarias ec2d1c9116 Add support for shared fonts in packages. (#12142) 2017-09-19 14:04:51 +02:00
Zachary Anderson 2859a563ce [Fuchsia] Fix view reassemble trigger after hot reload (#12151) 2017-09-18 14:55:20 -07:00
Zachary Anderson 6be32aa757 [Fuchsia] Connect to the VM service using an ssh tunnel (#12100) 2017-09-15 10:58:27 -07:00
Chris Bracken dd7e313317 Migrate to os_log for reading iOS simulator logs (#12079)
1. Migrate simulator device log tailing to os_log toolchain
2. When the log tag (component) is available (iOS 11/Xcode 9), filter to
   the set of log lines with tag 'Flutter'.

As of iOS 11 / Xcode 9, Flutter engine logs are no longer recorded in the
simulator's syslog file, which we previously read using tail -f. Instead
they're now accessible through Apple's new macOS/iOS os_log facility,
via /usr/bin/log, which supports a relatively flexible query language.

When run in non-interactive mode, /usr/bin/log buffers its output in 4k
chunks, which is significantly smaller than what's emitted up to the
point where the observatory/diagnostics port information is logged. As a
workaround we force it to run in interactive mode via the script tool.
2017-09-14 12:28:21 -07:00
Carlo Bernaschina ba36008af6 Add --trace-skia parameter to flutter run (#12070)
* Add --trace-skia parameter to flutter run

Skia tracing is extremely useful for internal debug, but reduces the
amount of space available in the Dart Timeline buffers.
Disable skia tracing by default and expose them via the --trace-skia
flag.

* Roll Engine to 57a1445a45964d386500c39f5e8d06db060abadb
2017-09-13 12:59:05 -07:00
Alexander Aprelev 35c47611b9 Recreate outputFileName completer, handle process launch errors. (#11980)
* Recreate outputFileName completer, handle process launch errors.

* Fix formatting

* Updated comment
2017-09-13 07:33:52 -07:00
Sarah Zakarias e5aead03cc Comments to PR #12032 (#12045) 2017-09-12 12:53:03 +02:00
Sarah Zakarias 0b95e9c278 Support transitive asset dependency (#12032) 2017-09-12 09:13:41 +02:00
Mikkel Nygaard Ravn a1f03977ca Engine artifacts used for snapshots also specified as build inputs (#12014) 2017-09-12 08:35:02 +02:00
gspencergoog 267514346a Remove legacy --plugin option from flutter create (#12020)
Removed the legacy --plugin option from flutter create.  Fixes #11815.
2017-09-11 10:01:07 -07:00
Chris Bracken 8c61116c00 Eliminate iOS log blacklist (#11981)
This was introduced to suppress libMobileGestalt noise originating from
libsystem_asl.dylib. Commit 39680ebfbd
suppresses all application log messages not originating from the
app/engine iteself on iOS 10 and above. Since the log message in
question is only emitted on devices running iOS >= 10.3.0, this
blacklist no longer necessary.
2017-09-07 10:25:41 -07:00
Mikkel Nygaard Ravn 14016523ed Ensure snapshot rebuild logic takes main path into account (#11924) 2017-09-07 14:45:42 +02:00
Chris Bracken 39680ebfbd Suppress non-Flutter log messages in terminal (#11969)
On iOS 10 and above, suppress engine log messages from system components
other than Flutter. This eliminates a large amount of keyboard/plugin
related noise during edit-refresh development.
2017-09-06 19:46:40 -07:00
Mikkel Nygaard Ravn 8303fff8f9 Run pub in interactive mode in flutter packages pub (#11700) 2017-09-06 11:53:39 +02:00
Chris Bracken ce08bf9a21 Log checksum validation errors at trace level (#11944)
Checksum validation is intended only as a performance improvement.
Checksum de-serialization errors (typically framework version mismatch) are
expected on framework updates and shouldn't be user-visible except for
informational purposes when --verbose is set.
2017-09-05 17:03:56 -07:00
Chris Bracken de736f0d43 Update minimum ios-deploy version to 1.9.2 (#11936)
ios-deploy 1.9.2 includes fixes for a common source of Xcode breakage
(flutter/flutter#4326) with Xcode 8.3.3 + iOS 10.3.3, and is required to
to support Xcode 9 (flutter/flutter#11875).
2017-09-05 16:26:36 -07:00
Chris Bracken 93438245f0 Update DevToolsSecurity doctor message (#11935)
Opening Xcode is no longer sufficient to enable develop mode in Xcode 9.
Update the message to run the command-line tool. Alternatively users can
launch an app in the Xcode debugger to do this.
2017-09-05 13:28:13 -07:00
Chris Bracken c896fe2f6e Invalidate snapshot when entrypoint changes (#11913)
Adds the app entrypoint as a key in the checksum file.

This change eliminates the assumption that checksummed files change when
the main entrypoint changes. In the case where there are two
entrypoints, a.dart and b.dart and a.dart imports b.dart and b.dart
imports a.dart, building the app with entrypoint a.dart followed by a
build of the app with entrypoint b.dart would result in the same
files list and checksums, but should invalidate the build.
2017-09-05 11:19:09 -07:00
Alexander Aprelev 59bc0a0fce Move host build check until it's actually used. (#11926)
* Move host build check until it's actually used

* Elaborate diagnostic message
2017-09-05 11:12:15 -07:00
Sarah Zakarias 02c10b78d2 Bundle assets used in packages (#11751) 2017-09-05 09:42:24 +02:00
Alexandre Ardhuin 0783ec906b Enable lints (#11891)
* enable lint prefer_final_fields

* enable lint recursive_getters

* enable lint unnecessary_overrides
2017-09-01 22:18:51 +02:00
Chris Bracken eba6ceb85d Use idevice_id, ideviceinfo for iOS device listing (#11883)
This patch migrates iOS device listing from using Xcode instruments to
using the libimobiledevice tools idevice_id and ideviceinfo.

ideviceinfo was previously incompatible with iOS 11 physical devices;
this has now been fixed.

In 37bb5f1300 flutter_tools migrated from
libimobiledevice-based device listing on iOS to using Xcode instruments
to work around the lack of support for iOS 11. Using instruments entails
several downsides, including a significantly higher performance hit, and
leaking hung DTServiceHub processes in certain cases when a simulator is
running, necessitating workarounds in which we watched for, and cleaned
up leaked DTServiceHub processes. This patch returns reverts the move to
instruments now that it's no longer necessary.
2017-09-01 10:10:49 -07:00
Ian Hickson 2cbc4a0202 Make "pub get" retry once a second when it fails. (#11882) 2017-08-31 19:35:05 -07:00
Alexander Aprelev c5750cd7ea Introduce --preview-dart-2 option to run new frontend compiler in flutter tools. (#11741)
This adds --preview-dart-2 flag that enables use of Dart 2.0 Frontend in Flutter tools.
2017-08-31 13:35:55 -07:00
Zachary Anderson 067048ab64 [fuchsia_reload] Fix port filter (#11828) 2017-08-30 08:35:24 -07:00
Chris Bracken 27d3e8a41f Extract snapshotting logic to Snapshotter class (#11820)
Extract a Snapshotter class that can be shared between FLX snapshotting,
AOT snapshotting, and assembly AOT snapshotting. Allows for better
testability of snapshotting logic.

* Extracts script snapshotting used in FLX build.
* Adds tests for snapshot checksumming, build invalidation/skipping.

Remaining work: disentangle + extract AOT snapshotting and Assembly AOT
snapshotting logic from build_aot.dart.
2017-08-29 10:55:14 -07:00
Michael Goderbauer 5c5e4265a1 Fix command test (#11812) 2017-08-28 23:58:56 -07:00
Michael Goderbauer 8ecf19d8a0 Semantic hit test order for Slivers (#11792)
* Semantic hit test order for Slivers

* ++

* fix double space

* refactoring

* fix test

* comment fix

* tests

* remove accidental debugDumpSemanticsTree

* review comments

* fix button
2017-08-28 15:49:16 -07:00
Chris Bracken 1ee9400130 Avoid rebuilding snapshots if no change to source (#11551) (#11793)
This change re-introduces skipping AOT snapshot builds if input sources
and outputs have not changed since the last snapshot build, assuming a
build for the same platform in the same build mode.

This reverts commit 3d5afb5a81.
It includes the following changes relative to the original:
  1. Include the entrypoint source in the checksums
  2. include the build mode in the checksums
  3. include the target platform in the checksums
2017-08-28 11:45:17 -07:00
Chris Bracken fd54bd4caf Add version, build mode to the snapshot checksums (#11787)
This change ensures that snapshot build checksums used to avoid
duplicate builds are invalidated by a change to framework revision
(in case gen_snapshot is updated), as well as by build mode.

Currently, only FLX snapshotting uses checksums to avoid duplicate
builds. FLX snapshotting is always done with BuildMode.debug, so didn't
include build mode in the checksum file.
2017-08-25 14:32:01 -07:00
Zachary Anderson 631eaa4563 Fix Fuchsia Hot Reload (#11783) 2017-08-25 09:16:24 -07:00
Mikkel Nygaard Ravn 79747f4947 Improve Gradle error output in Flutter commands (#11703) 2017-08-24 10:44:32 +02:00
Michael Thomsen 41378e2032 Break long line in flutter create help output (#11756) 2017-08-23 13:13:26 -07:00
Chris Bracken b4f6e56720 Include main entrypoint in FLX snapshot checksum (#11762)
During FLX snapshotting, changes to (or absence of) any of the following
should trigger re-snapshot:

  1. main() entrypoint source
  2. transitive closure of sources reachable from the entrypoint source
  3. the output snapshot
2017-08-23 12:10:52 -07:00
Chris Bracken dc5d2937bb Suppress libmobilegestalt noise from iOS device logging (#11745)
This patch supports basic filtering of log lines from physical iOS
devices, similar to existing functionality for iOS simulator logging.

This patch also suppresses the following two log messages which are
emitted at app startup on iOS 10.3 devices:
  libMobileGestalt MobileGestaltSupport.m:153: pid 123 (Runner) does not have sandbox access for frZQaeyWLUvLjeuEK43hmg and IS NOT appropriately entitled
  libMobileGestalt MobileGestalt.c:550: no access to InverseDeviceID (see <rdar://problem/11744455>)
2017-08-23 10:50:07 -07:00
Jakob Andersen 5d0d6126a1 Add --template=<type> option to create command. (#11105)
Allows the user to specify the kind of project to create. The default is 'app'. Other choices are 'plugin' (the old '--plugin' behavior), and 'package'.

A Flutter 'package' is a Dart package that depends on Flutter, but does not contain native code.

Fixes #10377.
2017-08-23 13:29:31 +02:00
Mikkel Nygaard Ravn 32ab3dbee0 Support Xcode projects with no schemes (#11750) 2017-08-23 11:58:21 +02:00
Mikkel Nygaard Ravn 9496e6dfa7 Support for app flavors in flutter tooling, #11676 retake (#11734) 2017-08-23 10:55:35 +02:00
Mikkel Nygaard Ravn 7c3a45dc6e Revert "Support for app flavors in flutter tooling (#11676)" (#11729)
This reverts commit 8d07d3f652.
2017-08-22 12:24:29 +02:00
Mikkel Nygaard Ravn 8d07d3f652 Support for app flavors in flutter tooling (#11676) 2017-08-22 10:38:23 +02:00
Devon Carew 4d0debd4c7 fix some call sites of printError (#11724)
* fix some call sites of printError

* review comments
2017-08-21 23:38:16 -07:00
Jacob Richman 5462ddb917 Bare bones widget inspector support. (#10332)
Bare bones widget inspector support.

Toggle the widget inspector from the flutter tool by pressing 'i'.
When the widget inspector is select mode:
Pointer down to to inspect a widget.
Pointer click to finalize selection of a widget. You can now interact
with the application as you normally would but with the inspected widget
highlighted.
Click the inspect icon in bottom left corner of screen to reactivate
select mode.
2017-08-21 16:17:54 -07:00
Ian Hickson 0799ff5b6c Revert "Revert "Rollback patch that broke microbenchmarks" (#11641)" (#11645)
This reverts commit 1705bf3c73.
2017-08-16 14:59:01 -07:00
Ian Hickson 1705bf3c73 Revert "Rollback patch that broke microbenchmarks" (#11641)
* Revert "Fix a typo in the saved certificate error message (#11640)"

This reverts commit bfda885a9d.

* Revert "Rollback patch that broke microbenchmarks (#11616)"

This reverts commit 70fe6f4c23.
2017-08-16 14:46:50 -07:00
xster bfda885a9d Fix a typo in the saved certificate error message (#11640) 2017-08-16 13:59:05 -07:00
Ian Hickson 70fe6f4c23 Rollback patch that broke microbenchmarks (#11616)
* Revert "Extract snapshotting logic to Snapshotter class (#11591)"

This reverts commit 309a2d78fb.

* Revert "Minor whitespace formatting fix (#11590)"

This reverts commit bf69c3c69b.

* Revert "Avoid rebuilding snapshots if no change to source (#11551)"

This reverts commit 74835db563.
2017-08-15 17:53:58 -07:00
Dan Rubel 3a31c35ba0 Rename .analysis_options to analysis_options.yaml (#11594) 2017-08-15 08:46:42 -04:00
Chris Bracken 309a2d78fb Extract snapshotting logic to Snapshotter class (#11591)
First step in eliminating code duplication between script snapshotting
(in FLX build) and AOT, assembly AOT snapshotting.
2017-08-11 12:58:35 -07:00
Hans Muller 680d581db7 Correct handling of assets when no main asset is present (#11564) 2017-08-09 16:04:57 -07:00
Jason Simmons 13dda7cf80 Signal an error in the dependency checker if an import URI is invalid (#11557)
Fixes https://github.com/flutter/flutter/issues/11539
2017-08-09 10:08:11 -07:00
Alexandre Ardhuin 8a88e2efca Bump Dart SDK to 1.25.0-dev.9.0 (#11509)
* Bump Dart SDK to 1.25.0-dev.9.0

* add link to sdk bug
2017-08-09 14:45:55 +02:00
Chris Bracken 74835db563 Avoid rebuilding snapshots if no change to source (#11551)
This change re-introduces skipping snapshot builds if input sources (and
outputs) have not changed since the last snapshot build, with a bugfix
to include the entry-point source in the checksum used to check whether
rebuild can be skipped. This ensures that the following sequence
invalidates the cached build, resulting in two snapshot builds:

  flutter build ios lib/foo.dart
  flutter build ios lib/bar.dart

This reverts commit 3d5afb5a81.
2017-08-08 10:52:24 -07:00
Yegor bbc15724bd roll engine ff50334587 to get async stacks (#11519) 2017-08-07 10:03:09 -07:00
Jason Simmons a5c4680e72 Reset the terminal if an exception occurs while handling terminal input in the app runner (#11516) 2017-08-04 14:27:36 -07:00
Jason Simmons ffe5851eb7 Do not throw if a hot reload is attempted when all Flutter instances on the device have been stopped (#11504)
This can happen if an Android host app has been paused but its process is still running
2017-08-03 13:09:10 -07:00
Devon Carew 8ee902c04b rev the min. recommended flutter plugin version (#11501) 2017-08-03 10:21:35 -07:00
Ian Hickson 3d5afb5a81 Revert "Skip AOT snapshot build if inputs are unchanged" (#11463)
* Revert "Support space- and backslash-escaped dependencies (#11090)"

This reverts commit e6bafd0bdb.

* Revert "Skip AOT snapshot build if inputs are unchanged (#11084)"

This reverts commit b5e522e200.
2017-08-01 16:46:24 -07:00
Devon Carew a7c3bf4849 perform the initial poll for devices quicker (#11356)
* perform the initial poll for devices quicker

* add a Poller class

* test the new Poller class
2017-08-01 15:29:54 -07:00
Alexey Shamrin cfcf6d4428 brew update is not needed any more: Homebrew/brew#679 (#11406) 2017-08-01 12:21:56 -07:00
Jason Simmons 22ccb74ef5 Check all possible output directories to find a locally built gen_snapshot (#11417)
The output location of gen_snapshot differs based on the engine's target
platform, and we don't know the target platform when building a
platform-independent FLX in JIT mode.
2017-07-27 14:22:21 -07:00
Devon Carew 990dae85eb remove the flutter view cache; fix the ability to quit the app after a full restart (#11420)
* remove the flutter view cache; fix the ability to quit the app after a full restart

* improve test

* update test
2017-07-27 11:47:33 -07:00
Devon Carew a92a62706c ignore PausePostRequest when reloading (#11340)
* ignore postpauseevents when reloading

* Update run_hot.dart

comment changes to kick the appveyor bot
2017-07-21 16:57:33 -07:00
Ian Hickson 48427cb77a Revert "Flutter analyze watch improvements (#11143)" (#11328)
This reverts commit e13e7806e3.

Turns out that with this patch, we aren't actually catching all
errors. For example, `flutter analyze --flutter-repo --watch` didn't
report errors in `dev/devicelab/test/adb_test.dart`.
2017-07-20 14:47:36 -07:00
Carlo Bernaschina e890ec5bb6 Fix 'reloadSources' service from Observatory (#11315)
Fixes https://github.com/flutter/flutter/issues/11314
2017-07-19 18:37:54 -07:00
Carlo Bernaschina 741598d848 Fix restart/reload benchmark synchronization (#11282)
Changes introduced in
8ba522eeae
has removed from the `_flutter.listViews` the thread synchronization
side effect used during benchmarks.

The thread synchronization is restored via the new
`_flutter.flushUIThreadTasks` RPC.

Fixes https://github.com/flutter/flutter/issues/11241

Related https://github.com/flutter/engine/pull/3898
2017-07-19 16:54:10 -07:00
Ian Hickson e1adc525d8 Option to enable the performance overlay from 'flutter run'. (#11288) 2017-07-19 12:57:22 -07:00
Dan Rubel e13e7806e3 Flutter analyze watch improvements (#11143)
* flutter analyze --watch auto detect if in flutter repo
* move isFlutterLibrary from AnalyzeOnce into AnalyzeBase for use by AnalyzeContinuously
* pass --flutter-repo to analysis server when analyzing the flutter repository
* enhance flutter analyze --watch to summarize public members lacking documentation
2017-07-19 07:22:38 -04:00
Devon Carew c186d0df1c pass the value of the android sdk (#11268)
* pass the value of the android sdk

* swap flag

* allow the user to set the android-sdk location
2017-07-18 18:47:20 -07:00
Carlo Bernaschina 16037e33ec Register tools as a reloadSources service (#11258)
In
df8bf384eb
a new functionality of the Dart VM Service Protocol has been introduced.

Clients connected to the Service Protocol are now able to expose
services that other clients (e.g. Observatory) can invoke through the
Service Protocol itself.

With these changes Flutter Tools register them self as a `reloadSources`
(a.k.a. HotReload) capable client.
Observatory is already listening for the clients which expose this
functionality and uses by default the service based version of
`reloadSources` when available, so requesting a HotReload from
Observatory will trigger the full Flutter HotReload.

Related https://github.com/dart-lang/sdk/issues/30023
Related https://github.com/flutter/flutter/pull/11229
Related https://github.com/flutter/flutter/pull/11256
2017-07-17 15:13:24 -07:00
Ryan Macnak 1650420db5 Update --local-engine to account for changed host architecture of 32-bit Android debug builds. (#11263)
Roll engine to 03e642bc8940441bbad5c2fb7d3ca868c1fdad54.
2017-07-17 14:56:27 -07:00
Ryan Macnak fce76bcfd6 Revert "Update --local-engine to account for changed host architecture of 32-bit Android debug builds. (#11251)" (#11259)
This reverts commit 3f514fcfdf.
2017-07-17 13:47:03 -07:00
Carlo Bernaschina 16ae29b56d Revert "Register tools as a reloadSources service (#11229)" (#11256)
This reverts commit 35c4989795.
2017-07-17 13:05:16 -07:00
Carlo Bernaschina 35c4989795 Register tools as a reloadSources service (#11229)
* Register tools as a reloadSources service

* Fix code style and comments

* Fix nits and Add documentation

* Format error message
2017-07-17 12:31:43 -07:00
Ryan Macnak 3f514fcfdf Update --local-engine to account for changed host architecture of 32-bit Android debug builds. (#11251)
Roll engine to 7480e32854606e554ae37f8bd241c050bdc565c4.
2017-07-17 12:20:14 -07:00
Todd Volkert b7ababe68c Remove unused DevFsProgressReporter (#11249)
Discovered dead code during review of #10791
2017-07-17 09:30:56 -07:00
Siva Chandra 28d09d1614 Fix style issues introduced by dba29aa0fc (#11203) 2017-07-14 13:51:16 -07:00
Phil Quitslund 05562d5734 Quiet debug test runner output when in machine mode. (#11228)
* Quiet debug test runner output when in machine mode.

See: https://github.com/flutter/flutter-intellij/issues/1176

* json => machine
2017-07-14 11:20:50 -07:00
Chris Bracken cf96c7db4a Clean up orphaned Instruments processes (#11189)
In some cases, we've seen interactions between Instruments and the iOS
simulator that cause hung instruments and DTServiceHub processes. If
enough instances pile up, the host machine eventually becomes
unresponsive.

Until the underlying issue is resolved, manually kill any orphaned
instances (where the parent process has died and PPID is 1) before
launching another instruments run.
2017-07-13 16:19:11 -07:00
Devon Carew bde8a5f5a6 move away froma deprecated method (#11215) 2017-07-13 16:18:40 -07:00
Jason Simmons 14648e9bae Suppress an analyzer warning about cli_util.getSdkDir deprecation (#11213) 2017-07-13 15:48:11 -07:00
xster 92750833d5 Stop sending cocoapods stats (#11120)
* Disable cocoapods stats

* Add a comment for code readers

* fix new test
2017-07-12 19:15:54 -07:00
xster 6a49419be4 Create Podfile dynamically part 1 (#11101)
* start

* with create

* refactor cocoapod code, add tests

* fix tests

* throw when cocoapod missing

* obj-c projects don’t use use_framework!
2017-07-12 18:35:08 -07:00
Chris Bracken 0adb39ae9b Avoid concurrent device polling in daemon; add timeout (#11184)
Apply a 30 second timeout to Android/iOS device polling.

If there's a device poll already in progress, skip polling for new
devices; wait for the first request to return/timeout.
2017-07-12 17:57:15 -07:00
Michael Goderbauer ae90581124 Fix build (#11186)
Was broken by dba29aa0fc, which apprently has been pushed directly to master without running through Travis?
2017-07-12 17:24:38 -07:00
Siva Chandra dba29aa0fc Select the correct conditional import when building dart dependencies.
Fixes #9413.

For more info on conditional imports, see
https://github.com/munificent/dep-interface-libraries/blob/master/Proposal.md.
2017-07-12 16:30:14 -07:00
Michael Goderbauer 561e7773c2 Fix path to flutter_tester when using local enginde on Mac OS (#11134) 2017-07-10 12:34:04 -07:00
Todd Volkert 926a096efd Minor fixes in tools: (#11009)
* Include the process' `stdout` and `stderr` when it returns a
  non-zero exit code in `runCheckedAsync()`
* Defensively catch errors in `AndroidDevice.isAppInstalled()`
  and return false
2017-07-10 10:02:11 -07:00
Devon Carew 0ac2232eda normalize the reload result messages (#11131) 2017-07-10 09:53:14 -07:00
Seth Ladd 834fbcb867 Run target analytics (#10902)
* report run target and if it is an emulator

* don't print debug

* rename parameter, remove unused variable

* fix test

* fix comment

* tweak from review, and fix analyzer error

* send custom parameters for the event, not the session

* fix mock

* use the +1 for usage
2017-07-10 06:45:41 -10:00
Devon Carew 4891506931 add a --machine mode to flutter config (#11112)
* add a --machine mode to flutter config

* review feedback
2017-07-07 16:00:45 -07:00
Devon Carew 40a65e1fe5 minor tweaks to the output for flutter_tools (#11115)
* minor tweaks to the output for flutter_tools

* update test expectations
2017-07-07 16:00:27 -07:00
Chris Bracken e6bafd0bdb Support space- and backslash-escaped dependencies (#11090)
Snapshot dependency files now backslash-escape dependency paths
containing spaces and backslashes.

See: https://codereview.chromium.org/2966903003/
2017-07-05 16:36:12 -07:00
Chris Bracken b5e522e200 Skip AOT snapshot build if inputs are unchanged (#11084)
Previously, the snapshot file was recomputed on every build. We now
record checksums for all snapshot inputs (which are catalogued in the
snapshot dependencies file output alongside the snapshot) and only
rebuild if the checksum for any input file (or the previous output file) has
changed.
2017-07-05 12:49:29 -07:00
Michael Goderbauer 678c31f14c Fail doctor check "Flutter" if sub-check fails (#11087)
See https://github.com/flutter/flutter/issues/11051
2017-07-05 12:11:02 -07:00
Ian Hickson 5f20f83415 Always run the flutter tool in checked mode. (#11069)
(Needs https://github.com/dart-lang/sdk/issues/28519)
2017-07-02 09:34:31 -07:00
Chris Bracken 1438ae85a3 Skip snapshot build if inputs are unchanged (#11047)
Previously, the snapshot file was recomputed on every build. We now
record checksums for all snapshot inputs (which are catalogued in the
snapshot dependencies file output alongside the snapshot) and only
rebuild if the checksum for any input file has changed.
2017-06-30 16:09:48 -07:00
Todd Volkert f02e9acc33 Add known physical device that would otherwise look like an emulator (#11056)
https://github.com/flutter/flutter/issues/10203
2017-06-30 13:48:24 -07:00
Chris Bracken c1c1522591 Make _createSnapshot private, depfilePath required (#11054)
* Only one call to createSnapshot exists, and it's in the same library.

* Eliminate conditional logic around the presence of depfilePath, the
  only existing call always passes a non-null depfilePath.
2017-06-30 12:48:12 -07:00
xster c1e3b75cc2 Verbose cocoapods output if error or flutter is verbose (#11048)
* Output verbose cocoapods output when pod install has an error or if flutter build/run is in -v

* remove repeated stdout
2017-06-30 11:17:48 -07:00
Brian Slesinsky 6841ab22be Add --name and --plain-name to 'flutter test' (#11020)
This adds a way to run only a subset of the tests.
(The new flags do the same thing as 'pub run test'.)
2017-06-29 17:26:19 -07:00
Devon Carew 94e14f0c5a increase the timeout for service discovery (#10965)
* increase the timeout for service discovery

* remove the timeout for discovering service ports
2017-06-29 14:35:20 -07:00
xster be228eae78 Add a dev mode doctor check (#11023) 2017-06-29 11:54:18 -07:00
Mikkel Nygaard Ravn 021a9ee2a2 Fix bug in prev commit (#11030) 2017-06-29 12:19:45 +02:00
Mikkel Nygaard Ravn 030abfd49a Provide user feedback on slow Gradle operations (#11015) 2017-06-29 11:54:03 +02:00
Mikkel Nygaard Ravn a106f504c7 Make flutter drive await app reinstall (#11029) 2017-06-29 11:23:27 +02:00
Mikkel Nygaard Ravn 1731a16d81 Make consistent use of gradle wrapper (#10993) 2017-06-29 09:48:01 +02:00
xster 57746f38c0 Guess sign iOS with the first certificate when running in machine mode (#10870)
* Guess sign with the first certificate when multiple are available in machine mode

* review
2017-06-28 13:33:14 -07:00
Chris Bracken a41e354a55 Emit CocoaPods output if pod install fails (#11018)
In the case where the CocoaPods 'pod install' step fails, emit its
stdout to provide any potentially-useful error messages to the user.
2017-06-28 11:58:06 -07:00
Chris Bracken e04907a48b Ensure Xcode major, minor version always return non-null (#10980)
Previously, xcodeMajorVersion and xcodeMinorVersion returned null unless
xcodeVersionSatisfactory had been called first. We now compute them on
demand, and cache the resultant values.
2017-06-26 13:37:59 -07:00
Mikkel Nygaard Ravn c5999c74c0 Add gradle wrapper to project template (#10928) 2017-06-26 12:47:43 +02:00
Devon Carew f946171817 update our build bot exclusions (#10964) 2017-06-25 21:17:39 -07:00
Chris Bracken 2ebb9e5dc6 Use ProcessManager for Xcode tool invocations (#10955)
1. Run all Xcode tool invocations through ProcessManager, which allows
us to mock out failures, etc. for tests.

2. Add said tests.
2017-06-23 18:50:27 -07:00
Ian Hickson d131a8df42 Fix --keep-app-running default and make devicelab verboser (#10957) 2017-06-23 18:09:37 -07:00
Chris Bracken 845c1b7f01 Re-land Lazily initialise Xcode installation status (#10952)
This reverts commit 3e265e9e42.

Rather than pre-compute Xcode install path, version, and EULA status,
compute and cache on demand.
2017-06-23 16:58:14 -07:00
Chris Bracken 3e265e9e42 Revert "Lazily initialise Xcode installation status (#10945)" (#10951)
This reverts commit bb8e2a7ccd.

Triggers a doctor failure on the Mac chromebots.
2017-06-23 16:08:36 -07:00
Chris Bracken bb8e2a7ccd Lazily initialise Xcode installation status (#10945)
Rather than pre-compute Xcode install path, version, and EULA status,
compute and cache on demand.
2017-06-23 15:56:44 -07:00
Ian Hickson 9adb4a78a6 Deep linking: automatically push the route hiearchy on load. (#10894)
The main purpose of this PR is to make it so that when you set the
initial route and it's a hierarchical route (e.g. `/a/b/c`), it
implies multiple pushes, one for each step of the route (so in that
case, `/`, `/a`, `/a/b`, and `/a/b/c`, in that order). If any of those
routes don't exist, it falls back to '/'.

As part of doing that, I:

 * Changed the default for MaterialApp.initialRoute to honor the
   actual initial route.

 * Added a MaterialApp.onUnknownRoute for handling bad routes.

 * Added a feature to flutter_driver that allows the host test script
   and the device test app to communicate.

 * Added a test to make sure `flutter drive --route` works.
   (Hopefully that will also prove `flutter run --route` works, though
   this isn't testing the `flutter` tool's side of that. My main
   concern is over whether the engine side works.)

 * Fixed `flutter drive` to output the right target file name.

 * Changed how the stocks app represents its data, so that we can
   show a page for a stock before we know if it exists.

 * Made it possible to show a stock page that doesn't exist. It shows
   a progress indicator if we're loading the data, or else shows a
   message saying it doesn't exist.

 * Changed the pathing structure of routes in stocks to work more
   sanely.

 * Made search in the stocks app actually work (before it only worked
   if we happened to accidentally trigger a rebuild). Added a test.

 * Replaced some custom code in the stocks app with a BackButton.

 * Added a "color" feature to BackButton to support the stocks use case.

 * Spaced out the ErrorWidget text a bit more.

 * Added `RouteSettings.copyWith`, which I ended up not using.

 * Improved the error messages around routing.

While I was in some files I made a few formatting fixes, fixed some
code health issues, and also removed `flaky: true` from some devicelab
tests that have been stable for a while. Also added some documentation
here and there.
2017-06-23 14:58:29 -07:00
Todd Volkert f18083d448 Print ADB output when adb install fails (#10933)
Fixes #10929
2017-06-23 14:08:07 -07:00
Chris Bracken f4f81e9ac7 Require Xcode >= 8.0 for iOS development (#10932)
This allows us to take advantage of improved command-line tooling (e.g.,
improvements in device listing in Instruments). Now that the engine is
built with Xcode 8 and the framework is tested against Xcode 8, this
reduces the set of configurations we need to support to allow us to
focus on the supported ones: Xcode 8 and Xcode 9.
2017-06-23 14:07:01 -07:00
Chris Bracken 9a6a3e1e27 Delete unnecessary print statement (#10937)
This print statement provides no value to the user.
2017-06-23 14:06:10 -07:00
Zachary Anderson 09bdab201d [fuchsia_reload] Use ssh instead of netcp/netruncmd (#10436) 2017-06-22 22:08:20 -07:00
Hans Muller b55441a027 Do not require main asset files if variants are provided (#10901) 2017-06-22 16:45:57 -07:00
Zachary Anderson 4d490666b3 Clean up pre-existing DevFS during creation (#10843) 2017-06-22 09:48:31 -07:00
xster 02245234b6 Save development certificate choice (#10849) 2017-06-21 17:22:13 -07:00
Devon Carew 963b90edf0 send the FLUTTER_HOST env var as analytics' app installer ID (#10889) 2017-06-21 13:02:40 -07:00
Seth Ladd b231006ce7 analytics expects a format of cd<integer> for custom dimensions (#10864) 2017-06-21 10:54:37 -07:00
Brian Slesinsky f01e9418fc change --machine flag for flutter test to report test progress as JSON (#10848)
(The Flutter plugin will use this to update the UI with test progress.)
2017-06-20 14:40:42 -07:00
Jason Simmons 1be406b1b5 Move the discovered Java installation to the front of PATH when running sdkmanager (#10846)
Fixes https://github.com/flutter/flutter/issues/10703
2017-06-20 09:53:01 -07:00
Seth Ladd b471a9cffc send channel name as a custom dimension (#10814)
* send channel name as a custom dimension

* tweaks from review

* remove unused import
2017-06-20 08:20:57 -07:00
Devon Carew c14470e0c7 dont' validate against webstorm (#10828) 2017-06-20 06:46:43 -07:00
Chris Bracken 400a62d121 Eliminate use of ideviceinfo in flutter_tools (#10804)
This libimobiledevice tool is no longer used anywhere in the flutter_tools codebase.
2017-06-19 13:36:05 -07:00
Chris Bracken 1d9f009579 Re-enable use of instruments for iOS device lookup (#10838)
This reverts commit b2909a245a.

This resubmits the following patches:

1. Use Xcode instruments to list devices (#10801)
Eliminates the dependency on idevice_id from libimobiledevice. Instead,
uses Xcode built-in functionality.

2. Make device discovery asynchronous (#10803)
Migrates DeviceDiscovery.devices and all device-specific lookup to be
asynchronous.
2017-06-19 13:14:57 -07:00
Jason Simmons cfa0a2dbbd Look for APKs at the path used by Android Gradle plugin 3.0 (#10798)
Fixes https://github.com/flutter/flutter/issues/10630
2017-06-19 09:37:39 -07:00
Luke Church 4b707c194f Change for consideration: URL for plugin text (#10720) 2017-06-18 21:18:36 +02:00
Chris Bracken b2909a245a Revert use of Xcode instruments for device lookup (#10806)
* Revert "Make device discovery asynchronous (#10803)"
This reverts commit 972be9c8b4.

* Revert "Use Xcode instruments to list devices (#10801)"
This reverts commit 37bb5f1300.

This is to resolve a failure that looks related to a bad install of Xcode 8.0
on our build bots and should be reinstated when the infra issue is diagnosed
and resolved.

Instruments worked well when this was originally landed, and on the
following commit, but started failing two commits after this originally
landed. Manual invocation of instruments on the build host currently
results in:

```
dyld: Library not loaded: @rpath/InstrumentsAnalysisCore.framework/Versions/A/InstrumentsAnalysisCore
  Referenced from: /Applications/Xcode8.0.app/Contents/Developer/usr/bin/instruments
  Reason: image not found
Abort trap: 6
```

It appears the /Applications/Xcode8.0.app/Contents/Applications
directory (which contains Instruments) is missing on the host.
2017-06-16 19:00:31 -07:00
Chris Bracken 972be9c8b4 Make device discovery asynchronous (#10803)
Migrates DeviceDiscovery.devices and all device-specific lookup to be
asynchronous.
2017-06-16 17:47:06 -07:00
Chris Bracken 37bb5f1300 Use Xcode instruments to list devices (#10801)
Eliminates the dependency on idevice_id from libimobiledevice. Instead,
uses Xcode built-in functionality.
2017-06-16 16:02:28 -07:00
Chris Bracken 66502138af Extract all libimobiledevice invocations to IMobileDevice class (#10793)
Moves all remaining calls to tools that are part of the libimobiledevice
suite of tools to the IMobileDevice class. This allows for better
tracking of this dependency, and easier mocking in tests.
2017-06-16 14:33:49 -07:00
xster 03393510ba address comments (#10786) 2017-06-16 14:22:10 -07:00
Yegor 3b6d84b083 modernize iOS device lookup in driver (#10780) 2017-06-16 12:58:23 -07:00
Chris Bracken b474557ef4 Eliminate unnecessary public getters for iOS tools (#10784)
None of these is used outside of devices.dart and being public covers up
analysis warnings when they're unused.
2017-06-16 11:20:23 -07:00
Chris Bracken 73df49a0d9 Eliminate unused libimobiledevice tool refs (#10778) 2017-06-16 10:42:07 -07:00
Chris Bracken bcac3166ab Eliminate direct invocations of idevice_id for iOS (#10777)
All invocations should go via the IMobileDevice class in mac.dart.
2017-06-16 10:41:48 -07:00
Chris Bracken c04f712a23 Refactor Xcode instance lookup (#10763)
Use a top-level getter in mac.dart rather than a static instance getter
and a top-level getter in ios_workflow.dart. Makes this code consistent
with how we do context lookups elsewhere.
2017-06-15 19:24:07 -07:00
Chris Bracken d6ec71d2c0 Extract libimobiledevice tools interface (#10759)
Extract out IMobileDevice class, move class to idevice_id, ideviceinfo
(and eventually other libimobiledevice tools such as iproxy) behind this
interface.

Add tests for the case where libimobiledevice is not installed, the case
where it returns no devices, and the case where it returns device IDs.
2017-06-15 19:03:24 -07:00
xster 45446ae21b first round of future awaits (#10760) 2017-06-15 18:49:19 -07:00
xster e56c8850ce Fix simctl race (#10757)
* remove usages of booted

* fix
2017-06-15 18:31:10 -07:00
xster 432ffde52e remove usages of booted (#10741) 2017-06-15 18:25:09 -07:00
Chris Bracken 615410d2d2 Inject iOS, Android workflows via context (#10750)
Eliminates the need for the device/daemon code to get at the iOS/Android
tooling indirectly via Doctor. In tests, we now inject the workflow
objects (or mocks) directly.
2017-06-15 16:11:08 -07:00
Brian Slesinsky d1feb1ad5f Coverage: fix installHook API (#10747)
- remove unused collector parameter
- clarify a comment
- inline _currentPackageTestDir
2017-06-15 14:39:46 -07:00
Chris Bracken 1bc54e0657 Eliminate dead iOS device mock code (#10732)
This code is unused in any test. In upcoming changes that migrate to
Xcode instruments based device listing, we'll mock out the instruments
output separately.
2017-06-15 11:32:39 -07:00
Todd Volkert 747e25e891 Fix devfs directory scanning to not attempt to scan non-existent directories (#10727) 2017-06-15 10:29:42 -07:00
Dan Rubel befe019896 flutter analyze --watch --flutter-repo check package conflicts (#10641) 2017-06-13 20:50:53 -04:00
Brian Slesinsky e329356f0f Oops, fix code coverage (#10672)
And add comments explaining why.
2017-06-13 14:42:09 -07:00
Brian Slesinsky 3528cd6f2d flutter test: add --machine flag (#10520)
Currently this just prints the observatory URL as a JSON event.
Refactored the code to make this fit in.
2017-06-13 13:26:32 -07:00
Todd Volkert 37e32d5aee Switch flutter --version --json to be flutter --version --machine (#10627) 2017-06-12 12:23:13 -07:00
Ian Hickson 0f1a703a6b More documentation (#10589) 2017-06-08 17:13:03 -07:00
Phil Quitslund 95544383ef Bump to Dart SDK 1.24.0-dev.6.7. (#10585)
* Bump to Dart SDK 1.24.0-dev.6.7.

* nits and fixes
2017-06-08 15:15:18 -07:00
xster c2b0a30c57 Add more instructions and handling for first time iOS run (#10521)
* Before tests

* Add the part to trust the cert on the device

* flip the error checks since some are more specific and are more actionable

* add tests

* review
2017-06-07 15:56:13 -07:00
Todd Volkert e9c7f604e9 Make generated Java folder names match package names. (#10537) 2017-06-07 13:16:16 -07:00
Kevin Moore 1b56cb790c Add --version-json to flutter CLI (#10538)
closes https://github.com/flutter/flutter/issues/10534
2017-06-06 18:40:32 -07:00
Todd Volkert 078b380d51 Remove underscores from Android identifier during flutter create (#10506)
Fixes #10077
2017-06-05 11:25:46 -07:00
Chris Bracken d65b9fb6dc Update tracking bug for SDK spaces in doctor (#10504) 2017-06-05 09:42:45 -07:00
Chris Bracken fe520201b8 Emit doctor error if Flutter SDK path contains spaces (#10477)
Should be reverted when https://github.com/flutter/flutter/issues/6577
is fixed.
2017-06-02 18:49:32 -07:00
xster cb959724cb Small setup doc for the app store option (#10418)
* Small setup doc for the app store option

* review notes
2017-06-02 16:01:20 -07:00
Devon Carew 38891a2f72 IntelliJ and Flutter plugin version checks (#10454)
* add min version checks for IntelliJ

* validate the installed versions of IntelliJ and the flutter plugin

* review comments
2017-06-02 15:23:36 -07:00
Devon Carew 15928fbdf7 have app loggers log to their parent logger (#10402)
* have app loggers log to their parent logger

* rename field to parent

* add todo

* revert flutter_tools.iml change

* ping the bots
2017-06-02 15:22:46 -07:00
Gary Qian a367dcb02c Add flags to pass '--enable-software-rendering' flag to engine in run command (#10449) 2017-06-02 09:44:36 -07:00
Chris Bracken 9c502cba95 Clean up ideviceinstaller doctor messages (#10408)
Eliminates nearly-duplicate install instructions for libimobiledevice,
ideviceinstaller.

Since ideviceinstaller depends on libimobiledevice, it's almost certain
that if libimobiledevice isn't installed, or needs updating, so does
ideviceinstaller.
2017-05-31 12:08:45 -07:00
Chris Bracken 479e533b01 Clarify libimobiledevice doctor check message (#10406)
This message will be emitted both when libimobiledevice requires
updating, or when it has not yet been installed.

It's also not specifically the version of Xcode that it's incompatible
with, it's the lockdownd daemon, which is actually more closely tied to
iTunes.
2017-05-31 11:32:26 -07:00