Commit graph

82 commits

Author SHA1 Message Date
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
Adam Barth a49120c667 Rev pub package 2015-09-23 10:34:53 -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 343d96a48e Some basic tests for AndroidDevice that don’t require a device to be attached. 2015-09-22 15:17:11 -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
Adam Barth 88a5cf95d2 Rev pub package 2015-09-21 11:04:40 -07:00
Devon Carew 9e02fed4e4 Merge pull request #35 from devoncarew/check_all_code
check all the dart code in the project, not just selected libraries
2015-09-19 13:48:00 -07:00
Adam Barth fe5d511340 Update README.md
s/sky_tools/tools/
2015-09-19 08:50:26 -07:00
Adam Barth 577f8e4a1e Update README.md
s/domokit/flutter/
2015-09-19 08:45:18 -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
Adam Barth 9ba2a6e136 Merge pull request #29 from jamesr/stamp_skyx
Prepend mojo shebang to skyx files
2015-09-17 16:01:31 -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 6626817c86 Rev pub package 2015-09-17 15:26:31 -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 e8ef4704ea Rev pub package 2015-09-16 16:48:49 -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
Ian Fischer 5678c12433 Add verbose flag to sky_tools and basic logging capabilities. 2015-09-15 16:08:59 -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 f4ed42e55b Rev pub package 2015-08-20 20:58:18 -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
Adam Barth f7fa689da4 Add support for HEAD requests 2015-08-13 11:20:19 -07:00
Adam Barth e98f8cc03d Rev pub package 2015-08-12 09:09:00 -07:00
Adam Barth d0cec84e52 Be more agressive about not caching with sky_server 2015-08-12 09:07:21 -07:00
Eric Seidel 83bff59a0a Rev the pubspec version 2015-08-10 17:41:40 -07:00