198 Commits

Author SHA1 Message Date
Adam Barth
670dd8ff0b Port skyx to Dart
Rather than require Sky developers to have a Python environment, we should
write our tooling for Sky in Dart. This CL converts skyx.py into skyx.dart and
makes skyx.py into a wrapper for skyx.dart. We still need the Python wrapper
because gn requires that build actions are written in Python.

This code isn't wired into the main build yet. We'll need to add some more pub
packages to our buildbot environment first.

TBR=eseidel@google.com

Review URL: https://codereview.chromium.org/1213213003.
2015-07-02 09:12:39 -07:00
Chinmay Garde
121bcb827f Make sure skyanalyzer uses absolute paths to construct url-mappings for
dartanalyzer

R=abarth@chromium.org

Review URL: https://codereview.chromium.org/1215883006.
2015-06-30 15:29:18 -07:00
Viktor Lidholt
5e5b3100a0 Updates sky_server has for Mac
BUG=
R=abarth@chromium.org, ianh@google.com

Review URL: https://codereview.chromium.org/1221893002.
2015-06-30 14:47:11 -07:00
Adam Barth
41ffb31681 Download material design icons using DEPS
We need the material design icons at build time in order to build Sky
application bundles that include the icons. Therefore, we need can't wait until
runtime to download the icons.

Also, rather than copying all the icons into each out directory, we just
symlink to the copy in the source tree.

R=eseidel@chromium.org, eseidel@google.com

Review URL: https://codereview.chromium.org/1217283002.
2015-06-30 10:32:09 -07:00
Adam Barth
7be6bf978d Add a script for packaging Sky bundles
This script consumes a sky.yaml file and produces a bundle that contains the
listed material design assets as well as the snapshot binary. This script isn't
wired into the build system yet because we don't yet download the material
design icons using DEPS.

R=chinmaygarde@google.com, eseidel@google.com

Review URL: https://codereview.chromium.org/1220893002.
2015-06-30 10:22:02 -07:00
Adam Barth
f442a035b8 Make it possible to run a test in sky_shell
This CL makes it possible to run sky/tests/raw/bogus_import.dart in sky_shell
on Linux. We'd eventually like to scale this up to running all the tests.

R=eseidel@chromium.org

Review URL: https://codereview.chromium.org/1218633003.
2015-06-29 10:39:44 -07:00
Adam Barth
ec4b59ff27 Add MineDigger.apk that works offline
This CL builds an APK for MineDigger that works offline. We use |sky_packager|
to snapshot the Dart code, which we then extract from the APK during startup.
If we succeed in extracting a snapshot, we load it by default.

TBR=eseidel@chromium.org

Review URL: https://codereview.chromium.org/1211253004.
2015-06-26 23:18:13 -07:00
Ian Fischer
9adb7943f3 Move sky/examples to sky/sdk/lib/example, and code changes to support that change. Fixes T277.
R=abarth@chromium.org

Review URL: https://codereview.chromium.org/1218593002.
2015-06-26 15:06:40 -07:00
Adam Barth
136ae18aa3 Support snapshots in sky_shell (again)
Unbreak support for snapshots now that we have our offline Dart loader. Also,
wire up support for snapshots in sky_shell on Linux.

TBR=eseidel@chromium.org

Review URL: https://codereview.chromium.org/1212623002.
2015-06-25 17:10:35 -07:00
Adam Barth
69e7997ae9 Add support for snapshot loading to Sky
This CL adds the ability to load Dart snapshot files created by sky_packager in
Sky. Using a snapshot lets us transmit all the code for an app in a single blob
and should improve startup time. Later CLs will make this codepath easier to
use and evaluate performance.

R=eseidel@chromium.org

Review URL: https://codereview.chromium.org/1197133004.
2015-06-23 18:40:01 -07:00
Adam Barth
d86ee245ef Silence some analyzer warnings
These warnings were added in the previous CL because we started added a URL
mapping for dart:mojo.internal.

TBR=eseidel@chromium.org

Review URL: https://codereview.chromium.org/1207453003.
2015-06-23 08:19:54 -07:00
Adam Barth
1b162a56dc Move internals.dart out of Sky SDK
This file doesn't belong in the SDK because it is an implementation detail of
the Sky engine. Instead, this CL moves the code for dart:sky.internals into the
snapshot. This CL is a step towards merging dart:sky.internals with dart:sky,
which also resides in the snapshot.

R=eseidel@chromium.org

Review URL: https://codereview.chromium.org/1200953007.
2015-06-23 07:44:28 -07:00
Adam Barth
be5a54bc4f Make sky/tools/packager build on Mac
This CL removes all C++11 library features from sky/tools/packager because we
can't use C++11 library features on Mac.

R=eseidel@chromium.org

Review URL: https://codereview.chromium.org/1198313004.
2015-06-23 07:41:52 -07:00
Hixie
a760718570 Update README.md and HACKING.md and resulting yak shave.
Update sky_server:
 - update its help string to admit that it wants the package path as well.
 - be quiet by default, since it makes the build chatty.
 - have a -v for verbose mode, for people who like it chatty.
 - have a default port of 8000, since that's what everyone used.
 - have a -p option to set the port, for people who don't use the default.
 - remove its mapping for gen/, since a TODO told me to.
 - remove the dependency on the build configuration, since it's no longer used.
 - teach it about .dart files.
 - rename sky_server/README to README.md, for consistency with other READMEs.
Update shelldb to speak the new sky_server protocol.
Update tests/services/iframe-embed-vmc.sky since the sky_server change broke the hack it was using.
Update skyserver.py to speak the new sky_server protocol.
Make webkitpy use SkyServer instead of spawning sky_server itself, since a TODO told me to.
Teach webkitpy about dart files.
Teach test_perf about dart files. (untested)
Teach sky_tool about main.dart, main.sky is deprecated. (untested)

R=eseidel@chromium.org

Review URL: https://codereview.chromium.org/1200993002.
2015-06-22 13:39:16 -07:00
Hixie
e7696e23a3 Factor out the analyzer part of shelldb so we can reuse it in tests.
This also introduces a new set_build_dir command to shelldb so you can
set the build directory without starting sky.

R=abarth@chromium.org, abarth, eseidel

Review URL: https://codereview.chromium.org/1193733004.
2015-06-18 16:54:52 -07:00
Adam Barth
8887090320 Update Dart dependency and patch dart_controller to account for non-backwards compatible API update
Patch originally by chinmaygarde.

R=chinmaygarde@google.com

Review URL: https://codereview.chromium.org/1185233002.
2015-06-15 18:34:27 -07:00
Viet-Trung Luu
fb3ef8d2e6 Fix sky/tools/packager/BUILD.gn.
scopes.h -> scope.h.

TBR=abarth@chromium.org

Review URL: https://codereview.chromium.org/1177123005.
2015-06-15 11:16:17 -07:00
Adam Barth
e083c7aa6b Introduce sky_packager
sky_packager is a tool that generates a Dart script snapshot for Dart files
intended to run with dart:sky. I plan to use this tool to experiment with
startup performance.

R=jackson@google.com

Review URL: https://codereview.chromium.org/1178213003.
2015-06-15 10:42:17 -07:00
Adam Barth
ff9b0b092c Port sky_home to the new SkyView world
R=ianh@google.com, eseidel@chromium.org

Review URL: https://codereview.chromium.org/1178293004.
2015-06-12 16:53:29 -07:00
Eric Seidel
43b495c511 Teach roll_versions.py how to update CHANGELOG.md files.
This is feature creep.  But it was simple and fun. :p

R=abarth@chromium.org

Review URL: https://codereview.chromium.org/1175393002.
2015-06-11 12:48:33 -07:00
Eric Seidel
dc70797319 Add a roll_versions.py script and roll versions once.
This isn't perfect, since it makes non-minimal modifications
to the yaml and xml files.  In the yaml case it sorts the keys
and in the xml case it doesn't do the fancy attribute wrapping,
but this seems good enough to use.

R=abarth@chromium.org, johnmccutchen@google.com

Review URL: https://codereview.chromium.org/1179633003.
2015-06-10 16:16:52 -07:00
Eric Seidel
783ef15a58 Resurrect deploy_sdk and make it use prepare_pub_packages.py
Works like a charm, and is now much simpler thanks to John's work.

R=abarth@chromium.org, johnmccutchan@google.com

Review URL: https://codereview.chromium.org/1174683003.
2015-06-09 13:18:59 -07:00
Adam Barth
edffa0b19d Remove outdated copy of download_material_design_icons
The current copy is in //sky/sdk/lib.

TBR=eseidel@chromium.org

Review URL: https://codereview.chromium.org/1160393003
2015-06-04 08:43:00 -07:00
Adam Barth
183b03d9de Rename skydb to mojodb
The skydb tool is actually used to run many mojo apps that aren't related to
Sky.

R=eseidel@chromium.org

Review URL: https://codereview.chromium.org/1164023004
2015-06-03 17:03:42 -07:00
Eric Seidel
54e652d365 Don't run adb as part of shelldb boot
This defers running adb until we actually need the device-id
which makes shelldb not crash when adb isn't avaiable.

I also fixed to use ADB_PATH.

Chinmay ran into this when trying shelldb on Mac.

R=chinmaygarde@google.com, iansf@google.com

Review URL: https://codereview.chromium.org/1161843007
2015-06-03 11:20:33 -07:00
Przemyslaw Pietrzkiewicz
4f0c93659b Connect mojo:debugger to window_manager only when requested.
This patch makes mojo:debugger automatically connect to window_manager
only when run by skydb, so that running the debugger for tracing and
profiling doesn't bring the side-effect of spawning window_manager.

Note that we might in the future change this to make the connection to
window_manager lazy when load() or reload() is requested, but this would
require a more involved change to skydb. The way taken in this patch
doesn't change the skydb codepath while enabling usage of debugger for
interactive tracing / profiling.

R=abarth@chromium.org

Review URL: https://codereview.chromium.org/1157253007
2015-06-02 17:40:05 +02:00
Przemyslaw Pietrzkiewicz
071910999a Pull Sky debugger up to services/debugger.
Sky debugger is a native mojo app that puts up an http server and talks
to other mojo apps in response to http requests, allowing to
interactively start/stop tracing, profile, etc.

This is generally useful also when one does not run mojo_shell through
skydb, hence this patch pulls the debugger into services/debugger.

We can then add plumbing for running with the debugger in devtools.

Bug: domokit/devtools/#4.

R=abarth@chromium.org

Review URL: https://codereview.chromium.org/1151573010
2015-06-01 19:05:15 +02:00
Eric Seidel
8dcd36b95b Fix skydb on linux when adb is not in path.
TBR=iansf@google.com

Review URL: https://codereview.chromium.org/1159193003
2015-05-29 15:38:59 -07:00
Eric Seidel
f4971649a5 Make --gdb and gdb_attach mostly work in shelldb
I'm not sure this is 100% working, but hopefully this
will help get jackson@ up and running with a shelldb
workflow.

R=iansf@google.com, jackson@google.com

Review URL: https://codereview.chromium.org/1167513003
2015-05-29 12:31:22 -07:00
Eric Seidel
78be882cb4 Fix sky_server.py on Mac and make sky_server executable if it's not already
R=eseidel@chromium.org, eseidel

Review URL: https://codereview.chromium.org/1161133002
2015-05-29 10:47:16 -07:00
Ian Fischer
a439f7504e Cache .so files for debugging per device and don't redownload .so's that are in your cache
BUG=
R=eseidel@chromium.org, eseidel

Review URL: https://codereview.chromium.org/1158493005
2015-05-28 17:41:49 -07:00
Ian Fischer
e3f337f934 Make skydb --gdb work on mac.
R=eseidel@chromium.org
TBR=eseidel@chromium.org

Review URL: https://codereview.chromium.org/1155583006
2015-05-27 13:16:42 -07:00
Eric Seidel
dc82febb38 Add support for Mac vs. Linux sky_server builds
I also made sky_server get pulled down via DEPS
since thats how all the rest of our google storage-based
binaries work.

R=jamesr@chromium.org, jackson@google.com
TBR=abarth@chromium.org

Review URL: https://codereview.chromium.org/1150033006
2015-05-27 10:42:33 -07:00
Collin Jackson
9d9486d20e Speed up shelldb by skipping unnecessary copies of APK to device
Right now I'm storing a SHA1 in a folder in /sdcard since
that seems likely to work on non-rooted devices, but
I haven't tested it.

This cuts build times from 6.5 seconds to 1.5 seconds for
me. You can save another 0.5sec by passing the --no_install
flag to avoid the SHA1 check altogether if you're sure
that nothing has changed.

R=eseidel@chromium.org, eseidel, hixie

Review URL: https://codereview.chromium.org/1149113005
2015-05-26 17:51:19 -07:00
Collin Jackson
e47db7ae1d Sky shelldb should restart app when using --no_install and forward observatory port
R=eseidel@chromium.org, eseidel

Review URL: https://codereview.chromium.org/1156993004
2015-05-26 11:16:08 -07:00
John McCutchan
12b9f613f2 Remove deploy_sdk.py and mojo_demo.py
BUG=
R=eseidel@chromium.org

Review URL: https://codereview.chromium.org/1143333006
2015-05-22 06:52:35 -07:00
John McCutchan
ad1f78f42b Have shelldb and skydb automatically download assets for you if they don't exist.
BUG=
R=eseidel@chromium.org

Review URL: https://codereview.chromium.org/1131373005
2015-05-19 14:22:55 -07:00
John McCutchan
826623c1f1 Fix skydb workflow
BUG=
R=eseidel@chromium.org

Review URL: https://codereview.chromium.org/1132723010
2015-05-19 10:44:47 -07:00
John McCutchan
9f6d79df33 Suppress unnamed library analyzer spam in shelldb
Revert "Add library names to many sky libraries"

This reverts commit 1337e0a803a54ee92d6dce7f8c4a6335f7cbb9fa.

BUG=
R=abarth@chromium.org

Review URL: https://codereview.chromium.org/1142893007
2015-05-19 10:25:43 -07:00
John McCutchan
7a91ed422e Fix shelldb workflow
- Add a real internals.dart entry point.
- Don't run deploy_sdk from shelldb.
- Suppress native functions error from analyzer output.

R=eseidel@chromium.org

Review URL: https://codereview.chromium.org/1145823002
2015-05-19 10:12:41 -07:00
Eric Seidel
5b60d0a358 Bump versionCode of SkyDemo.apk to avoid downgrade warning.
Also teach both skydb and shelldb to ignore version downgrades
I did not change sky_tool since maybe the warning makes sense
there?

R=abarth@chromium.org, chinmaygarde@google.com

Review URL: https://codereview.chromium.org/1138343002
2015-05-13 17:34:09 -07:00
Colin Blundell
cff10ebf23 Dart: Adds mojom pub package.
Creates generate.dart script that installs generated .mojom.dart files into
the mojom pub package.

Updates Sky's deploy_sdk.py script to put mojom.dart files in locations where
they can be consumed by the generate.dart script once the SDK is published and
obtained via "pub get".

This CL is adapted from a patch by zra@google.com; most of the work here is his.

R=iposva@google.com

Review URL: https://codereview.chromium.org/1106383006
2015-05-07 15:23:03 +02:00
James Robinson
f041711454 Teach the mojo_shell --trace-startup flag to gather data from services
This makes passing --trace-startup to mojo_shell (or MojoShell.apk)
collect and save data from all apps/services that support tracing, not
just the shell itself.

R=viettrungluu@chromium.org

Review URL: https://codereview.chromium.org/1105773002
2015-05-01 11:03:09 -07:00
Hixie
30074007c7 shelldb: Make shelldb analyze also analyze the packages, since that's where most development is actually happening at the moment.
R=eseidel@chromium.org

Review URL: https://codereview.chromium.org/1101893002
2015-04-27 09:16:50 -07:00
Jim Beveridge
2cd1e6fc22 Copy of Issue 1100753003, so I can roll Mojo to Modular.
Add support for extra mojom dirs to deploy_sdk.py

TBR=blundell

Review URL: https://codereview.chromium.org/1102883003
2015-04-24 15:03:47 -07:00
Zachary Anderson
53e46748dc Dart: Put generated .mojom.dart files under mojoms pacakge.
BUG=
R=eseidel@chromium.org

Review URL: https://codereview.chromium.org/1092793005
2015-04-23 15:23:50 -07:00
Dave Moore
0d41d0f96e Fix check for MojoShell.apk
R=eseidel@chromium.org

Review URL: https://codereview.chromium.org/1097343002
2015-04-21 20:58:18 -07:00
James Robinson
8364320dfe Teach sky_server not to serve up /.git
Sky doesn't need the git repo of the mojo repo.

R=eseidel@chromium.org

Review URL: https://codereview.chromium.org/1059113004
2015-04-21 16:01:17 -07:00
Hixie
975fdca798 Make sky_server include no-cache headers since we don't really want caching during development.
TBR=eseidel

Review URL: https://codereview.chromium.org/1091163003
2015-04-17 16:35:35 -07:00
James Robinson
a3f8bdecb0 Expose sky KeyboardService in android mojo_shell
R=eseidel@chromium.org, qsr@chromium.org

Review URL: https://codereview.chromium.org/1088793003
2015-04-16 17:11:15 -07:00