Commit Graph

201 Commits

Author SHA1 Message Date
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
Adam Barth
99d51f5f5a Fix analyzer warnings
Should make Travis green again. Also, add better logging to
dev/update_packages.dart.
2015-11-21 13:39:45 -08:00
Jason Simmons
ae7c97160a Merge pull request #533 from jason-simmons/apk_artifact_cache
Build APKs without a local copy of the engine sources
2015-11-20 16:43:14 -08:00
Jason Simmons
854db78466 Build APKs without a local copy of the engine sources 2015-11-20 16:22:18 -08:00
Seth Ladd
9496de7c80 more verbose error message
undo auto format
2015-11-20 15:34:28 -08:00
Adam Barth
0d3c2d9336 flutter build --engine-src-dir=<garbage> produces poor error message
This patch improves the error message.

Fixes #468
2015-11-20 15:09:04 -08:00
Adam Barth
19fe92e35d Merge pull request #521 from abarth/fix_analyzer
Fix analyzer warnings in updater package
2015-11-20 14:14:39 -08:00
Adam Barth
4cd1fb177a Fix analyzer warnings in updater package
This class was renamed to MojoEventSubscription.
2015-11-20 13:12:27 -08:00
Adam Barth
dc23af9ff1 Merge pull request #513 from abarth/improve_build_help
Be more specific about what `flutter build` does
2015-11-20 12:57:36 -08:00
Jason Simmons
1f83018f86 Download build artifacts from a zip file
This updates the Flutter tools to match the proposed new packaging of artifacts
in the engine release script.
* The GCS URL for artifacts is now gs://mojo/flutter/$revision/$platform
* Categories have been removed from the Artifact class
* All artifacts for a given platform now live in a zip file.  If an artifact
  is not present in the local cache, then the zip will be downloaded and
  extracted.

Note that darwin-x64 artifacts go through a different process that (for now)
continues to use the old format.
2015-11-20 10:27:18 -08:00
Adam Barth
18763e5609 Be more specific about what flutter build does
Fixes #512
2015-11-20 09:14:48 -08:00
Adam Barth
b20a1f4a15 Merge pull request #457 from abarth/asset_error
Improve error message for non-existent asset
2015-11-17 23:07:27 -08:00
Adam Barth
7b75d15d46 Improve error message for non-existent asset
Now we print the name of the asset and the base directory where we looked for
the error instead of throwing a null pointer exception.

Fixes #296
2015-11-17 22:56:00 -08:00
Adam Barth
cada8b3faa Import path.dart as path rather than p
Fixes #311
2015-11-17 22:44:54 -08:00
Adam Barth
f6bd26a3f3 Make flutter run_mojo imply flutter build
This makes run_mojo more similar to flutter start.
2015-11-17 16:19:55 -08:00
Adam Barth
0760c8be7f Merge pull request #446 from abarth/improve_version
Improve flutter --version output
2015-11-17 16:05:08 -08:00
Jason Simmons
ba10546889 Merge pull request #437 from jason-simmons/apk_package
Add a Flutter command that builds an APK using a local build of the e…
2015-11-17 15:27:34 -08:00
Adam Barth
835e7f25fc Improve flutter --version output
Sample output:

```
Flutter
Repository: git@github.com:flutter/flutter.git
Branch: master
Revision: 7be58b1ae0 (62 minutes ago)
```

Fixes #433
2015-11-17 15:24:25 -08:00
Jason Simmons
07556429f2 Add a Flutter command that builds an APK using a local build of the engine
Example:
   cd flutter/examples/stocks
   flutter --engine-src-path /path/to/engine/src apk -o Stocks.apk -m apk/AndroidManifest.xml
2015-11-17 14:54:25 -08:00
Adam Barth
b8e16d7c09 Switch flutter run_mojo over to flutter.mojo
The new flutter.mojo is ready for use.
2015-11-17 14:16:20 -08:00
Hixie
56b9245b1a Allowing us to have a single error seems silly. 2015-11-17 11:08:46 -08:00
Adam Barth
a35b214d89 Merge pull request #421 from abarth/icon_sizes
Add all the icon sizes to the FLX
2015-11-16 23:01:02 -08:00
Adam Barth
a8ab3d6934 Add all the icon sizes to the FLX
Adding all the sizes of all the icons adds about 50 KB to the stocks FLX.
That's probably the right trade-off until we get better at pruning the set of
assets.

Fixes #235
2015-11-16 22:55:35 -08:00
Adam Barth
9e212017fb Add a --version option to flutter
This option just prints the current git revision.

Fixes #40
2015-11-16 22:49:30 -08:00
krisgiesing
725474c6d7 Merge pull request #416 from krisgiesing/run_mojo_fix
Allow flutter engine path to be set when using run_mojo
2015-11-16 17:06:49 -08:00
Kris Giesing
95a2af8b80 Fix analyzer errors 2015-11-16 17:00:55 -08:00
Kris Giesing
57bca7da10 Allow flutter engine path to be set when using run_mojo 2015-11-16 16:42:47 -08:00
Collin Jackson
0aca425a8b Fix #373 Add abbreviation for flutter logs -c 2015-11-16 14:23:18 -08:00
Hixie
8ab229f89c Make the analyzer actually work.
Turns out that ignoring all error lines that match the empty string is a
poor way to go.

Also, we have to update all the example packages now too, since we
analyze them. So just have travis use our update script.

Also, remove flutter_tools' old travis stuff. It's now part of a bigger
repo.

Also, make travis use the dev Dart SDK, since we need the new analyzer.
Stable is way too out of date, e.g. it still complains about libraries
not having names and mixins using 'super', and the strong mode hints are
even more aggressive than on dev.
2015-11-12 15:41:04 -08:00
Hixie
4a5713acc8 Delete analyzer temporary directories 2015-11-12 13:11:41 -08:00
Hixie
a0227cab15 flutter analyze command
Other changes in this patch:
- Make the 'flutter' tool say "Updating flutter tool..." when it calls
  pub get, to avoid confusion about what the pub get output is about.
- Make the bash flutter tool call pub get when the revision has
  changed. (This was already happening on Windows.)
- Fix a raft of bugs found by the analyzer.
- Fix some style nits in various bits of code that happened to be near
  things the analyzer noticed.
- Remove the logic in "flutter test" that would run "pub get", since
  upon further reflexion it was determined it didn't work anyway.
  We'll probably have to add better diagnostics here and say to run the
  updater script.
- Remove the native velocity tracker script, since it was testing code
  that has since been removed.

Notes on ignored warnings:
- We ignore warnings in any packages that are not in the Flutter repo or
  in the author's current directory.
- We ignore various irrelevant Strong Mode warnings. We still enable
  strong mode because even though it's not really relevant to our needs,
  it does (more or less accidentally) catch a few things that are
  helpful to us.
- We allow CONSTANTS_LIKE_THIS, since we get some of those from other
  platforms that we are copying for sanity and consistency.
- We allow one-member abstract classes since we have a number of them
  where it's perfectly reasonable.
- We unfortunately still ignore warnings in mojom.dart autogenerated
  files. We should really fix those but that's a separate patch.
- We verify the actual source file when we see the 'Name non-constant
  identifiers using lowerCamelCase.' lint, to allow one-letter variables
  that use capital letters (e.g. for physics expressions) and to allow
  multiple-underscore variable names.
- We ignore all errors on lines that contain the following magic
  incantation and a "#" character:
    // analyzer doesn't like constructor tear-offs
- For all remaining errors, if the line contains a comment of the form
    // analyzer says "..."
  ...then we ignore any errors that have that "..." string in them.
2015-11-12 12:23:29 -08:00
Adam Barth
90991854e0 Add a flutter upgrade command
This command upgrades the version of flutter that you're using and runs
`pub upgrade` to update the transitive dependencies.
2015-11-12 10:16:13 -08:00
Adam Barth
da0a12c611 Rename sky_tools to flutter_tools 2015-11-10 13:20:35 -08:00
Ian Hickson
0a1385d9a9 Merge pull request #66 from Hixie/better-tests
Run 'pub get' the first time the tests are run
2015-11-10 12:26:42 -08:00