|  | # 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. | 
|  |  | 
|  | package_root = "$root_gen_dir/dart-pkg/packages" | 
|  |  | 
|  | template("skyx") { | 
|  | bundle_prefix = target_name | 
|  | bundle = "$target_gen_dir/${bundle_prefix}.skyx" | 
|  | snapshot = "$target_gen_dir/${bundle_prefix}_snapshot.bin" | 
|  |  | 
|  | action("gen_${bundle_prefix}_snapshot") { | 
|  | main_dart = invoker.main_dart | 
|  |  | 
|  | inputs = [ | 
|  | main_dart, | 
|  | ] | 
|  | outputs = [ | 
|  | snapshot, | 
|  | ] | 
|  |  | 
|  | if (defined(invoker.sources)) { | 
|  | inputs += sources | 
|  | } | 
|  |  | 
|  | sky_packager_dir = | 
|  | get_label_info("//sky/tools/packager($host_toolchain)", "root_out_dir") | 
|  |  | 
|  | script = "//sky/tools/sky_packager.py" | 
|  |  | 
|  | src_dir = "//" | 
|  | cwd = rebase_path(src_dir, root_build_dir) | 
|  |  | 
|  | args = [ | 
|  | rebase_path("$sky_packager_dir/sky_packager", src_dir), | 
|  | rebase_path(main_dart, src_dir), | 
|  | "--package-root", | 
|  | rebase_path(package_root, src_dir), | 
|  | "--snapshot", | 
|  | rebase_path(snapshot, src_dir), | 
|  | "-C", | 
|  | cwd, | 
|  | ] | 
|  |  | 
|  | deps = [ | 
|  | "//sky/tools/packager($host_toolchain)", | 
|  | "//sky/sdk", | 
|  | ] | 
|  |  | 
|  | if (defined(invoker.deps)) { | 
|  | deps += invoker.deps | 
|  | } | 
|  | } | 
|  |  | 
|  | action("gen_${bundle_prefix}_bundle") { | 
|  | asset_base = "$package_root/sky/assets/material-design-icons" | 
|  |  | 
|  | sources = [ | 
|  | "//sky/tools/skyx/bin/skyx.dart", | 
|  | snapshot, | 
|  | ] | 
|  |  | 
|  | outputs = [ | 
|  | bundle, | 
|  | ] | 
|  |  | 
|  | 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", | 
|  | rebase_path(snapshot, root_build_dir), | 
|  | "-o", | 
|  | rebase_path(bundle, root_build_dir), | 
|  | ] | 
|  |  | 
|  | if (defined(invoker.manifest)) { | 
|  | sources += [ invoker.manifest ] | 
|  | args += [ | 
|  | "--manifest", | 
|  | rebase_path(invoker.manifest, root_build_dir), | 
|  | ] | 
|  | } | 
|  |  | 
|  | deps = [ | 
|  | ":gen_${bundle_prefix}_snapshot", | 
|  | "//third_party/dart-pkg", | 
|  | ] | 
|  | } | 
|  |  | 
|  | group(target_name) { | 
|  | deps = [ | 
|  | ":gen_${bundle_prefix}_bundle", | 
|  | ] | 
|  | } | 
|  | } |