173 Commits

Author SHA1 Message Date
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
Zachary Anderson
514c65df29 Uses mojom module names as Dart's package: import URI
At present there is a special case in Dart bindings generation which
makes the Mojo SDK and things under mojo/services portable. However,
we must not require things under mojo/services to be next to the
Mojo SDK under mojo/public/... in client repos. Further, other
collections of mojoms should also be portable.

To fix this, instead of using the path in the host repo as the
canonical package: import URI for the generated Dart code, this CL
uses the mojom module name.

BUG=https://github.com/domokit/mojo/issues/73
R=blundell@chromium.org, johnmccutchan@google.com, tonyg@chromium.org

Review URL: https://codereview.chromium.org/1071693003
2015-04-16 07:50:47 -07:00
Eric Seidel
8e0726b4a9 Improve commit message generation for deploy_sdk.
Hopefully this will make it slightly more clear that the sky_sdk
repository is not actually a stand-alone repository, but rather
generated by a script.

R=ianh@google.com

Review URL: https://codereview.chromium.org/1088223003
2015-04-15 14:12:59 -07:00
Eric Seidel
c71545ef1f Make shelldb load sky_home by default
TBR=ianh@google.com

Review URL: https://codereview.chromium.org/1083963003
2015-04-14 12:49:22 -07:00
James Robinson
80ea7c82c9 Generate trace header/footer in tracing consumer instead of service
Having the output of the tracing service be a list of json objects
instead of one json object makes it much easier to combine multiple
sources. This teaches skydb (which wants to format the output into a
json file loadable by trace-viewer) to emit the tracing header/footer
itself. This will make it possible to combine data from the tracing
service with data collected by the shell itself.

R=eseidel@chromium.org

Review URL: https://codereview.chromium.org/1065093003
2015-04-09 16:51:38 -07:00
Eric Seidel
7352d571d5 Fix sky_tool's calling of adb, and shelldb's analyze and stop
Just silly fixes needed for our 4 copies of our python run script.

R=ianh@google.com

Review URL: https://codereview.chromium.org/1064983003
2015-04-07 15:15:56 -07:00
James Robinson
c872ce42b3 Teach skydb about the --trace-startup flag
This flag to mojo_shell is gaining the ability to produce tracing info
starting very early in process startup. This allows the skydb 'start'
command to pass this command through to mojo_shell.

R=eseidel@chromium.org

Review URL: https://codereview.chromium.org/1065723003
2015-04-06 16:14:33 -07:00
Mitch Rudominer
bb8695802f Replaces |shell_handle| with |application_request| as the name of the parameter to MojoMain().
BUG=468496
R=viettrungluu@chromium.org, viettrungluu

Review URL: https://codereview.chromium.org/1058163002
2015-04-03 08:22:46 -07:00
Adam Barth
99a5e5d356 Fix deploy_sdk.py to include README.md and stock data files
Also, remove testplan.txt, which isn't part of the framework.

TBR=eseidel@chromium.org

Review URL: https://codereview.chromium.org/1038273002
2015-03-26 17:26:04 -07:00
Adam Barth
4fc0ac189a Add a --no_install option to shelldb
This CL adds an option to shelldb to skip installing the APK if the user of the
tool knows that the APK is already up-to-date on the device.

R=ojan@chromium.org

Review URL: https://codereview.chromium.org/1002123003
2015-03-24 12:44:39 -07:00
Adam Barth
a606ea0f9e Update references to Mojo core and bindings
Build fix after recent Dart bindings refactoring.  Now that these libraries are
not included in the snapshot, we need to load them from the mojo package.

R=zra@google.com
TBR=zra@chromium.org

Review URL: https://codereview.chromium.org/1029683002
2015-03-23 13:22:38 -07:00
Eric Seidel
abd773d7d0 Unbreak the deploy_sdk for --dev-environment
sdk_additions was already created above and thus
can't be linked here, must be copied.

TBR=abarth@chromium.org
BUG=

Review URL: https://codereview.chromium.org/1026933002
2015-03-20 15:20:57 -07:00
Eric Seidel
fd614cc08f Copy all of dart_sky.dart's supporting files into package:sky
Also bumped package:sky's version in prep for publishing.

R=abarth@chromium.org
BUG=

Review URL: https://codereview.chromium.org/1024243002
2015-03-20 14:46:58 -07:00
Eric Seidel
938293d22c Make the Sky pub package include our APK and teach sky_tool to install it
I'm not sure this is the final long-term solution, but works for now.

R=abarth@chromium.org

Review URL: https://codereview.chromium.org/1022193002
2015-03-20 14:35:14 -07:00
Adam Barth
b14165ea84 Enable tracing in SkyShell
This CL teaches shelldb how to trace SkyShell.

R=eseidel@chromium.org

Review URL: https://codereview.chromium.org/1027903002
2015-03-20 14:16:43 -07:00
Eric Seidel
e3770bfc19 Fix deploy_sdk.py to error out if files are missing
I also now deploy sky/bin/sky as sky/lib/sky_tool since
pub run doesn't really work very well yet.

R=abarth@chromium.org
BUG=

Review URL: https://codereview.chromium.org/1026863002
2015-03-20 11:21:47 -07:00
Benjamin Lerman
e3366f88a2 Fix races when the same bits are downloaded from 2 URLs.
Until now, we were saving downloaded file to the temporary directory
with a name being the hash of the file content. It means there is a race
when the same content is downloaded from 2 different URLs.

To fix this, we now create an intermediary directory that is the hash of
the URL.

Also, because this is only needed for debugging with gdb, and this is
inefficient in term of both CPU and storage (we do not know when to
delete the temporary directory), we control this with a command line
flag.

R=ncbray@chromium.org, eseidel@chromium.org
BUG=https://github.com/domokit/mojo/issues/61

Review URL: https://codereview.chromium.org/1011333003
2015-03-20 12:51:00 +01:00
Eric Seidel
32b16eca53 Remove custom elements examples, they are no longer maintained
R=abarth@chromium.org

Review URL: https://codereview.chromium.org/1022613002
2015-03-18 13:38:17 -07:00
Eric Seidel
0574e849d6 Update deploy and deploy_sdk for the new package: world.
Before this change Sky would hit 404s when trying to
load examples from domokit.github.io.

I also added a separate sky_home and updated the default
url to point to sky_home instead of home.

R=abarth@chromium.org

Review URL: https://codereview.chromium.org/1016143002
2015-03-18 13:00:46 -07:00
Eric Seidel
a72afec746 Make mojo and sky dart packages deployable
The packages produced from this CL were deployed
as v0.0.1:
https://pub.dartlang.org/packages/sky
https://pub.dartlang.org/packages/mojo

There is still no tool included with the sky
package due to pub's inability to run anything
other than Dart:
https://code.google.com/p/dart/issues/detail?id=22877

I'm likely just going to write a dart version
of my "sky" script. :(

R=ojan@chromium.org, abarth@chromium.org

Review URL: https://codereview.chromium.org/1015833002
2015-03-17 11:09:33 -07:00
Dave Moore
720b96294a Make http_server part of the published services.
R=jamesr@chromium.org

Review URL: https://codereview.chromium.org/1012773008
2015-03-16 17:09:11 -07:00
Adam Barth
fb91aaee88 Update shelldb to work with new sky_sdk
We need to teach shelldb to deploy the Sky SDK and run SkyServer with the right
package root.

R=eseidel@chromium.org

Review URL: https://codereview.chromium.org/1007393002
2015-03-16 09:15:18 -07:00
Eric Seidel
7cbfb05f21 Currently we use package: to mean "/gen", which is not at all how
Dart actually expects package: to work.  This CL makes package:foo
map to /packages/foo, similar to how Dartium or bin/dart would expect.

This also means overlaying the /gen directory over the actual package
outputs (as consumers of an SDK would expect) as well as adding
an additional /lib indirection for the actual package source as
the Dart pub tool will expect.

This is far from perfect, but it unlocks us actually producing a
sky SDK.

I expect there may be some fallout from this change as I'm sure I
missed some package: uses.  We also don't have a general solution
for all /foo/bar/baz includes which randomly included parts
of mojo's source directory.  Those will need to be updated to use
a package: and deploy_sdk.py taught how to build a package for them.

R=abarth@chromium.org

Review URL: https://codereview.chromium.org/990493002
2015-03-13 16:58:53 -07:00
Zachary Anderson
804248a6e3 Dart: Rename mojo:X -> dart:mojo.X
This is to better support integration with Dart SDK tools.

BUG=
R=erg@chromium.org

Review URL: https://codereview.chromium.org/998933005
2015-03-11 16:22:21 -07:00
Eric Seidel
4c1068fb0e Remove the last bits of the Sky Inspector
Unclear what if any of this we will want in the Dart world.

R=abarth@chromium.org

Review URL: https://codereview.chromium.org/993203002
2015-03-11 10:13:25 -07:00
Dave Moore
f29a08e7d7 Update from https://crrev.com/319330
- New chromium clang rules require explicit external destructors so
  system/lib added for MessagePipe, DataPipe and SharedBuffer
- New chromium clang rules require override and no virtual in
  declarations, so many files updated.
- cc_strip_video patch updated.

BUG=
R=jamesr@chromium.org

Review URL: https://codereview.chromium.org/988693005
2015-03-10 15:23:04 -07:00