Commit Graph

321 Commits

Author SHA1 Message Date
Adam Barth
fc8cdf4daf Add a command for running unit tests 2015-11-04 23:43:15 -08:00
Adam Barth
f5ce556472 Simplify README 2015-11-04 22:24:53 -08:00
Adam Barth
01a6356230 Rev pubspec 2015-11-04 14:26:07 -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
76c54f148b Rev pubspec 2015-11-04 09:07:29 -08: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
071ebda56f Change flutter_tools to version 0.0.34. 2015-11-03 15:41:47 -05: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
fe5f98e33b Rev sky_tools to 0.0.32. 2015-11-02 11:25:58 -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
Devon Carew
4c99319f5d Merge pull request #156 from devoncarew/skip_test_windows
skip a test on windows
2015-10-31 13:57:46 -07:00
Adam Barth
492090360a Remove some unnessary dependencies 2015-10-31 12:43:26 -07: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
Devon Carew
39cf521896 skip a test on windows 2015-10-30 13:13:58 -07:00
Adam Barth
7115ff2674 Rev pub package 2015-10-30 10:08:21 -07:00
Adam Barth
36ba2337d0 Merge pull request #150 from devoncarew/increase_timeout
increase test timeout
2015-10-30 09:39:39 -07:00
Adam Barth
6c241e38ea Merge pull request #149 from flutter/stable_sdk
Stop requiring customers to use a dev SDK
2015-10-30 09:37:58 -07:00
Devon Carew
15acf8ef6b increase test timeout 2015-10-29 16:45:11 -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
Adam Barth
64c96e0dfa Stop requiring customers to use a dev SDK 2015-10-29 16:17:13 -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
Hixie
184ab7c9aa Put an upper bound on flx dependency
In case we run into trouble, this at least gives us an escape hatch.
2015-10-29 14:35:55 -07:00
Hixie
f069ac2427 Loosen the sky_tools dependency on flx 2015-10-29 14:33:30 -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
Hixie
7aa05d4bce Release 0.0.30. 2015-10-29 14:24:35 -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
Matt Perry
cbd4931579 Merge pull request #140 from mpcomplete/pubspec
Depend on exact version of flx package so I can make breaking changes.
2015-10-29 16:44:00 -04:00
Matt Perry
30ad6ebaae Depend on exact version of flx package so I can make breaking changes. 2015-10-29 16:40:13 -04:00
Devon Carew
0da7c7c6ac upgrade test 2015-10-29 11:42:02 -07:00
Devon Carew
b15bcc5c64 0.0.29 2015-10-29 11:32:54 -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
Devon Carew
9992a3e0bb Update README.md
Add a badge for AppVeyor.

(TBR)
2015-10-28 11:18:13 -07:00
Hixie
672976aa0a Rev the Dart SDK
We also have to require a newer test package, since the old one depends
on a version of the analyzer that uses dart:profiler, which is gone and
replaced by dart:developer.
2015-10-28 09:58:11 -07:00
Matt Perry
a0886508c9 Update flutter_tools to version 0.0.27. 2015-10-26 15:29:44 -04:00
Matt Perry
828b861fce Change signing code to use shared flx package. 2015-10-26 15:14:01 -04:00
Devon Carew
b7f918c92b change how we specify test timeout 2015-10-24 12:33:17 -07:00
Devon Carew
98d61fc181 create an all.dart test script to work around an issue with pub run test on windows 2015-10-24 12:28:05 -07:00
Devon Carew
e7da41afd5 Update init_test.dart
Increase the test timeout for the `init` test to 2 minutes (test was timing out downloading assets on appveyor).
2015-10-24 11:42:19 -07: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
Chinmay Garde
6b2d6fdc8c Update pubspec and changelog for 0.0.26 2015-10-23 14:54:03 -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
b53e726404 Update flutter_tools version to 0.0.25. 2015-10-19 16:33:54 -04: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
1999db2973 0.0.24 2015-10-18 12:37:59 -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
db6a7abdca Rev pub spec 2015-10-14 15:26:37 -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
abe69c7f06 Rev pub spec 2015-10-14 15:19:19 -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
4477f7255a Rev pub package 2015-10-13 16:57:59 -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
ca909c9252 Rev pub package 2015-10-12 01:38: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
a157e0eac0 Rev pub package 2015-10-12 01:06:20 -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
e17190df63 Merge pull request #85 from flutter/command_dir
Move Command subclasses into commands directory
2015-10-09 23:28:19 -07:00
Adam Barth
561350d238 Merge pull request #81 from Iheartweb/patch-1
Changing Desc to match Github Desc.
2015-10-09 23:24:15 -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
Robert Martone
e1c46f42cc Changing Desc to match Github Desc. 2015-10-09 13:19:02 -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
3694517617 run tests sequentially 2015-10-06 16:00:24 -07:00
Devon Carew
f98f134ccf ws changes to prod the build 2015-10-06 15:48:04 -07:00
Devon Carew
5c6c3d9d81 ws 2015-10-06 14:52:45 -07:00
Devon Carew
15cba8f2eb rev the pubspec version 2015-10-06 14:35:18 -07:00
Ian Fischer
a9cbe436c4 Merge pull request #67 from iansf/ios_basics
Beginning implementation of IOSDevice. Implements list and install.
2015-10-06 14:20:53 -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
Devon Carew
524d8379f4 more verbose test failures 2015-10-06 12:08:08 -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
ad155b23a5 Update pubspec revision to 0.0.16 2015-10-06 10:53:29 -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
2bc289dec9 Merge pull request #61 from iansf/android_logs
Add optional prefix to runCommandAndStreamOutput for logs commands.
2015-09-29 14:41:26 -07:00
Ian Fischer
6a5fe19540 Basic sky_tools logs test. 2015-09-29 14:26:42 -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
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