| # 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 |
| } |
| } |