Commit Graph

394 Commits

Author SHA1 Message Date
Hixie
5810cd80bd Avoid 'as' keyword
It has performance implications in release mode.

We'll enable the lint once https://github.com/dart-lang/linter/issues/195 is fixed.
2016-03-09 15:00:55 -08:00
Jason Simmons
5108a6cc58 Add an option to specify a working directory for the FLX builder
This allows building an FLX without leaving any temporary files in the app's
source directory
2016-03-09 14:59:40 -08:00
Alhaad Gokhale
5faf84c3fa Merge pull request #2528 from alhaad/depsfile_hook
Add `flutter_tools build` hooks to also generate depfile.
2016-03-09 12:29:31 -08:00
Alhaad Gokhale
b8d64ffe68 Add flutter_tools build hooks to also generate depfile.
Fixes #1942.
2016-03-09 11:24:47 -08:00
Devon Carew
2e9fef8c46 fix a regression in flutter logs 2016-03-09 10:48:34 -08:00
Adam Barth
e4b1eab854 Remove //examples/widgets
Most of the remaining widget examples are actually manual tests. This patch
moves them into //dev/manual_tests. A couple are examples of using services,
which I've moved to //examples/layers/services. The remainder are out-dated and
are removed by this patch.
2016-03-08 16:37:32 -08:00
John McCutchan
8803cecea1 Refactor DeviceLogReader 2016-03-08 10:38:22 -08:00
Devon Carew
52efc7fb68 implement --watch for flutter analyze 2016-03-07 13:46:42 -08:00
Devon Carew
b52fa986b6 fix rebase 2016-03-07 10:36:04 -08:00
Steve Messick
8cc5312054 Merge remote-tracking branch 'upstream/master' 2016-03-07 05:17:13 -08:00
Devon Carew
93b31a41df fix flutter create 2016-03-04 18:56:26 -08:00
Steve Messick
cea21fb7b1 Merge remote-tracking branch 'upstream/master' 2016-03-04 14:38:55 -08:00
Steve Messick
2e878746a3 Improve message when target not found 2016-03-04 14:36:32 -08:00
Devon Carew
c1caa26989 fix a mac test 2016-03-04 13:10:51 -08:00
Ian Hickson
047276a666 Random fixes to dartdocs, http lib, analyzer
This is a variety of trivial fixes that I collected while going through the dartdocs.
This does contain some non-comment changes.
2016-03-03 23:56:40 -08:00
Devon Carew
8283ce87e2 fix the stop command tests 2016-03-03 13:58:49 -08:00
Adam Barth
932b09c33a Merge pull request #2048 from abarth/test2
Switch from hack_load_vm_file_hook to PlatformPlugin
2016-03-03 12:11:53 -08:00
Adam Barth
96ec5316b8 Switch from hack_load_vm_file_hook to PlatformPlugin
This patch switches us from using our previous hacking approach to integrating
with package:test to using the new PlatformPlugin interface.
2016-03-03 11:23:36 -08:00
Devon Carew
d911aaa6d0 refactot the stop command to not use DeviceStore 2016-03-03 00:22:40 -08:00
Devon Carew
d9d94b1691 Merge pull request #2328 from devoncarew/no_dashes
clean the project names used for flutter create
2016-03-02 12:36:56 -08:00
Devon Carew
4c569195f1 clean the project names used for flutter create 2016-03-02 12:36:37 -08:00
Adam Barth
870894fc68 Switch Material Design icons to using the iconfont
Rather than managing all the Material Design icons manually, we now
manage them using an icon font. The icon font contains glyphs for each
icon in an efficient vector format.

This patch updates the FLX tooling to include the MaterialIcons font and
updates the Icon widget to use the font instead of asset images.

Fixes #2313
Fixes #2218
Fixes #2009
Fixes #994
2016-03-02 09:32:02 -08:00
Devon Carew
ebf1ecc5bd valdate project names in create 2016-03-01 11:03:59 -08:00
Yegor Jbanov
6d35481cfa add smoke driver test; find by tooltip; retry predicate 2016-02-29 16:50:47 -08:00
Devon Carew
4d93c376c9 improve verbose output 2016-02-27 23:36:02 -08:00
Devon Carew
f9adbcf23d update a todo 2016-02-27 19:56:20 -08:00
Devon Carew
d326991b97 add back a call to device.stop() from the run command 2016-02-27 19:32:02 -08:00
Devon Carew
4e10bf596c improve startup time 2016-02-27 08:19:19 -08:00
Hixie
ba918fea26 flutter analyze: handle missing files 2016-02-26 18:59:07 -08:00
Hixie
a9040433ad Handle lines getting shorter during analysis 2016-02-26 15:37:43 -08:00
Devon Carew
022047f5eb remove the isConnected() method from device 2016-02-26 13:23:48 -08:00
Devon Carew
240e499bc0 Merge pull request #2219 from devoncarew/speed_up_start
some performance optimizations for starting apps
2016-02-26 12:21:42 -08:00
Devon Carew
8c95500ea1 some performance optimizations for starting apps 2016-02-26 12:01:41 -08:00
Ian Hickson
c04b4c7580 Merge pull request #2206 from Hixie/analyzer-messages
Handle conflicting 'library' identifiers
2016-02-26 11:06:51 -08:00
Adam Barth
44ffb6f453 Merge pull request #2196 from abarth/update_packages
Move update_packages.dart to `flutter update-packages`
2016-02-26 11:03:48 -08:00
Hixie
a33e256ab8 Handle conflicting 'library' identifiers
Also, handle the new directory structure of the flutter repo.
2016-02-26 10:58:39 -08:00
Devon Carew
58f69e7f97 Merge pull request #2211 from devoncarew/flx_times
add timing info for flx creation
2016-02-26 10:44:45 -08:00
Yegor Jbanov
677e63b79d decouple flutter drive from flutter start
flutter start's method of finding devices to run the app on is not suitable for flutter drive.

This commit also refactors several tool services to allow mocking in unit tests.
2016-02-26 10:18:24 -08:00
Devon Carew
ee8f325bc0 add timing info for flx creation 2016-02-26 10:03:42 -08:00
Adam Barth
357fbf8a42 Move update_packages.dart to flutter update-packages
Now that we don't require the Dart SDK to be in your path, it's hard to run
./dev/update_packages.dart. Instead, you can now run `flutter update-packages`.

Fixes #1906
2016-02-25 16:27:56 -08:00
pq
fdb2819e1e Ignore errors via analysis options.
Migrates error suppression from regexps to analysis options.
* Ignore TODOs.
* Ignore strong mode field and method overrides (see `InvalidFieldOverride` and `InvalidMethodOverride` in `strong/info.dart`.
* Remove stale regexp to capture refs to dead `dart:ui_internals` URI.
* Remove stale regexp to capture dead strong mode "will need runtime check to cast to type" error (https://github.com/dart-lang/sdk/issues/24542).

5 regexp downs, another small handful (~4) to go! :)
2016-02-25 13:49:05 -08:00
Devon Carew
4860e63f44 Merge pull request #2153 from devoncarew/add_android_icon
add an android icon to the starter app
2016-02-25 00:40:49 -08:00
Devon Carew
5ee1cba149 fix a regression in the android manifest 2016-02-24 23:40:00 -08:00
Devon Carew
f57afa762f add an android icon to the starter app 2016-02-24 23:12:33 -08:00
Devon Carew
bc8e560779 run flutter doctor as part of create 2016-02-24 19:07:19 -08:00
Devon Carew
dc4830b0fa Merge pull request #2123 from devoncarew/device_commands
additional validation for device commands
2016-02-24 12:54:28 -08:00
Chinmay Garde
21057de9ae Merge pull request #2118 from chinmaygarde/develop
Remove all inline templates and provide a way to specify templates as resources
2016-02-24 12:47:37 -08:00
Chinmay Garde
038367ad24 Remove all inline templates and provide a way to specify templates as resources 2016-02-24 11:33:07 -08:00
Devon Carew
37290d866e additional validation for device commands 2016-02-24 11:11:23 -08:00
Phil Quitslund
1062c44f4a Merge pull request #2094 from flutter/analyze_fixes
Enumerate lints for analysis in synthesized options file.
2016-02-23 16:36:09 -08:00
pq
b69d249460 Enumerate lints for analysis in synthesized options file.
This enables us to exclude `library_names` pending a new stable SDK push (see notes: https://github.com/flutter/flutter/pull/1996).  Also excluded are a few lints who's feedback was just getting regexp'ed out.  Moving forward, this will allow us to selectively enable specific lints of interest as well.
2016-02-23 15:07:55 -08:00
Collin Jackson
8ab9a8fe03 Remove redundant Material from project created by flutter create 2016-02-23 11:29:55 -08:00
Yegor
3301ae7d09 Merge pull request #2097 from yjbanov/flutter-driver-create
"flutter create" can generate a basic driver test; "flutter drive" gains new options
2016-02-22 17:18:54 -08:00
yjbanov
278630e688 "flutter create" can generate a basic driver test
"flutter create" adds option `--with-driver-test` that adds
dependencies to `flutter_driver` in `pubspec.yaml` and creates
a basic driver test runnable via `flutter drive
--target=test_driver/e2e.dart`

"flutter drive" new options:

- `--keep-app-running` tells the driver to not stop the app after tests
  are done
- `--use-existing-app` tells the driver to not start a new app but use
  an already running instance
2016-02-22 17:10:31 -08:00
Devon Carew
3463d89cf6 remove iosSimulator field from ApplicationPackageStore 2016-02-22 12:37:08 -08:00
Devon Carew
896246ad14 Merge pull request #2079 from devoncarew/more_specific_logging
log for specific adb devices
2016-02-22 12:12:05 -08:00
Chinmay Garde
d299b05ab3 Fix linter error regarding extra braces in string interpolation in devices.dart 2016-02-22 11:51:35 -08:00
Chinmay Garde
f7d94fef8f Update status messages when unsupported devices are detected by the tools 2016-02-22 11:33:17 -08:00
Devon Carew
488e5dcd6c log for specific adb devices 2016-02-21 00:23:13 -08:00
Devon Carew
67046f933d add the ability to start and stop device polling 2016-02-20 22:00:11 -08:00
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