dart-sdk/utils/compiler/BUILD.gn

107 lines
2.8 KiB
Plaintext
Raw Normal View History

# 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("../../utils/compile_platform.gni")
import("../create_timestamp.gni")
import("../application_snapshot.gni")
create_timestamp_file("dart2js_files_stamp") {
path = rebase_path("../../pkg/compiler/lib")
output = "$target_gen_dir/dart2js_files.stamp"
}
create_timestamp_file("runtime_lib_files_stamp") {
path = rebase_path("../../runtime/lib")
output = "$target_gen_dir/runtime_lib_files.stamp"
}
create_timestamp_file("dartdoc_files_stamp") {
path = rebase_path("../../sdk/lib/_internal/dartdoc")
output = "$target_gen_dir/dartdoc_files.stamp"
}
dart_action("dart2js_create_snapshot_entry") {
deps = [
":dart2js_files_stamp",
":dartdoc_files_stamp",
":runtime_lib_files_stamp",
]
[build] Possible fix for 'Error while initializing Kernel isolate' The flaky errors [215/296] ACTION //utils/dartdevc:stack_trace_mapper(//build/toolchain/linux:clang_x86) FAILED: dev_compiler/build/web/dart_stack_trace_mapper.js python ../../build/gn_run_binary.py compiled_action dart --packages=/b/s/w/ir/cache/builder/sdk/.packages /b/s/w/ir/cache/builder/sdk/pkg/compiler/lib/src/dart2js.dart /b/s/w/ir/cache/builder/sdk/pkg/dev_compiler/web/stack_trace_mapper.dart -m -o/b/s/w/ir/cache/builder/sdk/out/ReleaseIA32/dev_compiler/build/web/dart_stack_trace_mapper.js Command failed: ./dart --packages=/b/s/w/ir/cache/builder/sdk/.packages /b/s/w/ir/cache/builder/sdk/pkg/compiler/lib/src/dart2js.dart /b/s/w/ir/cache/builder/sdk/pkg/dev_compiler/web/stack_trace_mapper.dart -m -o/b/s/w/ir/cache/builder/sdk/out/ReleaseIA32/dev_compiler/build/web/dart_stack_trace_mapper.js output: Error while initializing Kernel isolate [216/296] ACTION //utils/compiler:dart2js_create_snapshot_entry(//build/toolchain/linux:clang_x86) FAILED: gen/utils/compiler/dart2js.dart python ../../build/gn_run_binary.py compiled_action dart --packages=/b/s/w/ir/cache/builder/sdk/.packages /b/s/w/ir/cache/builder/sdk/utils/compiler/create_snapshot_entry.dart --output_dir=/b/s/w/ir/cache/builder/sdk/out/ReleaseIA32/gen/utils/compiler --dart2js_main=pkg/compiler/lib/src/dart2js.dart Command failed: ./dart --packages=/b/s/w/ir/cache/builder/sdk/.packages /b/s/w/ir/cache/builder/sdk/utils/compiler/create_snapshot_entry.dart --output_dir=/b/s/w/ir/cache/builder/sdk/out/ReleaseIA32/gen/utils/compiler --dart2js_main=pkg/compiler/lib/src/dart2js.dart output: Error while initializing Kernel isolate [217/296] ACTION //utils/dartdevc:dartdevc_web(//build/toolchain/linux:clang_x86) FAILED: dev_compiler/build/web/ddc_web_compiler.js python ../../build/gn_run_binary.py compiled_action dart --packages=/b/s/w/ir/cache/builder/sdk/.packages /b/s/w/ir/cache/builder/sdk/pkg/compiler/lib/src/dart2js.dart /b/s/w/ir/cache/builder/sdk/pkg/dev_compiler/web/main.dart -m -o/b/s/w/ir/cache/builder/sdk/out/ReleaseIA32/dev_compiler/build/web/ddc_web_compiler.js Command failed: ./dart --packages=/b/s/w/ir/cache/builder/sdk/.packages /b/s/w/ir/cache/builder/sdk/pkg/compiler/lib/src/dart2js.dart /b/s/w/ir/cache/builder/sdk/pkg/dev_compiler/web/main.dart -m -o/b/s/w/ir/cache/builder/sdk/out/ReleaseIA32/dev_compiler/build/web/ddc_web_compiler.js output: Error while initializing Kernel isolate could appear due to stale kernel service snapshot. The problem is that dart_action() used when building snapshots for dart2js and DDC uses kernel service snapshot in Dart 2 mode, but it can't depend on kernel service as it will create a circular dependency. The short-term solution is to add dependency on kernel service snapshot to the rules which use dart_action(). Change-Id: Icfe9148e24342f199370a09293e93806027b2a39 Reviewed-on: https://dart-review.googlesource.com/61742 Reviewed-by: Zach Anderson <zra@google.com> Reviewed-by: Siva Annamalai <asiva@google.com> Commit-Queue: Alexander Markov <alexmarkov@google.com>
2018-06-21 22:09:13 +00:00
# dart_action() needs kernel service snapshot to run in Dart 2 mode.
# This can't be added as a dependency to dart_action() itself as it will
# create a circular dependency.
deps += [ "../../utils/kernel-service:kernel-service" ]
[build] Possible fix for 'Error while initializing Kernel isolate' The flaky errors [215/296] ACTION //utils/dartdevc:stack_trace_mapper(//build/toolchain/linux:clang_x86) FAILED: dev_compiler/build/web/dart_stack_trace_mapper.js python ../../build/gn_run_binary.py compiled_action dart --packages=/b/s/w/ir/cache/builder/sdk/.packages /b/s/w/ir/cache/builder/sdk/pkg/compiler/lib/src/dart2js.dart /b/s/w/ir/cache/builder/sdk/pkg/dev_compiler/web/stack_trace_mapper.dart -m -o/b/s/w/ir/cache/builder/sdk/out/ReleaseIA32/dev_compiler/build/web/dart_stack_trace_mapper.js Command failed: ./dart --packages=/b/s/w/ir/cache/builder/sdk/.packages /b/s/w/ir/cache/builder/sdk/pkg/compiler/lib/src/dart2js.dart /b/s/w/ir/cache/builder/sdk/pkg/dev_compiler/web/stack_trace_mapper.dart -m -o/b/s/w/ir/cache/builder/sdk/out/ReleaseIA32/dev_compiler/build/web/dart_stack_trace_mapper.js output: Error while initializing Kernel isolate [216/296] ACTION //utils/compiler:dart2js_create_snapshot_entry(//build/toolchain/linux:clang_x86) FAILED: gen/utils/compiler/dart2js.dart python ../../build/gn_run_binary.py compiled_action dart --packages=/b/s/w/ir/cache/builder/sdk/.packages /b/s/w/ir/cache/builder/sdk/utils/compiler/create_snapshot_entry.dart --output_dir=/b/s/w/ir/cache/builder/sdk/out/ReleaseIA32/gen/utils/compiler --dart2js_main=pkg/compiler/lib/src/dart2js.dart Command failed: ./dart --packages=/b/s/w/ir/cache/builder/sdk/.packages /b/s/w/ir/cache/builder/sdk/utils/compiler/create_snapshot_entry.dart --output_dir=/b/s/w/ir/cache/builder/sdk/out/ReleaseIA32/gen/utils/compiler --dart2js_main=pkg/compiler/lib/src/dart2js.dart output: Error while initializing Kernel isolate [217/296] ACTION //utils/dartdevc:dartdevc_web(//build/toolchain/linux:clang_x86) FAILED: dev_compiler/build/web/ddc_web_compiler.js python ../../build/gn_run_binary.py compiled_action dart --packages=/b/s/w/ir/cache/builder/sdk/.packages /b/s/w/ir/cache/builder/sdk/pkg/compiler/lib/src/dart2js.dart /b/s/w/ir/cache/builder/sdk/pkg/dev_compiler/web/main.dart -m -o/b/s/w/ir/cache/builder/sdk/out/ReleaseIA32/dev_compiler/build/web/ddc_web_compiler.js Command failed: ./dart --packages=/b/s/w/ir/cache/builder/sdk/.packages /b/s/w/ir/cache/builder/sdk/pkg/compiler/lib/src/dart2js.dart /b/s/w/ir/cache/builder/sdk/pkg/dev_compiler/web/main.dart -m -o/b/s/w/ir/cache/builder/sdk/out/ReleaseIA32/dev_compiler/build/web/ddc_web_compiler.js output: Error while initializing Kernel isolate could appear due to stale kernel service snapshot. The problem is that dart_action() used when building snapshots for dart2js and DDC uses kernel service snapshot in Dart 2 mode, but it can't depend on kernel service as it will create a circular dependency. The short-term solution is to add dependency on kernel service snapshot to the rules which use dart_action(). Change-Id: Icfe9148e24342f199370a09293e93806027b2a39 Reviewed-on: https://dart-review.googlesource.com/61742 Reviewed-by: Zach Anderson <zra@google.com> Reviewed-by: Siva Annamalai <asiva@google.com> Commit-Queue: Alexander Markov <alexmarkov@google.com>
2018-06-21 22:09:13 +00:00
output_dir = rebase_path(target_gen_dir)
script = "create_snapshot_entry.dart"
inputs = [
"../../sdk/lib/_internal/sdk_library_metadata/lib/libraries.dart",
"$target_gen_dir/dart2js_files.stamp",
"../../tools/make_version.py",
"../../tools/VERSION",
]
outputs = [
"$target_gen_dir/dart2js.dart",
]
packages = "../../.packages"
args = [
"--output_dir=$output_dir",
"--dart2js_main=pkg/compiler/lib/src/dart2js.dart",
]
}
application_snapshot("dart2js") {
deps = [
":compile_dart2js_platform",
":dart2js_create_snapshot_entry",
]
inputs = [
"$root_out_dir/dart2js_platform.dill",
"$root_out_dir/dart2js_outline.dill",
]
vm_args = []
main_dart = "$target_gen_dir/dart2js.dart"
training_args = [
"--packages=" + rebase_path("../../.packages"),
"--libraries-spec=" + rebase_path("../../sdk/lib/libraries.json"),
rebase_path("$target_gen_dir/dart2js.dart"),
]
}
compile_platform("compile_dart2js_platform") {
single_root_scheme = "org-dartlang-sdk"
single_root_base = rebase_path("../../")
libraries_specification_uri = "org-dartlang-sdk:///sdk/lib/libraries.json"
outputs = [
"$root_out_dir/dart2js_platform.dill",
"$root_out_dir/dart2js_outline.dill",
]
args = [
"--target=dart2js",
"dart:core",
]
}
compile_platform("compile_dart2js_server_platform") {
single_root_scheme = "org-dartlang-sdk"
single_root_base = rebase_path("../../")
libraries_specification_uri = "org-dartlang-sdk:///sdk/lib/libraries.json"
outputs = [
"$root_out_dir/dart2js_server_platform.dill",
"$root_out_dir/dart2js_server_outline.dill",
]
args = [
"--target=dart2js_server",
"dart:core",
]
}