| # Copyright 2015 The Chromium Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| # Calls the remoting_localize script with a jinja2 template. |
| # |
| # Arguments |
| # |
| # sources (required) |
| # List of jinja2 files to load. This is the template. |
| # |
| # locales (required) |
| # List of locales. |
| # |
| # locale_dir (optional) |
| # |
| # defines (optional) |
| # List of defines to pass to script. |
| # Example: defines = [ "FOO_HOST_PATH=bar" ] |
| # |
| # variables (optional) |
| # List of variables to pass to script. |
| # |
| # output (optiona) |
| # Substitution pattern for the output. Defaults to a file in the target |
| # gen dir with the extension stripped (normally the extension is ".jinja2" |
| # which then leaves the non-tempaltized file name). |
| # TODO(brettw) Need locale_output. This is a per-locale output file. |
| # |
| # encoding (optional) |
| # String. |
| # |
| # deps (optional) |
| # visibility (optional) |
| template("remoting_localize") { |
| action_foreach(target_name) { |
| if (defined(invoker.visibility)) { |
| visibility = invoker.visibility |
| } |
| |
| script = "//remoting/tools/build/remoting_localize.py" |
| |
| sources = invoker.sources |
| |
| if (defined(invoker.output)) { |
| outputs = [ |
| invoker.output, |
| ] |
| } else { |
| outputs = [ |
| "$target_gen_dir/{{source_name_part}}", |
| ] |
| } |
| |
| args = [] |
| |
| if (defined(invoker.locale_dir)) { |
| args += [ |
| "--locale_dir", |
| rebase_path(invoker.locale_dir, root_build_dir), |
| ] |
| } |
| |
| # Add defines to command line. |
| if (defined(invoker.defines)) { |
| foreach(i, invoker.defines) { |
| args += [ |
| "--define", |
| i, |
| ] |
| } |
| } |
| |
| # Add variables to command line. |
| if (defined(invoker.variables)) { |
| foreach(i, invoker.variables) { |
| args += [ |
| "--variables", |
| i, |
| ] |
| } |
| } |
| |
| # The template file is required. |
| args += [ |
| "--template", |
| "{{source}}", |
| ] |
| |
| args += [ |
| "--output", |
| rebase_path(outputs[0], root_build_dir), |
| ] |
| |
| if (defined(invoker.encoding)) { |
| args += [ |
| "--encoding", |
| invoker.encoding, |
| ] |
| } |
| |
| args += invoker.locales |
| |
| if (defined(invoker.deps)) { |
| deps = invoker.deps |
| } else { |
| deps = [] |
| } |
| |
| # This script reads the messages strings from the generated resource files. |
| deps += [ "//remoting/resources:strings" ] |
| } |
| } |