blob: 9ce7b102a883ecaf8a0de4a84ada7853a123eb88 [file] [log] [blame]
# Copyright 2019 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/package.gni")
import("//build/test.gni")
import("//build/test/test_package.gni")
# Generate a manifest providing all of the .fidl.json files exported by the
# core SDK (and any other FIDL files we might want).
action("generate_fidl_json") {
script = "generate_fidl_json.sh"
generated_output = "$target_gen_dir/sdk_fidl_json.manifest"
outputs = [ "$generated_output" ]
testonly = true
deps = [
"//garnet/examples/fidl/services:echo",
"//sdk:core",
"//sdk:core_fidl_json",
"//sdk/fidl/fuchsia.boot",
"//sdk/fidl/fuchsia.device.manager",
"//sdk/fidl/fuchsia.kernel",
"//sdk/fidl/fuchsia.power",
"//third_party/quickjs:qjs($host_toolchain)",
]
args = [
"--qjs=" + rebase_path("$root_build_dir/host_$host_cpu/qjs"),
"--fidl-json-file=" +
rebase_path("$root_gen_dir/sdk/core.fidl_json.txt", root_build_dir),
"--out-file=" + rebase_path("$generated_output", root_build_dir),
rebase_path(
"$root_build_dir/fidling/gen/garnet/examples/fidl/services/echo.fidl.json",
root_build_dir),
rebase_path(
"$root_build_dir/fidling/gen/sdk/fidl/fuchsia.device.manager/fuchsia.device.manager.fidl.json",
root_build_dir),
rebase_path(
"$root_build_dir/fidling/gen/sdk/fidl/fuchsia.power/fuchsia.power.fidl.json",
root_build_dir),
rebase_path(
"$root_build_dir/fidling/gen/sdk/fidl/fuchsia.kernel/fuchsia.kernel.fidl.json",
root_build_dir),
rebase_path(
"$root_build_dir/fidling/gen/sdk/fidl/fuchsia.boot/fuchsia.boot.fidl.json",
root_build_dir),
]
}
test_package("josh-tests") {
deps = [
":generate_fidl_json",
"//src/developer/shell/josh:bin",
"//src/developer/shell/josh:josh_tests_bin",
"//src/developer/shell/josh/lib:js_libs",
"//src/developer/shell/josh/lib:spawn_child_test_util",
]
binaries = [
{
name = "spawn_child_test_util"
},
{
name = "josh"
},
]
tests = [
{
name = "josh_tests_bin"
environments = basic_envs
},
]
extra = get_target_outputs(":generate_fidl_json") +
[ "$target_gen_dir/josh/lib/libs.manifest" ]
}
group("tests") {
testonly = true
deps = [
":josh-tests",
"console:shell-console-unittests",
"interpreter:shell_server",
"interpreter:tests",
"mirror:shell-mirror-tests",
"parser:shell-parser-unittests",
]
}
# "josh" is Javascript Object SHell.
package("josh") {
# TODO(jeremymanson): This is only testonly because sdk:core is. We should undo that.
testonly = true
deps = [
"//src/developer/shell:generate_fidl_json",
"//src/developer/shell/josh:bin",
"//src/developer/shell/josh/lib:js_libs",
]
binaries = [
{
name = "josh"
shell = true
},
]
extra = get_target_outputs(":generate_fidl_json") +
[ "$target_gen_dir/josh/lib/libs.manifest" ]
}
# "cliff" is the CLI For Fuchsia. Need a better name.
package("cliff") {
# TODO(jeremymanson): This is only testonly because sdk:core is. We should undo that.
testonly = true
deps = [
"//src/developer/shell:generate_fidl_json",
"//src/developer/shell/console:bin",
]
binaries = [
{
name = "cliff"
shell = true
},
]
extra = get_target_outputs(":generate_fidl_json")
}