Blink roll 25b6bd3a7a131ffe68d809546ad1a20707915cdc:3a503f41ae42e5b79cfcd2ff10e65afde...
[chromium-blink-merge.git] / third_party / google_input_tools / closure.gni
blob526dbd03fc1ee236ce0cdd219f6051f799d83746
1 # Copyright 2014 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file.
5 template("build_closure") {
6   assert(defined(invoker.sources))
7   assert(defined(invoker.target))
8   action_name = target_name + "_js_gen"
9   action(action_name) {
10     script = "//third_party/google_input_tools/builder.py"
11     sources = invoker.sources
12     outputs = [invoker.target]
13     args = ["--target",
14             rebase_path(invoker.target, root_build_dir)]
15     if(defined(invoker.json_file)) {
16       # Optionally parse list of sources from a json file. Useful when the list
17       # is sufficiently long to create problems with length restrictions on the
18       # command line.
19       assert(defined(invoker.json_sources))
20       args += ["--json_file",
21                rebase_path(invoker.json_file, root_build_dir),
22                "--json_sources",
23                invoker.json_sources]
24     } else {
25       # If the number of source files is short, they can be directly extracted
26       # from the command line.
27       args += ["--sources"] + sources
28     }
29     if(defined(invoker.path)) {
30       args += ["--path", invoker.path]
31     }
32   }
33   group(target_name) {
34     deps = [ ":$action_name" ]
35   }