1# Copyright 2020 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.
4
5import("//build/config/python.gni")
6import("//tools/grit/grit_defines.gni")
7
8template("preprocess_grit") {
9  # TODO(crbug.com/1112471): Get this to run cleanly under Python 3.
10  python2_action(target_name) {
11    script = "//tools/grit/preprocess_grit.py"
12
13    if (defined(invoker.deps)) {
14      deps = invoker.deps
15    }
16
17    inputs = []
18    outputs = []
19    foreach(in_file, invoker.in_files) {
20      inputs += [ invoker.in_folder + "/" + in_file ]
21      outputs += [ invoker.out_folder + "/" + in_file ]
22    }
23
24    args = [
25             "--in-folder",
26             rebase_path(invoker.in_folder, root_build_dir),
27             "--out-folder",
28             rebase_path(invoker.out_folder, root_build_dir),
29             "--in-files",
30           ] + invoker.in_files + grit_defines
31
32    if (defined(invoker.defines)) {
33      foreach(define, invoker.defines) {
34        args += [
35          "-D",
36          define,
37        ]
38      }
39    }
40
41    if (defined(invoker.out_manifest)) {
42      args += [
43        "--out-manifest",
44        rebase_path(invoker.out_manifest, root_build_dir),
45      ]
46      outputs += [ invoker.out_manifest ]
47    }
48  }
49}
50