diff --git a/build/sky_app.gni b/build/sky_app.gni index 34148ae2816..950bf82c78b 100644 --- a/build/sky_app.gni +++ b/build/sky_app.gni @@ -2,11 +2,16 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. -import("//build/config/android/rules.gni") import("//sky/build/skyx.gni") template("sky_app") { - skyx("app") { + skyx_target_name = target_name + + if (is_android) { + skyx_target_name = "app" + } + + skyx(skyx_target_name) { main_dart = invoker.main_dart if (defined(invoker.manifest)) { @@ -18,65 +23,65 @@ template("sky_app") { } } - bundle_prefix = target_name + if (is_android) { + import("//build/config/android/rules.gni") - copy("copy_${bundle_prefix}_bundle") { - sources = [ - "$target_gen_dir/app.skyx", - ] - outputs = [ - "$target_gen_dir/${bundle_prefix}.skyx", - ] + bundle_prefix = target_name - deps = [ - ":app", - ] - } + copy("copy_${bundle_prefix}_bundle") { + sources = [ + "$target_gen_dir/app.skyx", + ] + outputs = [ + "$target_gen_dir/${bundle_prefix}.skyx", + ] - copy_ex("assets") { - clear_dir = true - dest = "$target_gen_dir/assets" + deps = [ + ":app", + ] + } - sources = [ - "$root_build_dir/icudtl.dat", - ] - deps = [ - "//third_party/icu", - ] + copy_ex("assets") { + clear_dir = true + dest = "$target_gen_dir/assets" - if (enable_skyx) { - sources += [ "$target_gen_dir/app.skyx" ] - deps += [ ":copy_${bundle_prefix}_bundle" ] + sources = [ + "$root_build_dir/icudtl.dat", + "$target_gen_dir/app.skyx", + ] + deps = [ + "//third_party/icu", + ":copy_${bundle_prefix}_bundle", + ] if (defined(invoker.bundles)) { foreach(bundle, invoker.bundles) { bundle_gen_dir = get_label_info(bundle, "target_gen_dir") bundle_name = get_label_info(bundle, "name") - sources += [ "$bundle_gen_dir/${bundle_name}.skyx" ] deps += [ bundle ] } } } - } - android_apk(target_name) { - apk_name = invoker.apk_name - android_manifest = "apk/AndroidManifest.xml" + android_apk(target_name) { + apk_name = invoker.apk_name + android_manifest = "apk/AndroidManifest.xml" - native_libs = [ "libsky_shell.so" ] - asset_location = "$target_gen_dir/assets" + native_libs = [ "libsky_shell.so" ] + asset_location = "$target_gen_dir/assets" - deps = [ - "//base:base_java", - "//sky/shell:assets", - "//sky/shell:java", - "//sky/shell:sky_shell", - ":assets", - ] + deps = [ + "//base:base_java", + "//sky/shell:assets", + "//sky/shell:java", + "//sky/shell:sky_shell", + ":assets", + ] - if (defined(invoker.deps)) { - deps += invoker.deps + if (defined(invoker.deps)) { + deps += invoker.deps + } } } } diff --git a/build/skyx.gni b/build/skyx.gni index 2306558d207..f0d9c235fb7 100644 --- a/build/skyx.gni +++ b/build/skyx.gni @@ -2,15 +2,6 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. -declare_args() { - # Controls whether we build app.skyx bundles in the sky_app template below. - # An app.skyx bundle contains all the code an resources needed to run a Sky - # app offline. Unfortunately, we don't yet have all the Dart packages we need - # to create skyx packages installed on the build bots, so this functionality - # is currently disabled. This flag allows for local testing of this feature. - enable_skyx = false -} - package_root = "$root_gen_dir/dart-pkg/packages" template("skyx") { @@ -75,6 +66,8 @@ template("skyx") { script = "//sky/tools/skyx.py" args = [ + "--package-root", + rebase_path(package_root, root_build_dir), "--asset-base", rebase_path(asset_base, root_build_dir), "--snapshot", @@ -93,14 +86,13 @@ template("skyx") { deps = [ ":gen_${bundle_prefix}_snapshot", + "//third_party/dart-pkg", ] } group(target_name) { - if (enable_skyx) { - deps = [ - ":gen_${bundle_prefix}_bundle", - ] - } + deps = [ + ":gen_${bundle_prefix}_bundle", + ] } } diff --git a/sdk/BUILD.gn b/sdk/BUILD.gn index f742a8b23c9..5752963358e 100644 --- a/sdk/BUILD.gn +++ b/sdk/BUILD.gn @@ -92,7 +92,8 @@ dart_pkg("sky") { # List of mojom targets that the sky pkg exports deps = [ - "//sky/services/engine", + "//sky/services/engine:interfaces", + "//sky/services/activity:interfaces", ] datadeps = [ @@ -100,7 +101,8 @@ dart_pkg("sky") { "//mojo/dart/mojom", "//mojo/public/dart:mojo", "//sky/engine/bindings", - "//sky/services/testing", + "//sky/services/testing:interfaces", + "//sky/services/media:interfaces", "//third_party/dart-pkg", ] diff --git a/sdk/example/BUILD.gn b/sdk/example/BUILD.gn index 950504a230b..96325eb18bd 100644 --- a/sdk/example/BUILD.gn +++ b/sdk/example/BUILD.gn @@ -5,15 +5,11 @@ group("example") { testonly = true - deps = [] - - if (is_android) { - deps += [ - "//sky/sdk/example/demo_launcher", - "//sky/sdk/example/mine_digger", - "//sky/sdk/example/rendering", - "//sky/sdk/example/stocks", - "//sky/sdk/example/widgets", - ] - } + deps = [ + "//sky/sdk/example/rendering", + "//sky/sdk/example/demo_launcher", + "//sky/sdk/example/mine_digger", + "//sky/sdk/example/stocks", + "//sky/sdk/example/widgets", + ] } diff --git a/sdk/example/demo_launcher/BUILD.gn b/sdk/example/demo_launcher/BUILD.gn index b7bf617d529..fbae9b404dd 100644 --- a/sdk/example/demo_launcher/BUILD.gn +++ b/sdk/example/demo_launcher/BUILD.gn @@ -5,21 +5,22 @@ import("//sky/build/sky_app.gni") sky_app("demo_launcher") { - apk_name = "SkyDemo" main_dart = "lib/main.dart" manifest = "sky.yaml" - if (enable_skyx) { + if (is_android) { + apk_name = "SkyDemo" + bundles = [ "//sky/sdk/example/mine_digger", "//sky/sdk/example/rendering:interactive_flex", "//sky/sdk/example/stocks", "//sky/sdk/example/widgets:sector", ] - } - deps = [ - "//sky/sdk/example/demo_launcher/apk:java", - "//sky/sdk/example/demo_launcher/apk:resources", - ] + deps = [ + "//sky/sdk/example/demo_launcher/apk:java", + "//sky/sdk/example/demo_launcher/apk:resources", + ] + } } diff --git a/sdk/example/mine_digger/BUILD.gn b/sdk/example/mine_digger/BUILD.gn index 3472599a817..ec5218b15ae 100644 --- a/sdk/example/mine_digger/BUILD.gn +++ b/sdk/example/mine_digger/BUILD.gn @@ -2,11 +2,12 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. -assert(is_android) - import("//sky/build/sky_app.gni") sky_app("mine_digger") { - apk_name = "MineDigger" main_dart = "lib/main.dart" + + if (is_android) { + apk_name = "MineDigger" + } } diff --git a/sdk/example/stocks/BUILD.gn b/sdk/example/stocks/BUILD.gn index 0e56d1536f4..d1484fdd5e4 100644 --- a/sdk/example/stocks/BUILD.gn +++ b/sdk/example/stocks/BUILD.gn @@ -2,12 +2,13 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. -assert(is_android) - import("//sky/build/sky_app.gni") sky_app("stocks") { - apk_name = "Stocks" main_dart = "lib/main.dart" manifest = "sky.yaml" + + if (is_android) { + apk_name = "Stocks" + } } diff --git a/services/activity/BUILD.gn b/services/activity/BUILD.gn index ee5dbf3b5c4..e55ee07a619 100644 --- a/services/activity/BUILD.gn +++ b/services/activity/BUILD.gn @@ -16,6 +16,12 @@ group("activity") { } } +mojom("interfaces") { + sources = [ + "activity.mojom", + ] +} + if (is_android) { import("//build/config/android/config.gni") import("//build/config/android/rules.gni") @@ -31,9 +37,3 @@ if (is_android) { ] } } - -mojom("interfaces") { - sources = [ - "activity.mojom", - ] -} diff --git a/services/engine/BUILD.gn b/services/engine/BUILD.gn index 667384f011d..f01238aa24c 100644 --- a/services/engine/BUILD.gn +++ b/services/engine/BUILD.gn @@ -4,7 +4,7 @@ import("//mojo/public/tools/bindings/mojom.gni") -mojom("engine") { +mojom("interfaces") { sources = [ "input_event.mojom", "sky_engine.mojom", diff --git a/services/media/BUILD.gn b/services/media/BUILD.gn index f6b701342a2..9cc1afd2403 100644 --- a/services/media/BUILD.gn +++ b/services/media/BUILD.gn @@ -2,32 +2,18 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. -import("//build/config/android/config.gni") -import("//build/config/android/rules.gni") import("//mojo/public/tools/bindings/mojom.gni") group("media") { testonly = true deps = [ - ":media_lib", ":interfaces", ] -} -android_library("media_lib") { - java_files = [ - "src/org/domokit/media/MediaPlayerImpl.java", - "src/org/domokit/media/MediaServiceImpl.java", - ] - - deps = [ - "//base:base_java", - "//mojo/java", - "//mojo/public/java:bindings", - "//mojo/public/java:system", - ":interfaces_java", - ] + if (is_android) { + deps += [ ":media_lib" ] + } } mojom("interfaces") { @@ -35,3 +21,23 @@ mojom("interfaces") { "media.mojom", ] } + +if (is_android) { + import("//build/config/android/config.gni") + import("//build/config/android/rules.gni") + + android_library("media_lib") { + java_files = [ + "src/org/domokit/media/MediaPlayerImpl.java", + "src/org/domokit/media/MediaServiceImpl.java", + ] + + deps = [ + "//base:base_java", + "//mojo/java", + "//mojo/public/java:bindings", + "//mojo/public/java:system", + ":interfaces_java", + ] + } +} diff --git a/services/testing/BUILD.gn b/services/testing/BUILD.gn index 74b41fbb4ff..880af1a90cb 100644 --- a/services/testing/BUILD.gn +++ b/services/testing/BUILD.gn @@ -4,7 +4,7 @@ import("//mojo/public/tools/bindings/mojom.gni") -mojom("testing") { +mojom("interfaces") { sources = [ "test_harness.mojom", ] diff --git a/shell/BUILD.gn b/shell/BUILD.gn index c4a0f508f98..a3b7cb4d8be 100644 --- a/shell/BUILD.gn +++ b/shell/BUILD.gn @@ -19,7 +19,7 @@ common_deps = [ "//sky/engine", "//sky/engine/tonic", "//sky/engine/wtf", - "//sky/services/engine", + "//sky/services/engine:interfaces", "//sky/services/platform", "//sky/shell/dart", "//ui/gfx/geometry", @@ -120,7 +120,7 @@ if (is_android) { "//services/keyboard", "//sky/services/activity:activity_lib", "//sky/services/activity:interfaces_java", - "//sky/services/engine:engine_java", + "//sky/services/engine:interfaces_java", "//sky/services/oknet", ] } @@ -191,7 +191,7 @@ if (is_android) { deps = common_deps + [ ":common", - "//sky/services/testing", + "//sky/services/testing:interfaces", ] } } else { diff --git a/tools/skyx.py b/tools/skyx.py index 094b35abd6d..07fb84fd7fd 100755 --- a/tools/skyx.py +++ b/tools/skyx.py @@ -14,6 +14,7 @@ DART_SDK = os.path.join(SRC_ROOT, 'third_party', 'dart-sdk', 'dart-sdk', 'bin') def main(): parser = argparse.ArgumentParser(description='Packaging tool for Sky apps') + parser.add_argument('--package-root', type=str) parser.add_argument('--manifest', type=str) parser.add_argument('--asset-base', type=str) parser.add_argument('--snapshot', type=str) @@ -22,6 +23,7 @@ def main(): command = [ os.path.join(DART_SDK, 'dart'), + '--package-root=%s' % args.package_root, os.path.join(SKY_TOOLS_DIR, 'skyx', 'bin', 'skyx.dart'), '--asset-base', args.asset_base, '--snapshot', args.snapshot, diff --git a/tools/skyx/pubspec.lock b/tools/skyx/pubspec.lock deleted file mode 100644 index 36d5306871e..00000000000 --- a/tools/skyx/pubspec.lock +++ /dev/null @@ -1,35 +0,0 @@ -# Generated by pub -# See http://pub.dartlang.org/doc/glossary.html#lockfile -packages: - archive: - description: archive - source: hosted - version: "1.0.20" - args: - description: args - source: hosted - version: "0.13.2" - collection: - description: collection - source: hosted - version: "1.1.1" - crypto: - description: crypto - source: hosted - version: "0.9.0" - path: - description: path - source: hosted - version: "1.3.5" - source_span: - description: source_span - source: hosted - version: "1.1.2" - string_scanner: - description: string_scanner - source: hosted - version: "0.1.3+1" - yaml: - description: yaml - source: hosted - version: "2.1.3" diff --git a/tools/tester/BUILD.gn b/tools/tester/BUILD.gn index d7b02630192..2db5dbe4790 100644 --- a/tools/tester/BUILD.gn +++ b/tools/tester/BUILD.gn @@ -26,6 +26,6 @@ mojo_native_application("tester") { "//mojo/services/input_events/public/interfaces", "//mojo/services/view_manager/public/cpp", "//services/window_manager:lib", - "//sky/services/testing", + "//sky/services/testing:interfaces", ] } diff --git a/viewer/BUILD.gn b/viewer/BUILD.gn index c90e753b331..1dfc6a50c4b 100644 --- a/viewer/BUILD.gn +++ b/viewer/BUILD.gn @@ -54,7 +54,7 @@ mojo_native_application("viewer") { "//sky/engine/tonic", "//sky/services/activity:interfaces", "//sky/services/platform", - "//sky/services/testing", + "//sky/services/testing:interfaces", "//sky/shell/dart", "//sky/viewer/compositor", "//third_party/icu",