blob: 6890cf67ea48c866277691ad938f85d4dec6b1e9 [file] [log] [blame]
# Copyright 2015 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
import("//sky/build/skyx.gni")
template("sky_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)) {
manifest = invoker.manifest
}
if (defined(invoker.sources)) {
sources = invoker.sources
}
}
if (is_android) {
import("//build/config/android/rules.gni")
bundle_prefix = target_name
copy("gen_${bundle_prefix}_bundle") {
sources = [
"$target_gen_dir/app.skyx",
]
outputs = [
"$target_gen_dir/${bundle_prefix}.skyx",
]
deps = [
":app",
]
}
copy_ex("assets") {
clear_dir = true
dest = "$target_gen_dir/assets"
sources = [
"$root_build_dir/icudtl.dat",
"$target_gen_dir/app.skyx",
]
deps = [
":$skyx_target_name",
":gen_${bundle_prefix}_bundle",
"//third_party/icu:icudata",
]
if (defined(invoker.bundles)) {
foreach(bundle, invoker.bundles) {
bundle_gen_dir = get_label_info(bundle, "target_gen_dir")
bundle_dir = get_label_info(bundle, "dir")
bundle_name = get_label_info(bundle, "name")
sources += [ "$bundle_gen_dir/${bundle_name}.skyx" ]
deps += [
"$bundle_dir:gen_${bundle_name}_bundle",
]
}
}
}
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"
deps = [
"//base:base_java",
"//sky/shell:assets",
"//sky/shell:java",
"//sky/shell:sky_shell",
":assets",
]
if (defined(invoker.deps)) {
deps += invoker.deps
}
}
}
}