blob: 98cfe319f5ef525912382acc0242a38f90321ebb [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.
# Currently paths here are hard coded for convenience in building Mojo/Flutter.
declare_args() {
# Specify the path to a host compatible version of the Dart SDK.
# This SDK is used to compile the Observatory frontend sources.
dart_host_sdk = rebase_path("//third_party/dart-sdk/dart-sdk")
# Specify the path to a host compatible version of pub.
# This is used to compile the Observatory frontend sources.
dart_host_pub_exe = rebase_path("$dart_host_sdk/bin/pub")
}
# Helper build rules for packaging the Dart observatory resources.
observatory_sources_gypi =
exec_script("../../tools/gypi_to_gn.py",
[ rebase_path(
"//dart/runtime/observatory/observatory_sources.gypi") ],
"scope",
[ "//dart/runtime/observatory/observatory_sources.gypi" ])
copy("copy_observatory") {
sources = rebase_path(observatory_sources_gypi.sources,
"",
".")
outputs = [
"$root_gen_dir/observatory_copy/{{source_root_relative_dir}}/{{source_file_part}}",
]
}
action("write_observatory_pubspec_yaml") {
deps = [
":copy_observatory",
]
script = "../../tools/observatory_tool.py"
inputs = [
rebase_path("pubspec.yaml"),
]
args = [
"--silent=True",
"--pub-executable",
dart_host_pub_exe,
"--directory",
rebase_path("$root_gen_dir/observatory_copy/dart/runtime/observatory/"),
"--command",
"rewrite",
rebase_path("//dart/runtime/observatory/pubspec.yaml"),
rebase_path(
"$root_gen_dir/observatory_copy/dart/runtime/observatory/pubspec.yaml"),
"../../third_party/",
rebase_path("../../../dart/third_party/"),
]
outputs = [
"$root_gen_dir/observatory_copy/dart/runtime/observatory/pubspec.yaml",
]
}
action("copy_observatory_deps") {
deps = [
":write_observatory_pubspec_yaml",
]
script = "//dart/tools/observatory_tool.py"
inputs = [
script,
"$root_gen_dir/observatory_copy/dart/runtime/observatory/pubspec.yaml",
]
args = [
"--silent=True",
"--pub-executable",
dart_host_pub_exe,
"--stamp",
rebase_path("$root_gen_dir/observatory_copy/dart/runtime/observatory/packages.stamp"),
"--directory",
rebase_path("$root_gen_dir/observatory_copy/dart/runtime/observatory/"),
"--command",
"get",
]
outputs = [
"$root_gen_dir/observatory_copy/dart/runtime/observatory/packages.stamp",
]
}
action("pub_build_observatory") {
sources =
rebase_path(observatory_sources_gypi.sources,
"",
"$root_gen_dir/observatory_copy/dart/runtime/observatory")
deps = [
":copy_observatory",
":copy_observatory_deps",
]
script = "//dart/tools/observatory_tool.py"
inputs = [
script,
"$root_gen_dir/observatory_copy/dart/runtime/observatory/packages.stamp",
]
inputs += sources
args = [
"--silent=True",
"--pub-executable",
dart_host_pub_exe,
"--directory",
rebase_path("$root_gen_dir/observatory_copy/dart/runtime/observatory/"),
"--command",
"build",
rebase_path("$root_out_dir/observatory/build"),
]
outputs = [
"$root_out_dir/observatory/build/web/index.html.polymer.bootstrap.dart.js",
]
}
action("deploy_observatory") {
deps = [
":pub_build_observatory",
]
script = "//dart/tools/observatory_tool.py"
inputs = [
script,
"$root_out_dir/observatory/build/web/index.html.polymer.bootstrap.dart.js",
]
args = [
"--silent=True",
"--pub-executable",
dart_host_pub_exe,
"--directory",
rebase_path("$root_out_dir/observatory"),
"--command",
"deploy",
]
outputs = [
"$root_out_dir/observatory/deployed/web/index.html.polymer.bootstrap.dart.js",
]
}
action("archive_observatory") {
deps = [
":deploy_observatory",
]
script = "//dart/runtime/tools/create_archive.py"
inputs = [
script,
"$root_out_dir/observatory/deployed/web/index.html.polymer.bootstrap.dart.js",
]
args = [
"--output",
rebase_path("$root_gen_dir/observatory/observatory_archive.cc"),
"--tar_output",
rebase_path("$root_gen_dir/observatory/observatory_archive.tar"),
"--outer_namespace", "dart",
"--inner_namespace", "observatory",
"--name", "observatory_assets_archive",
"--client_root", rebase_path("$root_out_dir/observatory/deployed/web/"),
]
outputs = [
"$root_gen_dir/observatory/observatory_archive.cc",
"$root_gen_dir/observatory/observatory_archive.tar",
]
}
source_set("embedded_observatory_archive") {
deps = [
":archive_observatory",
]
sources = [
rebase_path("$root_gen_dir/observatory/observatory_archive.cc"),
]
}