blob: 5cd4ad71511784a6fdc506d8050490046a95aff7 [file] [log] [blame]
# Copyright 2020 The Fuchsia 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("//build/dart/dart.gni")
import("//build/python/python_binary.gni")
import("//build/sdk/sdk_atom.gni")
kernel_snapshot = "//prebuilt/third_party/dart/$host_os-$host_cpu/bin/snapshots/gen_kernel.dart.snapshot"
# TODO(alainv): Move that to dart_tool.gni to make it more generic.
sdk_atom("kernel_compiler_sdk") {
id = "sdk://tools/dart_kernel_compiler"
category = "partner"
meta = {
schema = "host_tool"
dest = "tools/dart_kernel_compiler-meta.json"
value = {
type = "host_tool"
name = "dart_kernel_compiler"
root = "tools"
files = [
"tools/dart",
"tools/dart_prebuilts/dart_runner/platform_strong.dill",
"tools/dart_prebuilts/flutter_runner/platform_strong.dill",
"tools/dart_prebuilts/kernel_compiler.snapshot",
"tools/dart_prebuilts/frontend_server_tool.snapshot",
]
}
}
kernel_compiler_path = kernel_snapshot
files = [
{
source = "$kernel_compiler_path"
dest = "tools/dart_prebuilts/kernel_compiler.snapshot"
},
{
source = prebuilt_dart
dest = "tools/dart"
},
{
source = "$root_out_dir/dart_runner_patched_sdk/platform_strong.dill"
dest = "tools/dart_prebuilts/dart_runner/platform_strong.dill"
},
{
source = "$root_out_dir/flutter_runner_patched_sdk/platform_strong.dill"
dest = "tools/dart_prebuilts/flutter_runner/platform_strong.dill"
},
{
source = rebase_path(
"//prebuilt/third_party/flutter/${host_cpu}/debug/jit/dart_binaries/flutter_frontend_server.snapshot")
dest = "tools/dart_prebuilts/frontend_server_tool.snapshot"
},
]
non_sdk_deps = [
"//build/dart:platform_files",
"//build/flutter:platform_files",
]
}
sdk_atom("gen_snapshot_sdk") {
id = "sdk://tools/gen_snapshot"
category = "partner"
files_content = [
"tools/gen_snapshot.${current_cpu}",
"tools/gen_snapshot_product.${current_cpu}",
]
meta = {
schema = "host_tool"
dest = "tools/gen_snapshot-meta.json"
value = {
type = "host_tool"
name = "gen_snapshot"
root = "tools"
target_files = {
}
if (target_cpu == "arm64") {
target_files.arm64 = files_content
} else if (target_cpu == "x64") {
target_files.x64 = files_content
} else {
assert(false, "Unknown CPU type: $target_cpu")
}
}
}
files = [
{
source = prebuilt_gen_snapshot
dest = "tools/gen_snapshot.${current_cpu}"
},
{
source = prebuilt_gen_snapshot_product
dest = "tools/gen_snapshot_product.${current_cpu}"
},
]
}
group("tests") {
testonly = true
# TODO(fxb/41505): Temporarily disable flutter_tester tests on mac hosts.
_flutter_tester_tests = []
if (host_os != "mac") {
_flutter_tester_tests += [
"//sdk/dart/fuchsia_internationalization_flutter:tests($host_toolchain)",
"//sdk/dart/fuchsia_scenic_flutter:fuchsia_scenic_flutter_unittests($host_toolchain)",
]
}
public_deps = [
# TODO: This target should just aggregate the top-level directories and
# most of these dependencies should be in those subdirectories.
"//bundles/packages:base_packages",
"//bundles/packages/tests:scenic",
"//src/modular/bundles:framework",
"//src/modular/bundles:tools",
"//src/modular/bundles:integration_testing",
"//src/fonts",
"//src/ui/tools:scenic",
"//sdk/dart/fuchsia_component_test:tests",
"//sdk/dart/fuchsia_inspect:tests",
"//sdk/dart/fuchsia_modular:fuchsia_modular_package_unittests",
"//sdk/dart/fuchsia_services:fuchsia_services_package_unittests",
# TODO(fxb/38305): Re-enable test when unblocked and inspect paths are corrected
# "//sdk/dart/fuchsia_inspect/test/inspect_flutter_integration_tester:inspect-dart-integration-test-driver",
"//sdk/dart/fuchsia_inspect/test/inspect_flutter_integration_tester",
"//sdk/dart/fuchsia_inspect/test/integration:dart_inspect_vmo_test",
"//sdk/dart/fuchsia_inspect/test/integration:dart_inspect_vmo_test_writer",
"//sdk/dart/fuchsia_inspect/test/validator_puppet:tests",
"//sdk/dart/fuchsia_logger:fuchsia_logger_package_unittests($host_toolchain)",
"//sdk/dart/fuchsia_logger/test/integration:fuchsia-logger-integration-tests",
"//sdk/dart/fuchsia_modular:fuchsia-modular-integration-tests",
"//sdk/dart/fuchsia_modular_testing:fuchsia-modular-testing-integration-tests",
"//sdk/dart/fuchsia_services:fuchsia-services-integration-tests",
"//sdk/dart/fuchsia_services/test_support:fuchsia-services-foo-test-server",
"//sdk/dart/fuchsia_vfs:tests",
"//sdk/dart/zircon:tests",
] + _flutter_tester_tests
}
_gen_reference_docs_script_target = "gen_reference_docs_script"
python_binary(_gen_reference_docs_script_target) {
main_source = "//build/dart/gen_reference_docs.py"
output_name = "gen_reference_docs.pyz"
deps = [ "//third_party/pyyaml:yaml" ]
}
action("dart_sdk_docs") {
script_output = get_target_outputs(":${_gen_reference_docs_script_target}")
script = script_output[0]
docs_out_dir = "$target_out_dir/docs"
# We don't know all the generated files ahead of time, but some files are
# consistent between runs, so list only those.
outputs = [
"$docs_out_dir/__404error.md",
"$docs_out_dir/categories.json",
"$docs_out_dir/index.json",
"$docs_out_dir/index.md",
]
args = [
"--gen-dir",
rebase_path("$target_gen_dir/docs"),
"--out-dir",
rebase_path("$docs_out_dir"),
"--prebuilts-dir",
rebase_path("$dart_sdk/bin"),
# packages
rebase_path("//sdk/dart/fidl"),
rebase_path("//sdk/dart/fuchsia"),
rebase_path("//sdk/dart/fuchsia_component_test"),
rebase_path("//sdk/dart/fuchsia_inspect"),
rebase_path("//sdk/dart/fuchsia_internationalization_flutter"),
rebase_path("//sdk/dart/fuchsia_logger"),
rebase_path("//sdk/dart/fuchsia_modular"),
rebase_path("//sdk/dart/fuchsia_modular_testing"),
rebase_path("//sdk/dart/fuchsia_scenic"),
rebase_path("//sdk/dart/fuchsia_scenic_flutter"),
rebase_path("//sdk/dart/fuchsia_services"),
rebase_path("//sdk/dart/fuchsia_vfs"),
rebase_path("//sdk/dart/zircon"),
]
deps = [ ":${_gen_reference_docs_script_target}" ]
}