Commit Graph

334 Commits

Author SHA1 Message Date
Adam Barth
ec0ec75b26 Improve the style in the starter app
Fixes #2011
2016-02-20 15:48:55 -08:00
Adam Barth
4aae718f85 Download sky_engine and sky_services from cloud storage
Downloading these packages from cloud storage simplifies our deployment
story because we can upload to cloud storage automatically from the
buildbot.

This patch also switches the responsibility for downloading the engine
artifacts to update_engine.sh. Centralizing this responsibility ensures
that the packages and the binaries are always in sync.
2016-02-20 13:25:01 -08:00
Yegor
38a72a444a Merge pull request #2054 from yjbanov/flutter-drive-cmd
"flutter drive" command
2016-02-19 18:17:52 -08:00
yjbanov
a2b1bd4673 "flutter drive" command
Runs a test app and a driver test simultaneously, then stops the app.

Usage:

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

This command will look for `/path/to/test/app_test.dart` by
convention. We will expand into other ways of discovering tests in the
future.
2016-02-19 18:11:53 -08:00
Chinmay Garde
d797995632 tvOS, watchOS and old simulators are blacklisted in the tools 2016-02-19 16:29:41 -08:00
Chinmay Garde
5658640128 Fix lint errors 2016-02-19 13:34:16 -08:00
Chinmay Garde
f6a2477dce Always generate legal UTIs for project identifiers. 2016-02-19 12:30:18 -08:00
Devon Carew
0da7463ef0 make the '-o' option in create optional 2016-02-18 14:33:59 -08:00
Devon Carew
d5a6fceee5 add a summary option to the doctor class 2016-02-17 09:33:45 -08:00
Devon Carew
6a6b6539c8 Merge pull request #1947 from devoncarew/less_ios
make the ios development path less mandatory
2016-02-17 00:48:00 -08:00
Devon Carew
7ae6f7f391 make the ios development path less mandatory 2016-02-17 00:38:47 -08:00
Adam Barth
db7294206a Merge pull request #1940 from abarth/improve_android_sdk
Improve error message when Android SDK not found
2016-02-16 17:11:14 -08:00
Adam Barth
bef8d081ed Improve error message when Android SDK not found
Also, look for the Android SDK in the default locations.
2016-02-16 17:02:52 -08:00
Eric Seidel
6159c67d2c Merge pull request #1932 from eseidelGoogle/hide_run_mojo
Hide flutter run_mojo
2016-02-16 16:07:32 -08:00
Eric Seidel
f784fb8ce6 Hide flutter run_mojo 2016-02-16 16:06:39 -08:00
Adam Barth
0bb8d21bd2 Remove flutter ios command
All the functionality of this command has been integrated into other commands.
2016-02-16 16:01:59 -08:00
Chinmay Garde
c2f5044099 Refactor: Rename initialize_xcode.dart to setup_xcodeproj.dart 2016-02-16 15:35:59 -08:00
Chinmay Garde
5cebf70da4 flutter start initializes the Xcode project if the user has not already done so. 2016-02-16 15:18:47 -08:00
Chinmay Garde
d38bfee62b Tooling updates for dealing with native services distributed in pub packages 2016-02-16 13:10:12 -08:00
Adam Barth
cf8116368d flutter run should run pub get automatically
This removes a step that can cause trouble.

Fixes #1904
2016-02-16 11:16:34 -08:00
Devon Carew
b7b06c2a27 fixes found when running through the getting started process 2016-02-15 14:06:23 -08:00
Devon Carew
cc72bbc7ec rename list->devices, start->run 2016-02-13 23:50:20 -08:00
Devon Carew
dcf0b7bae6 allow any android sdk version 2016-02-13 14:37:41 -08:00
Devon Carew
8baf7694cb update gitignore and analysis_options 2016-02-12 13:13:05 -08:00
Todd Volkert
5d496143ba Review 2016-02-12 08:27:47 -08:00
Chinmay Garde
62fb32d458 Merge pull request #1792 from chinmaygarde/master
Allow users to upgrade their iOS engines without removing their edits to the Xcode project
2016-02-11 21:17:30 -08:00
Adam Barth
2a1b0f6c22 Merge pull request #1793 from abarth/version_code
Add versionCode and versionName to default Android manifest
2016-02-11 20:11:35 -08:00
Adam Barth
0ae17bc3b3 Add versionCode and versionName to default Android manifest
These are required to upload to the store.

Fixes #1006
2016-02-11 19:43:39 -08:00
Adam Barth
8b94b9e9c6 Merge pull request #1784 from devoncarew/rename_apk_dir
rename the apk/ directory to android/
2016-02-11 19:37:44 -08:00
Chinmay Garde
23c632ab87 iOS: Write a default .gitignore file for the "Generated" directory 2016-02-11 18:40:54 -08:00
Chinmay Garde
5f6e9cb39c iOS: Generate the initial set of user editable files if these are not already present 2016-02-11 17:44:04 -08:00
Chinmay Garde
978973fac9 iOS: Inflate the Xcode project into a "Generated" subdirectory 2016-02-11 17:13:06 -08:00
Chinmay Garde
94e9795b0b Merge pull request #1788 from chinmaygarde/master
Write a REVISION file in the ios directory to aid in version checks
2016-02-11 15:54:01 -08:00
Chinmay Garde
0e9f8e4069 Write a REVISION file in the ios directory to aid in version checks 2016-02-11 15:46:09 -08:00
Devon Carew
de8d11e714 rename the apk/ directory to android/ 2016-02-11 13:28:24 -08:00
Adam Barth
78c19d22eb Teach run_mojo about Mozart
Instead of running the FLX directly, we need to run mojo:launcher and have it
run the FLX.
2016-02-11 12:16:04 -08:00
Devon Carew
4ed79454ac wait for flutter start to return until the obs. port is available 2016-02-11 10:18:39 -08:00
Devon Carew
aa66a7720c fix an NPE when the flutter.yaml file is missing 2016-02-10 15:41:57 -08:00
Matt Perry
a02d583d02 Refactor service-related code to be shared between android and IOS.
The IOS code is totally untested. Need a Mac to test it.
2016-02-10 14:52:17 -05:00
Collin Jackson
5cd9d5b214 Upgrade command shouldn’t validate project, fixes #1745 2016-02-10 10:04:35 -08:00
Devon Carew
244239d982 Merge pull request #1753 from devoncarew/fix_logging_ios
fix an issue with logging ios simulator output
2016-02-10 09:24:55 -08:00
Devon Carew
2dbceafbc6 introduce globals scoped to the app's context 2016-02-09 22:03:13 -08:00
Devon Carew
05113d5829 fix an issue with logging ios simulator output 2016-02-09 21:21:02 -08:00
Devon Carew
a9a445b19d Merge pull request #1743 from devoncarew/ignore_io_build
ignore derived resources in ios/build
2016-02-09 16:24:08 -08:00
Devon Carew
427bc1e392 ignore derived resources in ios/build 2016-02-09 15:41:45 -08:00
Jason Simmons
bf1246d881 Add a refresh command that rebuilds the snapshot and reloads it on the device
This provides a fast way to iterate on changes to a Flutter app that only
involve updates to Dart code and do not require a full build and install
of the FLX and APK
2016-02-09 13:08:19 -08:00
Adam Barth
3c8cbef973 Rationalize RenderViewport and RenderVirtualViewport
These classes now share more code and have feature parity.
2016-02-09 10:30:52 -08:00
Matt Perry
1cf36da1e1 Fix flutter stop to stop the right Android activity.
Previously we'd always stop org.domokit.sky.shell. If an
AndroidManifest.xml exists, we'll use the activity specified in there
instead.
2016-02-09 11:53:37 -05:00
Collin Jackson
9ec12824aa Make flutter create generate a manifest that is similar to SkyShell.apk, fixes #1587 2016-02-08 11:11:25 -08:00
Devon Carew
9e6d45cb03 general refactoring around device management
remove the device factory methods as well as the device cache
2016-02-06 11:49:48 -08:00
Devon Carew
ebd8078b06 two fixes for checked mode 2016-02-05 20:57:41 -08:00
Devon Carew
67124dc3a5 refactor to parse xcrun simctl list as json
add device notifications for the simulator
2016-02-05 19:04:47 -08:00
Todd Volkert
f0379df5c7 Refactor flx.build() to allow for external toolchain hooks.
This splits flx.build() into two methods, flx.build() and
flx.assemble().  builD() now does the following:
1) constructs the manifest map by reading the manifest from the
   file system
2) "compiles" the dart code into the snapshot file
3) Invokes assemble()

This allows external build toolchains to construct their own
manifest map (possibly using a different manifest syntax)
and create their own snapshot file
2016-02-04 15:44:03 -08:00
Matt Perry
fbe6779f4f Merge pull request #1539 from mpcomplete/start
'flutter start' calls 'flutter apk' if necessary.
2016-02-03 13:13:52 -08:00
Matt Perry
5d2281b69b 'flutter start' calls 'flutter apk' if necessary.
flutter start no longer depends on a pre-built SkyShell.apk. It builds a
new one, as long as an AndroidManifest.xml exists.

We rebuild the .apk every time either AndroidManifest.xml or
flutter.yaml changes.
2016-02-03 12:21:20 -08:00
Devon Carew
cbb2761e5f Merge pull request #1560 from devoncarew/target_option
normalize -t --target option
2016-02-03 11:49:23 -08:00
Devon Carew
bfb89195c3 add a hidden flag for backwards compatibility 2016-02-03 02:19:10 -08:00
Devon Carew
33874eb71f update arg reference 2016-02-03 01:07:40 -08:00
Devon Carew
b6e8118e2d normalize -t --target option 2016-02-03 00:52:07 -08:00
Devon Carew
4200378d3c add docs for -h -v 2016-02-03 00:13:12 -08:00
Devon Carew
2981fc404d Merge pull request #1526 from devoncarew/start_paused
add --start-paused,--debug-port flags
2016-02-02 12:05:12 -08:00
Devon Carew
b780c07622 add --start-paused,--debug-port flags 2016-02-02 11:38:56 -08:00
Collin Jackson
3094348ad4 Merge pull request #1483 from collinjackson/engine_safety
In addition to checking for the existence of the engine, ensure that it’s the correct version
2016-02-01 16:10:03 -08:00
Collin Jackson
beaffecb7b fix #1443 ensure engine is the correct version 2016-02-01 13:11:30 -08:00
Devon Carew
78e05884ed refactor flutter logs 2016-02-01 12:56:46 -08:00
Devon Carew
a08c201996 Merge pull request #1481 from devoncarew/patch_ios_logs
fix a regex in the ios logs command
2016-01-30 22:55:18 -08:00
Devon Carew
d631ebe597 fix a regex in the ios logs command
fixed sub-process stdout parsing; added todos
2016-01-30 22:48:28 -08:00
Devon Carew
d6b4759fee tweak the output for the analyze command 2016-01-30 22:06:26 -08:00
Devon Carew
09cca3b34c massage the help text 2016-01-29 14:32:12 -08:00
Devon Carew
864b7f47d7 add the engine revision to --version 2016-01-29 10:45:59 -08:00
Devon Carew
a4b0c3d584 make the output from create more terse 2016-01-28 15:18:25 -08:00
Devon Carew
5ff2b1a19b Merge pull request #1444 from devoncarew/work_on_test
test command checks for test dir
2016-01-28 15:03:38 -08:00
Devon Carew
5b2005d4ff Merge pull request #1452 from devoncarew/start_command
make --device-id work with ios devices too
2016-01-28 15:03:21 -08:00
Devon Carew
c46ad29cfb test commands checks for test fir 2016-01-28 15:02:50 -08:00
Devon Carew
2065483a1c make --device-id work with ios devices too 2016-01-28 14:43:57 -08:00
Devon Carew
be2862debc update description text for the trace command 2016-01-28 14:40:33 -08:00
Jason Simmons
12419d6bcf Merge pull request #1446 from jason-simmons/app_process_restart
Add a --full-restart flag to the start command that controls whether …
2016-01-28 14:23:01 -08:00
Jason Simmons
0eb970f7f0 Add a --full-restart flag to the start command that controls whether we stop the application process
SkyActivity now allows reloading application Dart code within an existing
activity.  If a SkyActivity instance is already running, then passing
--no-full-restart will restart the Dart code without killing and restarting
the SkyShell application.
(full-restart will remain the default until the engine
that supports this is rolled out)

Also remove the obsolete --poke flag
2016-01-28 14:13:42 -08:00
Devon Carew
d7fbf5302d use status(), error(), and trace() for logging
rename to printTrace(), printStatus(), and printError()
2016-01-28 12:44:17 -08:00
Devon Carew
55c333f583 tweaks to the ios code 2016-01-28 08:25:23 -08:00
Devon Carew
76d069f9c0 rename the init command to create 2016-01-27 14:37:29 -08:00
Devon Carew
7ac4e6248f refactor the list command 2016-01-27 14:03:41 -08:00
Jason Simmons
f0a62d6453 Merge pull request #1410 from jason-simmons/tracing_pull
Allow collection of trace files when adbd is not running as root
2016-01-27 11:04:22 -08:00
Jason Simmons
58ba5129e3 Allow collection of trace files when adbd is not running as root
Also fix a bug where the trace command may capture the wrong file
if multiple trace file paths are in the Android log buffer.

Previously we found a lower bound timestamp for the trace path log
by running the date command on the device and parsing the result on
the host.  This could yield an inaccurate result if the device and
host are using different time zones.

The command will now obtain the most recent timestamp in the device's
time format by running logcat.
2016-01-27 10:57:13 -08:00
Chinmay Garde
c66e00f4a7 iOS: Make the error message on flutter ios --init more descriptive 2016-01-26 14:07:39 -08:00
Chinmay Garde
9e089f237f Avoid launching Xcode after "flutter ios --init" 2016-01-26 11:56:29 -08:00
Devon Carew
080896a305 improve device notification support 2016-01-25 13:50:59 -08:00
Matt Perry
6610b7ea04 Support local paths to third-party jars in flutter apk.
Also improve the error message a bit if a download fails.
2016-01-25 15:05:06 -05:00
Seth Ladd
fa91b3ff75 get a bug fix for multi-line command descriptions 2016-01-25 09:28:42 -08:00
Ian Hickson
5494323db9 Move us to HashSet to avoid the overhead of tracking the order 2016-01-23 18:13:13 -08:00
Eric Seidel
7f3ae43b7f Make flutter list not crash on linux.
Turns out linux does have an ideviceinstaller package
however it doesn't contain idevice_id or any of the
other tools we use.  Furthermore we don't have
xcrun or the rest of xcode on linux so we can't
manipulate simulators either.

No sense in printing out a warning that ios isn't supported
every time on linux, so I wrapped that block in osx only.

@chinmaygarde @devoncarew
2016-01-22 14:58:13 -08:00
Devon Carew
5bce2fbdec refactor platform specific code out of device.dart
remove device type specific checks
2016-01-22 10:51:49 -08:00
Matt Perry
dcbb4960eb 'flutter apk' now supports dynamically registered services.
Third-party libraries can now provide their own mojo services. They do
so by adding a config.yaml file to their pub package which contains
- a list of service names and java classes which handles that service's
  registration.
- a list of pre-built .jar files to statically link with the app's shell
  when building the app.
2016-01-22 13:20:54 -05:00
Devon Carew
5daf58ce1e refactor commands to move out re-usable functionality 2016-01-21 09:38:46 -08:00
Eric Seidel
f9c7a8f606 Make flutter start not report erroneous failure
Was failing when starting in the iOS Simulator

@chinmaygarde
2016-01-20 17:57:28 -08:00
Devon Carew
70fb49fb14 refactor build command into two files 2016-01-20 15:45:34 -08:00
Devon Carew
5ac6f9313d Merge pull request #1305 from devoncarew/device_notification
Device notification
2016-01-20 10:03:56 -08:00
Devon Carew
87e6b9a082 name and grammar tweaks 2016-01-20 08:38:50 -08:00
Devon Carew
8bb8e1d9e7 add device notifications to the daemon command 2016-01-19 21:29:20 -08:00
Devon Carew
386c351884 improve the failure mode when run from a non-flutter project
fix an issue where errors were printed twice
2016-01-19 20:56:23 -08:00
Chinmay Garde
477530f309 Merge pull request #1249 from chinmaygarde/master
First take on `flutter start` for iOS devices
2016-01-19 14:59:05 -08:00
Ian Hickson
62673cf67b Merge pull request #1286 from Hixie/better-analyze
Make 'flutter analyze' support analyzing arbitrary files
2016-01-17 22:34:13 -08:00
Ian Hickson
1f6ed67bd9 Make 'flutter analyze' support analyzing arbitrary files
Before we didn't know how to find the packages of random files. Now we do.
2016-01-16 13:38:47 -08:00
Ian Hickson
9eb978443b Prepare flutter analyze for dart 1.14 2016-01-16 11:28:13 -08:00
Chinmay Garde
02f423f5d3 Minor: Remove unnecessary continue 2016-01-15 11:51:45 -08:00
Chinmay Garde
53ea61942b Invoke Device::startApp on the specific device 2016-01-15 11:51:45 -08:00
Seth Ladd
59fde0b45c clarify that start defaults to checked 2016-01-13 08:53:46 -08:00
Devon Carew
0f55ebe503 fixes to flutter analyze for the latest dev sdk 2016-01-12 19:04:19 -08:00
Eric Seidel
9257682b01 Remove stray period added from web editor. 2016-01-12 17:09:15 -08:00
Eric Seidel
a6e8fccb90 Correct display error for flutter analyze timing
Fixes #1213.
2016-01-12 17:08:38 -08:00
Seth Ladd
42d90c00cc starter app now has a button that does something 2016-01-12 10:28:40 -08:00
Eric Seidel
001c107858 Teach analyze how to print out the total time spent
Makes it more obvious that flutter analyze takes a long time.

@Hixie
2016-01-12 09:20:36 -08:00
Adam Barth
2303188614 Handle trying to upgrade Flutter with no upstream
Fixes #1084
2016-01-07 10:57:48 -08:00
Eric Seidel
330c08199e Revert "Make flutter listen exit nicely when missing dependencies" 2016-01-06 17:17:16 -08:00
Eric Seidel
3a2aa89064 Make flutter listen exit nicely when missing dependencies
Previously it died with a confusing exception.

@chinmaygarde
2016-01-06 17:07:36 -08:00
Chinmay Garde
f5f9440a2d Download the Xcode artifacts for the current engine revision 2016-01-06 13:38:43 -08:00
Devon Carew
782f505fb8 clear logs on app launch 2016-01-05 11:02:49 -08:00
Jason Simmons
3a37c36cea Add flags for signing an APK with a custom keystore
Fixes #1010
2016-01-04 13:59:01 -08:00
Adam Barth
eecb8012af flutter init should gitignore .atom
We now create a .atom folder to hold settings for the Atom project. We
should gitignore that folder our project template.
2016-01-01 19:44:39 -08:00
Devon Carew
fc0b18c7f1 update the min api level in the generated android manifest; use constants for the android version name 2015-12-30 21:37:39 -08:00
Ian Hickson
4fe10dbf7e Refactor listen in terms of start.
Fixes #1034, at least for start and listen.
2015-12-28 17:57:47 -08:00
Chinmay Garde
56d6476049 Merge pull request #986 from chinmaygarde/master
Fix travis builds and linter warnings
2015-12-17 15:31:55 -08:00
Chinmay Garde
8231f57984 Fix travis builds and linter warnings 2015-12-17 15:25:59 -08:00
Chinmay Garde
98f10bc6eb Merge pull request #983 from chinmaygarde/master
Add a 'flutter ios --init' command that fetches the Xcode project from the cloud and configures it for a given flutter project
2015-12-17 14:59:26 -08:00
Chinmay Garde
08fdf99fea Add a 'flutter ios --init' command that fetches the Xcode project from the cloud and configures it for a given flutter project 2015-12-17 14:58:39 -08:00
Eric Seidel
dd440d0c21 Fix flutter apk to work with resources
I screwed up my last change, turns out the package command
is sensitive about having all of its flags before args.

Also made it possible to control the resources directory
from the command line per the review comments in the previous change.

@jason-simmons
2015-12-16 16:18:02 -08:00
Eric Seidel
64bec53646 Add support for bundling apk resources
I also made it so that `flutter apk -v` showed what
commands it was running by moving off of a custom _run
function onto the base/process.dart runChecked shared
by other commands.

@jason-simmons
2015-12-16 15:33:33 -08:00
Ian Hickson
7151fdd054 Move flutter tests from packages/unit to packages/flutter/test 2015-12-16 08:00:57 -08:00
Hixie
0a6b0f9b0b Always import our packages when analyzing. 2015-12-14 12:56:31 -08:00
Hixie
889a1e8eb3 Analyze more tests. 2015-12-14 11:06:42 -08:00
Adam Barth
8eb9763569 Improve error messages when build fails
Instead of failing with a cryptic error message about app.flx, we now fail with
an explicit message about the compiler.

Releated to #865
2015-12-10 11:25:19 -08:00
Adam Barth
2b6b781c7a Switch over to the Travis-built artifacts
We've been bulding these binaries using Travis for a while. We can start using
them now.
2015-12-08 15:01:44 -08:00
Ian Hickson
0290622bc6 Analyzer improvements
- strengthen analyzer against error messages that point past the
  bottom of the file.

- ignore any errors in intl's auto-generated files.
2015-12-03 19:52:23 -08:00
Eric Seidel
5e2bc90daf Make it possible to specify the saved path for trace --stop
@chinmaygarde
2015-12-03 14:44:59 -08:00
Eric Seidel
4eee2e4c1d Add support for passing --trace-startup on Android
iOS takes a different codepath and will need more work.

@chinmaygarde
2015-12-03 12:23:52 -08:00
Adam Barth
fb98a387aa Support flutter test with prebuilt binaries
Now you can run tests with and without --flutter-repo with a prebuilt binary on
Linux.

Fixes #307
2015-12-03 10:05:57 -08:00
Jason Simmons
bbd84bce93 Merge pull request #660 from jason-simmons/apk_output_label
Add output to "flutter apk" indicating where the APK file was written
2015-12-01 15:50:52 -08:00
Jason Simmons
01ff4ef6bc Add output to "flutter apk" indicating where the APK file was written 2015-12-01 15:44:15 -08:00
Jason Simmons
76ced91388 Generate an Android manifest in "flutter init" 2015-12-01 15:28:19 -08:00
Adam Barth
9662d49e12 Clean up code organization in flutter_tools
1) Moved basic utility code into base/ directory to make it clear which code
   doesn't depend on Flutter-specific knowldge.
2) Move the CommandRunner subclasses into a runner/ directory because these
   aren't commands themselves.
2015-11-28 21:16:55 -08:00
Ian Hickson
92a6212007 dev/update_packages.dart --upgrade
Add an --upgrade flag to the dev/update_packages.dart flag which runs
'pub upgrade' instead of 'pub get'. Tell people to use this when using
'flutter analyze' since 'pub get' doesn't have the same guarantee of
getting everything in sync.
2015-11-27 20:01:13 -08:00
Devon Carew
13fbafdabf Merge pull request #591 from devoncarew/log_time
print logging timestamps to profile app launch
2015-11-25 12:54:49 -08:00
Devon Carew
e36b07f7b5 print logging timestamps to profile app launch 2015-11-25 12:47:25 -08:00
Devon Carew
559ea9d08d allow logs to work from any location 2015-11-25 12:39:33 -08:00
Adam Barth
860547c1d4 Add support for system-level routing
Now you can supply a route argument to flutter start:

  $ flutter start --route /foo

which will start the app at /foo instead of /.
2015-11-24 16:13:20 -08:00
krisgiesing
1a351a6598 Merge pull request #478 from krisgiesing/run_mojo_android
Allow run_mojo --android to specify location of flutter engine
2015-11-23 14:19:28 -08:00
Kris Giesing
02510dd866 Allow run_mojo --android to specify location of flutter engine 2015-11-23 14:11:51 -08:00
Adam Barth
c7e00449a8 Make it possible to run tests outside the Flutter repo
This patch still requires a locally built engine. I'll remove the need for a
locally built engine in a future patch.

Fixes #278
2015-11-23 13:42:04 -08:00
Seth Ladd
c675ec7d6e Merge pull request #530 from sethladd/more-error-message
more verbose error message
2015-11-23 09:50:29 -08:00
Seth Ladd
84cfcde1f7 tweaking message 2015-11-23 09:24:20 -08:00