Chromium Code Reviews

Side by Side Diff: third_party/closure_compiler/compile_js2.gni

Issue 2247353004: GN files for running Closure Compiler (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fix some nits Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View unified diff |
OLDNEW
(Empty)
1 # Copyright 2016 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
5 import("closure_args.gni")
6
7 template("compile_js") {
8 # This template optionally takes these arguments:
9 # - sources: a list of all of the source files to be compiled. Required.
10 # - out_file: a file where the compiled output is written to. The default
11 # is ${target_gen_dir}/closure/${target_name}.js".
12 # - script_args: additional arguments to pass to compile.py.
13 # - closure_args: additional arguments to pass to the Closure compiler.
14 # - disabled_closure_args: additional arguments dealing with the
15 # strictness of compilation; Non-strict
16 # defaults are provided that can be overriden.
17 # - externs: externs required to compile the sources
18 # - interfaces: interfaces required to compile the sources
19 forward_variables_from(invoker,
20 [
21 "source_files",
22 "deps",
23 "out_file",
24 "script_args",
25 "closure_args",
26 "runner_args",
27 "disabled_closure_args",
28 "externs",
29 "interfaces",
30 ])
31
32 CLOSURE_DIR = "//third_party/closure_compiler"
33
34 action(target_name) {
Dan Beam 2016/09/07 18:18:05 can we just automatically pref targets if we're do
aberent 2016/09/08 10:29:18 We could, and I wondered about this, but given tha
35 assert(defined(source_files))
36
37 if (!defined(runner_args)) {
38 runner_args = [ "enable-chrome-pass" ]
39 }
40 if (!defined(script_args)) {
41 script_args = []
42 }
43 if (!defined(closure_args)) {
44 closure_args = common_closure_args + checking_closure_args
45 }
46 if (!defined(disabled_closure_args)) {
47 disabled_closure_args = default_disabled_closure_args
48 }
49 if (!defined(out_file)) {
50 out_file = "${target_gen_dir}/closure/${target_name}.js"
Dan Beam 2016/09/07 18:18:05 why is this /closure/ here? was this in the old s
51 }
52 inputs = [
53 "${CLOSURE_DIR}/compile.py",
54 "${CLOSURE_DIR}/processor.py",
55 "${CLOSURE_DIR}/build/inputs.py",
Dan Beam 2016/09/07 18:18:05 where are inputs.py or outputs.py invoked? they u
aberent 2016/09/08 10:29:19 Unless I have missed something inputs.py isn't act
Dan Beam 2016/09/08 17:53:21 yeah, I just want to remove from inputs = [] if we
56 "${CLOSURE_DIR}/build/outputs.py",
57 "${CLOSURE_DIR}/compiler/compiler.jar",
58 "${CLOSURE_DIR}/runner/runner.jar",
59 ]
60
61 sources = source_files
Dan Beam 2016/09/07 18:18:05 can we not use sources directly rather than "sourc
aberent 2016/09/08 10:29:19 I tried this originally, and it didn't seem to wor
62
63 if (defined(externs)) {
64 EXTERNS_DIR = "${CLOSURE_DIR}/externs"
65 foreach(extern, externs) {
66 sources += [ "$EXTERNS_DIR/$extern" ]
67 }
68 }
69 if (defined(interfaces)) {
70 INTERFACES_DIR = "${CLOSURE_DIR}/interfaces"
71 foreach(interface, interfaces) {
72 sources += [ "$INTERFACES_DIR/$interface" ]
73 }
74 }
75 outputs = [
76 out_file,
77 ]
78
79 # assign the sources to data to create run-time list of sources from the
80 # dependency tree
81 data = sources
82 source_list_file =
83 "${target_gen_dir}/closure/${target_name}_source_list_file"
84 write_runtime_deps = source_list_file
85
86 script = "${CLOSURE_DIR}/compile2.py"
87 args = script_args + rebase_path(sources)
88 args += [
89 "--out_file",
90 rebase_path(out_file),
91 ]
92 args += [
93 "--gn_source_list_file",
94 rebase_path(source_list_file),
95 ]
96 args += [ "--runner_args" ] + runner_args
97 args += [ "--closure_args" ] + closure_args + disabled_closure_args
98 }
99 }
OLDNEW

Powered by Google App Engine