Commit graph

1732 commits

Author SHA1 Message Date
Eric Seidel 847df52860 Point to Github issues instead of flutter.io
Fixes #489.

@sethladd
2015-11-19 10:29:29 -08:00
Adam Barth fd6bc856a7 Merge pull request #458 from abarth/adb_errors
Handle adb error cases more gracefully
2015-11-18 08:17:24 -08:00
Adam Barth 3027497f85 Handle adb error cases more gracefully
We now print a sensible message if we can't find `dart` or `adb`. Also, we
print a sensible message if the device isn't authorized.

Fixes #380
Fixes #358
2015-11-17 23:23:30 -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 f1f68f50d2 Merge pull request #401 from collinjackson/remove_sky_log_check
Now that #371 is fixed, we no longer need to check logs for "sky"
2015-11-16 15:57:53 -08:00
Collin Jackson 8c195c074f Now that #371 is fixed, we no longer need to check logs for "sky" 2015-11-16 14:34:54 -08:00
Collin Jackson 0aca425a8b Fix #373 Add abbreviation for flutter logs -c 2015-11-16 14:23:18 -08:00
Nathan Kerr d36af446f2 Change Regex to correctly match against my device.
Since we don't care about the port, just allow any characters between the spaces after the device ID and the product.

Running Windows 10, running "adb devices -l" with my device attached to the computer gives:
FA34MW904146           device product:cm_m7 model:One device:m7

Which wasn't being matched correctly (no info on USB port).
2015-11-14 11:25:29 -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 9c6e96a3e8 Remove constructor tear-offs
Some of our workflows have no way to silence analyzer warnings, and the
analyzer doesn't yet support constructor tear-offs, so pretend that we
can't use them for now.
2015-11-12 12:39:02 -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
Devon Carew 0292180075 also listen for flutter in the adb logs 2015-11-11 21:12:14 -08:00
Devon Carew 3c943d79ec fix an issue parsing 'adb devices' output 2015-11-11 14:14:12 -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
Devon Carew 84c273333c Merge pull request #274 from devoncarew/init_tweak
fix a ws issue in the sample app
2015-11-10 10:43:06 -08:00
Adam Barth b9bc5e790f Merge pull request #87 from alhaad/run_mojo_devtools
Use --devtools-path flag to run_mojo.
2015-11-10 10:27:28 -08:00
Devon Carew 20c2aa1690 fix a ws issue in the sample app 2015-11-10 08:48:03 -08:00
Hixie bd69e2c405 Run 'pub get' the first time the tests are run 2015-11-09 13:44:04 -08:00
Adam Barth 7e8b111bcc Search all the build configurations for sky_snapshot
Previously, we assumed the first build configuration would have one. Now we
keep looking until we find one. Also, re-ordered the configurations so that
you'll get the Android one if you have both, which is probably what you would
expect.

Fixes #100
2015-11-09 13:31:49 -08:00
Alhaad Gokhale 7b19d08cc3 Use --devtools flag to run_mojo.
That way we can control if we want to use devtools to run on Linux and
also cleanly separate out the two uses.

R=@jamesr
2015-11-09 12:29:07 -08:00
Adam Barth 6e7f575950 flutter start should give better errors when it can't find main
Now we suggest using -t to specify the main Dart file.

Fixes #53
2015-11-09 11:31:11 -08:00
Ian Hickson 3419068cb3 Port test logic to Dart. 2015-11-09 09:00:49 -08:00
Adam Barth 576795dcc6 Add a CONTRIBUTING.md
This document describes the workflow for contributing code to this repository.
2015-11-08 21:56:20 -08:00
Devon Carew 4112f66312 Merge pull request #52 from devoncarew/older_android
support older android devices (>= 17)
2015-11-07 21:59:56 -08:00
Devon Carew 3b9862a52c support older android devices (>= 16) 2015-11-07 21:55:21 -08:00
Adam Barth 2710e0f468 Teach flutter init how to depend on flutter using a relative path 2015-11-07 21:30:26 -08:00
Jeff R. Allen c8c2d23f26 Avoid use of run-as
Issue #1988 results from run-as not working on some phones,
because of Android issue 58373.

This change removes the need for run-as for running
"flutter start". It is still needed for tracing.
2015-11-07 15:28:01 +06:00
Adam Barth 2ed113430a Add dev/run_tests
This script runs the Flutter unit tests. By default, the script assumes you
have compiled a SkyShell in an "engine/src" that's a peer to the "flutter"
directory.
2015-11-06 23:14:17 -08:00
Devon Carew a469020983 add a flutter.yaml file to the init template 2015-11-06 20:57:35 -08:00
Adam Barth 113500206a Remove the --http option 2015-11-06 20:17:24 -08:00
Jason Simmons 6e0b59fc09 Add a flag that selects which Android device ID is the target for Flutter commands 2015-11-05 15:53:32 -08:00
Adam Barth fc8cdf4daf Add a command for running unit tests 2015-11-04 23:43:15 -08:00
Adam Barth b4fa3fbbf0 Return to the mojo artifacts for Linux 2015-11-04 14:25:47 -08:00
Matt Perry 4ba8a7f077 Seed the RNG before signing the package. 2015-11-04 14:08:24 -05:00
Adam Barth 297e9c33fa Support Jelly Bean 2015-11-04 08:57:33 -08:00
Adam Barth 3804107e2d Enable --no-http by default
We still have the --http option as a fallback for now. Once we're confident the
--no-http version works, we'll drop the --http support.

Also, create the FLX in a temp directory and then delete the temp directory
when we're done. Finally, pull the Linux artifacts from the cloud storage
bucket that the buildbot is uploading to.
2015-11-03 19:39:47 -08:00
Devon Carew 856f04bee2 Merge pull request #169 from devoncarew/daemon
add a persistent daemon/server mode to sky_tools
2015-11-03 16:01:50 -08:00
Devon Carew 7d0a298b0b start a daemon command
wrap up first daemon implementation
2015-11-03 15:58:02 -08:00
Matt Perry 8ab21d7a9c Depend on the new flx 0.0.5 and remove use of deprecated KeyPair. 2015-11-03 15:28:55 -05:00
Hixie 466a91ab41 fix the 'dart:profiler' bug
...by requiring a new version of analyzer.

Also, when the subprocess is terminated unexpectedly, report the actual
problem in more detail.
2015-11-02 13:11:19 -08:00
Devon Carew 5978f1355d Merge pull request #162 from devoncarew/abstract_os
abstract some OS operations
2015-11-02 13:10:43 -08:00
Devon Carew 5dc4a7cce4 abstract some OS operations 2015-11-02 13:07:56 -08:00
Adam Barth 27118f39ea Add a default maniest path for build 2015-11-02 12:54:31 -08:00
Hixie b43722e79f Handle crashing engine.
When the engine dies unexpectedly during test execution, we have to
terminate any tests running in that engine. Previously, they would just
hang. For some reason that I was never able to satisfactorily explain,
the WebSocket doesn't die in a way I can detect in this case. So
instead, we hand in a future that we only complete when we detect the
server subprocess ends.
2015-11-02 11:19:19 -08:00
Devon Carew 9ee80e4050 Merge pull request #161 from flutter/stack_trace
use stack_trace to create more readable exception traces
2015-11-02 09:24:27 -08:00
Hixie 297b90e250 Try to fix the test framework better than before
The previous attempt to port the 'test' framework to the new framework
wasn't super-successful. This does a better job, hopefully.
2015-11-02 09:09:47 -08:00
Devon Carew 70e20153ab use stack_trace to create more readable exception traces 2015-11-02 00:20:22 -08:00
Adam Barth 94b472ff67 Add a --no-http flag to start command
This flag builds a local FLX file and pushes that to the device instead of
using an HTTP server.
2015-10-31 12:18:03 -07:00
Devon Carew 48c3d01587 fix the stop command 2015-10-30 13:54:39 -07:00
Adam Barth 6e076a3522 Merge pull request #148 from alhaad/update_run_mojo_command
Modify run_mojo command to take path to devtools.
2015-10-29 16:22:36 -07:00
Alhaad Gokhale dde6bd2034 Use a common flag for both android and linux. 2015-10-29 15:29:44 -07:00
Jason Simmons 5f742b70ba Merge pull request #145 from jason-simmons/init_dir_path
Generalize path handling in flutter init
2015-10-29 14:41:33 -07:00
Alhaad Gokhale 587f6e27fe Modify run_mojo command to take path to devtools.
Made changes as discussed.
R=@jamesr
2015-10-29 14:36:25 -07:00
Jason Simmons ef2e038b11 Generalize path handling in flutter init
This will make "-o ." work as expected to initialize a project in the
current directory
2015-10-29 14:33:27 -07:00
Todd Volkert 3d7f2126b9 Merge pull request #142 from flutter/issue_141
Wait for sky server to start before starting device
2015-10-29 14:21:07 -07:00
Todd Volkert a57109beba Wait for sky server to start before starting device
Instead of just waiting for the sky server process to start
before we start the activity on the device, this causes us to
wait for the sky server to actually start listening on its port

Fixes #141
2015-10-29 14:19:15 -07:00
Hixie 79ceee73b2 Port our testing framework to new test library 2015-10-29 14:07:24 -07:00
Devon Carew 494d1e0140 verify that we're running from the root of a project
remove an unused import

review comments

rename st --> stack
2015-10-29 11:30:44 -07:00
Devon Carew 678af9c045 fix some issues found by strong mode 2015-10-28 13:42:46 -07:00
Matt Perry 828b861fce Change signing code to use shared flx package. 2015-10-26 15:14:01 -04:00
Devon Carew 5dbeb8f018 fix tests on windows
remove a runInShell arg on windows when launching pub
2015-10-23 22:44:56 -07:00
Nathan Kerr bfeaaa8fb7 Web paths should always replace \ with / 2015-10-23 14:04:09 -07:00
Nathan Kerr 54e45e2b56 Don't rely on external shasum program to calculate sum of the APK.
Windows has no direct way to kill a process based on port. Uses netstats and loops through the results to find the correct process to kill.

Also modify Process.run for the server to runInShell if on Windows.

Style nits.
2015-10-23 13:06:26 -07:00
Chinmay Garde 21f91bda52 Merge pull request #115 from chinmaygarde/master
Avoid script snapshot creation if the --precompiled flag is set during builds
2015-10-20 21:44:52 -07:00
Devon Carew d4940c5cd4 set a min. dep of sdk 1.13 2015-10-20 19:01:05 -07:00
Chinmay Garde 9a67954b66 Avoid script snapshot creation if the --precompiled flag is set during builds 2015-10-20 18:50:19 -07:00
Matt Perry b458935b84 Support signing flx packages with ECDSA key pair
Adds a --private-key option to the build command, which specifies an ECDSA
private key. When this is provided along with a manifest, the manifest is
prepended to the .flx package and signed with the private key. The manifest
also includes a SHA-256 hash of the zipped content portion of the .flx package.

This is used by the Flutter updater package, to verify that updates are
from the right publisher.
2015-10-19 16:08:53 -04:00
Adam Barth 5670243b53 Sanity check --local-build directory
Fixes https://github.com/flutter/engine/issues/1613
2015-10-19 09:52:56 -07:00
Devon Carew bb1da703a6 return exit codes on failures 2015-10-17 11:50:23 -07:00
Adam Barth 3c9c31332a run_mojo can't find ArtifactStore.packageRoot
The `run_mojo` command doesn't integrate with `FlutterCommand` and doesn't
understand how to download its toolchain components ahead of time. Eventually
we should teach `run_mojo` how to integrate with the `Toolchain` class, but
until then, we can fix the regression by eagerly setting
`ArtifactStore.packageRoot` again.

Fixes https://github.com/domokit/mojo/issues/475
2015-10-15 20:06:30 -07:00
Adam Barth dff0edbc97 init command errors out
We were checking for a pubspec.yaml too early.
2015-10-14 15:25:58 -07:00
Adam Barth 047038b95a Support non-rooted Android devices
Now we use a debuggable APK and chmod the installation directory to be world
readable/writable.

Fixes https://github.com/flutter/engine/issues/126
2015-10-14 13:57:55 -07:00
Adam Barth 80f30d9176 Don't dump a stack trace for a usage exception
Instead, just print the usage.
2015-10-13 13:37:41 -07:00
Adam Barth f0a1632dd6 Add a --local-build flag to detect engine src paths
A common use case for members of the Flutter team is to have a dependency
override for the flutter package that points back into the engine src tree.
We can use that override to automatically detect the engine src path, which
makes the command line shorter.
2015-10-13 10:35:53 -07:00
Adam Barth 12f75817ce Refactor the build command so that it can be used internally
Instead of calling through `pub` to invoke build, this patch refactors the
build command so that it can be called directly.
2015-10-13 10:00:06 -07:00
Adam Barth d9af939995 Improve error message when missing the package-root 2015-10-12 14:01:05 -07:00
Adam Barth 9c4835100b Handle the case of a non-connected Android device better
Previous we dumped a stack trace. Now we produce a more sensible error.
2015-10-12 11:05:09 -07:00
Adam Barth 0e06feee01 Add some print statements to smooth first run
This patch adds a couple print statements to explain why the first run of
`flutter start` takes a while. (We need to download the APK and install it on
the device.)
2015-10-12 01:33:03 -07:00
Adam Barth 8df5e9f738 Polish up some error handling
This patch improves the error handling for several arbitrary issues I
encountered while experimenting with the tool this evening.
2015-10-12 00:55:13 -07:00
Adam Barth bdd20661d7 Teach sky_tools about prebuilt artifacts
This patch makes `flutter start` work without a clone of the engine git
repository. Making this work pulled a relatively large refactor of how the
commands interact with application packages and devices. Now commands that want
to interact with application packages or devices inherit from a common base
class that holds stores of those objects as members.

In production, the commands download and connect to devices based on the build
configuration stored on the FlutterCommandRunner. In testing, these fields are
used to mock out the real application package and devices.
2015-10-12 00:03:55 -07:00
Ian Fischer a6a3f212ee IOSSimulator implementation.
Also fixes some minor bugs with iOS and Android interactions.
2015-10-11 19:36:06 -07:00
Adam Barth 4191ed4921 Don't mention --install
The --install command isn't needed anymore. We automatically detect when
we need to install the APK.
2015-10-11 12:33:59 -07:00
Adam Barth 25eaaefd26 Switch init command over to package:flutter 2015-10-11 11:57:22 -07:00
Adam Barth 9148e1779f Expose main via executable.dart
Expose the main entry point for the tools via the library lets us run the tools
from the Flutter package, which simplifies the setup for end developers because
they don't need to declare a dependency on sky_tools directly.
2015-10-10 00:15:21 -07:00
Devon Carew 7ba6342f88 remove an unused import 2015-10-10 00:00:50 -07:00
Adam Barth 287817f224 Move Command subclasses into commands directory
I'm trying to get a feel for the code by writing some simple cleanup patches.
2015-10-09 23:22:20 -07:00
Devon Carew f7646679dc update the starter app template 2015-10-09 16:55:43 -07:00
Ian Fischer 51f1eb3581 Merge pull request #82 from iansf/ios_listen
Get iOS devices working on Mac if you specify sky-src-path.
2015-10-09 16:51:03 -07:00
Ian Fischer ae32410995 Get iOS devices working on Mac if you specify sky-src-path. 2015-10-09 16:23:33 -07:00
Adam Barth 99de081860 Merge pull request #77 from chinmaygarde/master
Fix Flutter project template
2015-10-09 09:38:42 -07:00
Ian Fischer f4ec459c23 Add support for log commands on iOS. 2015-10-08 15:10:25 -07:00
Ian Fischer 43aaf50e05 Merge pull request #78 from iansf/ios_start
Add implementation of start and stop commands for iOS.
2015-10-07 15:45:34 -07:00
Ian Fischer 844678ddce Add implementation of start and stop commands for iOS. 2015-10-07 15:44:02 -07:00
Ian Fischer 72cc4d6fde Don’t give a scary error about not being able to run on Android if there’s no Android device connected. 2015-10-07 15:29:13 -07:00
Chinmay Garde d92f3fedde Fix Flutter project template 2015-10-07 11:26:55 -07:00
James Robinson fbb1f866d4 Merge pull request #73 from afandria/patch-1
Forward additionalArgs in run_mojo.dart
2015-10-06 19:53:28 -07:00
Ian Fischer 97f62f89c1 Merge pull request #76 from iansf/ios_start
Just log, don’t exit when the user is missing access to a command. Prevents inappropriately-failing tests.
2015-10-06 17:34:24 -07:00
Ian Fischer 7990e874df Just log, don’t exit when the user is missing access to a command. Prevents inappropriately-failing tests. 2015-10-06 16:19:06 -07:00
Devon Carew 5c6c3d9d81 ws 2015-10-06 14:52:45 -07:00
Alex Fandrianto 60cf54d6c2 Forward additionalArgs in run_mojo.dart
In 0.0.15, additional cmdline arguments were not dropped, but now in 0.0.16, the arguments are no longer forwarded.
This patchset would restore this forwarding functionality.

For example, the following command is intended to pass `enable-multiprocess` to the mojo_shell.
`enable-multiprocess` in 0.0.16 does not get passed along, but this patchset would allow it to once again.

pub run sky_tools -v --very-verbose run_mojo \
	--mojo-path $MOJO_DIR/src \
	--app app.flx --android \
	-- \
	--enable-multiprocess
2015-10-06 13:14:22 -07:00
Ian Fischer 12192d00c1 Beginning implementation of IOSDevice. Implements list and install.
Also update tests to be compatible with the presence of iOS and add tests for list and install.
2015-10-06 11:46:29 -07:00
Devon Carew 0364590b83 delay looking for android devices 2015-10-06 11:36:48 -07:00
Chinmay Garde a15e857658 Address PR concerns 2015-10-05 16:52:16 -07:00
Chinmay Garde 5c922df835 Use the App widget in the Flutter app template 2015-10-05 16:14:54 -07:00
Chinmay Garde 31498881ce Convert default project template to fn3 2015-10-05 15:40:36 -07:00
Chinmay Garde 6f640275bd Update dart project template 2015-10-05 14:58:29 -07:00
Ian Fischer d07ca92995 Basic sky_tools list command, Android implementation, and test. 2015-10-01 08:43:57 -07:00
Ian Fischer b8085cd033 Add sky_tools trace command, Android implementation, and basic test. 2015-09-30 14:02:29 -07:00
Ian Fischer 00bed774ce Add listen command and basic test, and don’t do unnecessary repeated work when listening or poking the android server. 2015-09-29 17:10:47 -07:00
Ian Fischer a6635489f5 Add optional prefix to runCommandAndStreamOutput for logs commands. 2015-09-29 14:15:29 -07:00
Ian Fischer 5e11889160 Add logs command and android implementation. 2015-09-29 11:51:33 -07:00
Ian Fischer 61bfe5ce84 Unify process_wrapper and process to have the same api and logging styles.
Also add unchecked runSync wrapper and use it in places where command failures don’t matter.
2015-09-29 10:30:13 -07:00
Ian Fischer 8cac55a4e2 Add sky_tools start command and associated android support. 2015-09-29 09:54:10 -07:00
Ian Fischer 6bfd60f217 Merge pull request #56 from iansf/android_stop
Add stop command and supporting Android support.
2015-09-29 09:28:23 -07:00
James Robinson f7e20f4a46 Check that the platform is linux before downloading linux-x64 binaries 2015-09-25 17:42:28 -07:00
James Robinson 2fe4484d9c Merge pull request #57 from jamesr/fix_build
Fix sky_tools build command to look for package-root in global args
2015-09-25 17:39:06 -07:00
James Robinson 9e2a83cfa3 Fix sky_tools build command to look for package-root in global args 2015-09-25 16:25:48 -07:00
Ian Fischer fa59233746 Add stop command and supporting Android support. 2015-09-25 16:16:19 -07:00
James Robinson ed2877c093 Add --checked flag to mojo_run that runs sky_viewer in checked mode
Also refactors the command line assembling to make a bit more sense.

Fixes #53
2015-09-25 16:14:12 -07:00
James Robinson 9996d4255e Configure ArtifactStore for all commands and make 'package-root' universal
This makes the 'package-root' option universal for sky_tools and configures the
ArtifactStore with it statically at startup. The actual sky_engine revision
is computed on demand.
2015-09-25 15:56:20 -07:00
James Robinson be0b3e61be Merge pull request #52 from nlacasse/release-debug
run_mojo: Add --mojo-release and --mojo-debug flags.
2015-09-25 15:07:04 -07:00
Nicolas Lacasse f600beeb70 run_mojo: Add --mojo-release and --mojo-debug flags.
The flags control which build of mojo to run (Debug or Release).
Default is Release.
2015-09-25 14:51:03 -07:00
Devon Carew c35c06e6f2 rename sky ==> flutter in the starting app template 2015-09-25 13:28:21 -07:00
James Robinson 5c9413d0f6 Merge pull request #49 from jamesr/cached_file_location
Make cached artifact location mirror local builds more closely
2015-09-25 12:28:39 -07:00
James Robinson b7fc56eb31 Make cached artifact location mirror local builds more closely 2015-09-25 11:27:07 -07:00
James Robinson 36c03cb40e Fix sky_tools cache clear command 2015-09-25 11:13:15 -07:00
Ian Fischer 3638f9380d Merge pull request #46 from iansf/android_start
Refactor all the commands to be Commands from the Args package.  Also use CommandRunner for the top-level command.
2015-09-24 16:01:19 -07:00
Ian Fischer cae053c353 Refactor all the commands to be Commands from the Args package. Also use CommandRunner for the top-level command. 2015-09-24 15:51:23 -07:00
James Robinson 206104b820 Update mojo_run to no longer embed a window manager
sky_viewer.mojo no longer needs a window manager embedding as of
sky_engine 0.0.27, so this updates the sky_tools run_mojo command so it works
again. This really should be expressed in the pubspec dependencies to avoid
broken combinations but that needs to happen on the sky side.
2015-09-24 12:26:11 -07:00
James Robinson 70c1856c06 Merge pull request #45 from jamesr/run_mojo_args
Forward additional arguments to runner in run_mojo command
2015-09-23 10:33:06 -07:00
Devon Carew f554ba4176 Merge pull request #39 from devoncarew/path_issue
fix a path issue when creating new flutter apps
2015-09-23 09:50:16 -07:00
James Robinson be4a9d941f Forward additional arguments to runner in run_mojo command 2015-09-23 09:48:20 -07:00
James Robinson f735604aca Add cache command to sky_tools with subcommands for populating/clearing
This adds the following commands to sky_tools:
  sky_tools cache clear: Nukes all local artifacts in the cache
  sky_tools cache populate: Populates the cache with all known artifacts

This is useful both to fix busted caches and to make sure that the cache is
fully populated so that subsequent operations can proceed without needing
network access.
2015-09-22 20:35:31 -07:00
James Robinson 0758c5922f Instantiate ArtifactStore explicit with packageRoot
This teaches commands that need binary artifacts to explicitly instantiate an
instance of the ArtifactStore with the appropriate packageRoot string. The
ArtifactStore can then remember the package root and compute the engine
revision when created and remember those for subsequence calls.
2015-09-22 17:17:01 -07:00
James Robinson e5d65bcc60 Merge pull request #40 from jamesr/run_mojo_android
Teach sky_tools mojo_run to run on Android (using mojo devtools)
2015-09-22 15:29:34 -07:00
James Robinson 20e5355239 Teach sky_tools mojo_run to run on Android (using mojo devtools)
This teaches sky_tools mojo_run --android to invoke mojo's devtool's mojo_run
script with the right flags for invoking sky_viewer on android. This tells the
devtools script to load sky_viewer.mojo from https://storage.googleapis.com/...
and to load app.flx (or whatever the developer specifies as --app) from the
filesystem using the devtools http server.
2015-09-22 15:25:42 -07:00
Ian Fischer 0cc758d24e Set up plumbing for getting relevant paths to the right places without too much global state.
`dart bin/sky_tools.dart --debug --sky-src-path=/path/to/sky/src/ install` now works.
2015-09-22 11:17:39 -07:00
Devon Carew 1532005ee6 fix a path issue when creating new flutter apps 2015-09-22 10:53:55 -07:00
James Robinson 20d9d6a9e2 Make sky_tools help strings consistently refer to Flutter app, not package 2015-09-22 10:38:54 -07:00
James Robinson 542da8ccd5 Adds a run_mojo command that downloads sky_viewer.mojo and runs an flx in it
This initial version assumes the developer has mojo_shell and all other services
sitting on disk somewhere and that they're on linux and only want to run on
linux. This can be generalized down the line to support more use cases. This
downloads the sky_viewer.mojo corresponding to the packages/sky_engine/REVISION
in the developer's directory, so they can specify whatever revision they want.
sky_tools run_mojo downloads sky_viewer.mojo into its cache directory if it is
not present and constructs a command line to pass to mojo_shell that maps the
shebang stamped into the flx to the downloaded sky_viewer.mojo.

Since sky_viewer.mojo lives in the cloud and mojo_shell can load from the cloud
this could also map to an https URL. This should likely be an option.
2015-09-21 22:06:05 -07:00
Devon Carew a4ff100408 check all the dart code in the project, not just selected libraries 2015-09-18 20:59:32 -07:00
James Robinson a320e712de Address review feedback from pull request #30 2015-09-18 17:03:51 -07:00
James Robinson 7f8319fd25 Merge pull request #30 from jamesr/download_sky_snapshot
Download sky_snapshot from the cloud
2015-09-18 17:02:25 -07:00
James Robinson cbc35dfacb Download sky_snapshot from the cloud
This adds logic to download and use the sky_snapshot binary from
Google cloud storage when running the 'sky_tools build' command.
The downloaded binary is put into lib/cache/... The binary is
chosen to match the REVISION in the sky_engine package in the
packages directory of whichever package the user wishes to
build a flx from.

Known issues:
*) Assumes linux-x64 host
*) Assumes download will always produce valid executable
*) No clearing of stale cache entries
2015-09-18 16:58:57 -07:00
Ian Fischer 670f14e0f8 Add missing semicolon 2015-09-18 16:29:47 -07:00
James Robinson 0b2a946b23 Prepend mojo shebang to skyx files
skyx files are zips, so they can have anything at the start. Having
a shebang line at the start makes it easier to run skyx files in a mojo
environment.
2015-09-17 15:27:33 -07:00
Adam Barth 3e9ceec0b1 Improve sky_tools build so that it works from sky_engine
With this patch, we can switch over to using this command from the build system
in the sky_engine repo.
2015-09-17 15:12:15 -07:00
Adam Barth a75e79f0ce Address review comments from @iansf 2015-09-17 14:02:55 -07:00
Adam Barth cf41a63396 Add a build command to sky_tools
This command will produce an flx package. Currently, this command doesn't work
because we don't have the Flutter compiler downloaded from Google storage yet.
A future patch will make that happen.
2015-09-17 13:37:53 -07:00
Adam Barth f379a01946 Handle subprocess crashes during testing 2015-09-16 16:47:22 -07:00
Adam Barth 76a51409c5 Remove stray }
This stray line was causing an analyzer error.
2015-09-16 14:35:09 -07:00
Ian Fischer c5ea40980a Most of the infrastructure needed to install an APK on Android. 2015-09-16 12:56:10 -07:00
Ian Fischer d8d87f1833 Add very-verbose flag and automatically log some more process-related things in verbose and very-verbose modes. 2015-09-16 10:57:15 -07:00
Ian Fischer b72d67a8fe Private setup methods for AndroidDevice. 2015-09-15 17:20:49 -07:00
Devon Carew e6b45c5023 use mokito in the init tests 2015-09-11 16:12:27 -07:00
Ian Fischer ab441685e2 Test install command 2015-09-11 15:26:55 -07:00
Ian Fischer 81746e980c Initial sketch of install command and what devices look like. 2015-09-11 12:44:47 -07:00
Ian Fischer 384ded5b91 Begin refactoring API around CommandHandlers and using it consistently in subclasses.
Also applies autoreformatting to init.dart.
2015-09-10 14:50:49 -07:00
Adam Barth 01afe5a612 Update loadVMFileHook to the real location 2015-08-20 19:46:48 -07:00
Adam Barth f77983baa8 Adds experimental pub run sky_tools:sky_test command
This command uses package:test to run Dart tests with sky_shell.  For this to
work, we need https://github.com/dart-lang/test/tree/hacky-loader-hook to land.
We're also not smart enough to find sky_shell ourselves yet. Instead, we take
the path as input using an environment variable. Eventually, we'll be able to
get the sky_shell executable from package:sky_engine, but we don't yet ship
that executable.
2015-08-19 23:57:41 -07:00
Eric Seidel 9b5bd5805b Add a dependency on sky_tools
This is needed to make pub run sky_tools:sky_server work.
Partial fix for https://github.com/domokit/sky_engine/issues/539
2015-08-10 17:29:38 -07:00
Devon Carew a03deafac8 update the sky_tools template and readme 2015-08-09 23:50:16 -07:00
Devon Carew 987ce972d6 use mustache4dart 2015-08-07 16:42:10 -07:00
Devon Carew 2efd13159c add a sky_tools init command to create a new project 2015-08-07 14:20:14 -07:00