Commit Graph

184 Commits

Author SHA1 Message Date
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
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
Dan Rubel
b265a8f5e4 setup protocol discovery before launching simulator (#7172) 2016-12-06 12:41:55 -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
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
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
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
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
John McCutchan
b8403c7c91 Install prebuilt iOS applications before running them (#7000) 2016-11-23 07:33:33 -08:00
Todd Volkert
ec7c49e4b6 Introduce log filtering whitelist for iOS simulator (#6973)
#6972
2016-11-22 10:47:24 -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
Dan Rubel
e384c0d982 Refactor flutter command exit code - part 2 (#6817)
* convert pubGet to throw ToolExit on non-zero exit code
* convert commandValidator to throw ToolExit for non-zero exit code
* convert flutter commands to throw ToolExit for non-zero exit code
* use convenience method throwToolExit
* only show "if this problem persists" for unusual exceptions
2016-11-13 22:09:03 -05:00
John McCutchan
e908655207 Remove legacy restart support (#6801) 2016-11-10 11:12:59 -08:00
Todd Volkert
74e31679fb Respect the --no-codesign flag even for simulators (#6799) 2016-11-10 10:30:17 -08: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
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
Adam Barth
9a136b8722 Reduce logspam on iOS simulator (#6327)
Fixes #6311
2016-10-14 11:06:10 -07: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
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
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
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
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
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
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
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
Dan Rubel
bad957d457 remove unused methods (#5837)
cleanup https://github.com/flutter/flutter/issues/5789
2016-09-13 12:01:04 -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
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
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
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
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
487f28fdc6 Speedup devFS writing and improve status information (#5287) 2016-08-08 12:42:31 -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
Ryan Macnak
932059b901 Also forward Observatory port for iOS in profile mode. (#4952) 2016-07-19 12:46:17 -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
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