blob: 2e5158bb851316fd33cd63f816ea7058cf8d38df [file] [log] [blame] [edit]
# 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/dist/distribution_manifest.gni")
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.py"
generated_output = "$target_gen_dir/sdk_fidl_json.manifest"
inputs = [ "$root_gen_dir/sdk/core.fidl_json.txt" ]
outputs = [ "$generated_output" ]
depfile = "$target_gen_dir/$target_name.d"
testonly = true
deps = [
"//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 = [
"--out-file",
rebase_path("$generated_output", root_build_dir),
"--dep-file",
rebase_path(depfile, root_build_dir),
"@" + rebase_path("$root_gen_dir/sdk/core.fidl_json.txt", 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),
]
metadata = {
# Don't pick up resources from SDK deps
distribution_entries_barrier = []
}
}
distribution_entries_file("fidl_json") {
testonly = true
deps = [ ":generate_fidl_json" ]
file = get_target_outputs(deps[0])
file = file[0]
}
test_package("josh-tests") {
deps = [
"//src/developer/shell/josh:bin",
"//src/developer/shell/josh:josh_tests_bin",
"//src/developer/shell/josh/lib:spawn_child_test_util",
]
resource_deps = [
":fidl_json",
"josh/lib:js_libs",
]
binaries = [
{
name = "spawn_child_test_util"
},
{
name = "josh"
},
]
tests = [
{
name = "josh_tests_bin"
environments = basic_envs
},
]
}
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/josh:bin" ]
resource_deps = [
":fidl_json",
"josh/lib:js_libs",
]
binaries = [
{
name = "josh"
shell = true
},
]
}
# "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/console:bin" ]
binaries = [
{
name = "cliff"
shell = true
},
]
resource_deps = [ ":fidl_json" ]
}