blob: 4f45b95a8e041c236e2689727a0089e51ecc6925 [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/compiled_action.gni")
# Generates a file containing static data extracted from ICU using icu_data_extractor.
#
# Example:
#
# static_icu_data("revision") {
# command = "tz-version"
# output = "${target_gen_dir}/revision.txt"
# }
#
# package("my_package") {
# # ...
# resources = [
# {
# path = rebase_path("${target_gen_dir}/revision.txt"})
# dest = "revision.txt"
# }
# ]
# }
#
# To view all the supported commands and arguments, run
#
# fx build host-tools/icu_data_extractor && out/default/host_x64/icu_data_extractor
#
# Parameters
#
# output:
# Required: Path to the output file. This should usually be something like
# "${target_gen_dir}/myfile.txt".
# Type: file
#
# command:
# Required: icu_data_extractor command ("tz-version", "tz-ids")
# Type: string
#
# command_args:
# Optional: Additional arguments to icu_data_extractor command.
# Type: list(string)
#
template("static_icu_data") {
compiled_action(target_name) {
forward_variables_from(invoker,
[
"testonly",
"visibility",
"command_args",
"command",
"output",
])
if (!defined(command_args)) {
command_args = []
}
tool = "//src/lib/icu/tools/extractor:icu_data_extractor"
icu_data_file = "//third_party/icu/common/icudtl.dat"
tz_res_dir = "//third_party/icu/tzres/"
sources = [ icu_data_file ]
outputs = [ output ]
rebased_icu_data_file = rebase_path(icu_data_file)
rebased_tz_res_dir = rebase_path(tz_res_dir)
rebased_output_path = rebase_path(output)
args = [
"--icu-data-file=${rebased_icu_data_file}",
"--tz-res-dir=${rebased_tz_res_dir}",
command,
"--output=${rebased_output_path}",
] + command_args
}
}