blob: 1846cbe5fe40b1b7f00820986dc44fdf5c194a61 [file] [log] [blame]
# Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file
# for details. All rights reserved. Use of this source code is governed by a
# BSD-style license that can be found in the LICENSE file.
import("../application_snapshot.gni")
import("../create_timestamp.gni")
application_snapshot("dartdevc") {
main_dart = "../../pkg/dev_compiler/bin/dartdevc.dart"
training_args = [
"--dart-sdk",
rebase_path("../../sdk"),
"--dart-sdk-summary",
rebase_path("../../pkg/dev_compiler/lib/sdk/ddc_sdk.sum"),
"--library-root",
rebase_path("../../pkg/dev_compiler"),
"-o",
"dartdevc.js",
"--unsafe-force-compile",
rebase_path("../../pkg/dev_compiler/bin/dartdevc.dart"),
]
inputs = exec_script("../../tools/list_dart_files.py",
[
"absolute",
rebase_path("../../pkg/dev_compiler/bin"),
],
"list lines")
}
sdk_lib_files = exec_script("../../tools/list_dart_files.py",
[
"absolute",
rebase_path("../../sdk/lib"),
],
"list lines")
compiler_files = exec_script("../../tools/list_dart_files.py",
[
"absolute",
rebase_path("../../pkg/compiler"),
],
"list lines")
dev_compiler_files = exec_script("../../tools/list_dart_files.py",
[
"absolute",
rebase_path("../../pkg/dev_compiler"),
],
"list lines")
template("dart2js_compile") {
assert(defined(invoker.main), "Must specify the main file")
main = invoker.main
assert(defined(invoker.out), "Must specify the out file")
out = invoker.out
abs_main = rebase_path(main)
abs_output = rebase_path(out)
compiled_action(target_name) {
tool = "../../runtime/bin:dart"
inputs = sdk_lib_files + compiler_files + dev_compiler_files
outputs = [
out,
]
dot_packages = rebase_path("../../.packages")
compiler = rebase_path("../../pkg/compiler/lib/src/dart2js.dart")
args = [
"--packages=$dot_packages",
compiler,
"--packages=$dot_packages",
"$abs_main",
"-m",
"-o$abs_output",
]
}
}
dart2js_compile("dartdevc_web") {
main = rebase_path("../../pkg/dev_compiler/web/main.dart")
out = "$root_out_dir/dev_compiler/build/web/ddc_web_compiler.js"
}
dart2js_compile("stack_trace_mapper") {
main = rebase_path("../../pkg/dev_compiler/web/stack_trace_mapper.dart")
out = "$root_out_dir/dev_compiler/build/web/dart_stack_trace_mapper.js"
}
# Builds everything needed to run dartdevc tests using test.dart.
group("dartdevc_test") {
deps = [
":dartdevc",
":dartdevc_test_pkg",
"../../sdk:create_sdk",
]
}
create_timestamp_file("dartdevc_files_stamp") {
path = rebase_path("../../pkg/dev_compiler/lib")
output = "$target_gen_dir/dartdevc_files.stamp"
}
# Compiles the packages used by the tests to JS with dartdevc so that they are
# available for loading by the tests.
compiled_action("dartdevc_test_pkg") {
tool = "../../runtime/bin:dart"
deps = [
":dartdevc_files_stamp",
"../../pkg:pkg_files_stamp",
]
inputs = [
"$target_gen_dir/dartdevc_files.stamp",
"$root_gen_dir/pkg_files.stamp",
]
outputs = [
"$target_gen_dir/pkg/async_helper.js",
"$target_gen_dir/pkg/async_helper.sum",
"$target_gen_dir/pkg/collection.js",
"$target_gen_dir/pkg/collection.sum",
"$target_gen_dir/pkg/expect.js",
"$target_gen_dir/pkg/expect.sum",
"$target_gen_dir/pkg/js.js",
"$target_gen_dir/pkg/js.sum",
"$target_gen_dir/pkg/matcher.js",
"$target_gen_dir/pkg/matcher.sum",
"$target_gen_dir/pkg/meta.js",
"$target_gen_dir/pkg/meta.sum",
"$target_gen_dir/pkg/path.js",
"$target_gen_dir/pkg/path.sum",
"$target_gen_dir/pkg/stack_trace.js",
"$target_gen_dir/pkg/stack_trace.sum",
# TODO(rnystrom): Remove this when unittest is no longer used. Also remove
# any of the above packages that are only here because unittest uses them.
"$target_gen_dir/pkg/unittest.js",
"$target_gen_dir/pkg/unittest.sum",
]
args = [
rebase_path("../../pkg/dev_compiler/tool/build_pkgs.dart"),
rebase_path("$target_gen_dir/pkg"),
]
}