Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(309)

Side by Side Diff: ios/web/js_compile.gni

Issue 1452593002: Add support for building "ios_chrome_unittests" with gn. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@ui_gfx
Patch Set: Created 5 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« ios/chrome/browser/BUILD.gn ('K') | « ios/public/test/BUILD.gn ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Copyright 2015 The Chromium Authors. All rights reserved. 1 # Copyright 2015 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be 2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file. 3 # found in the LICENSE file.
4 4
5 import("//build/util/java_action.gni") 5 import("//build/util/java_action.gni")
6 6
7 declare_args() { 7 declare_args() {
8 # Control whether the JavaScript files shipped with Chrome on iOS are 8 # Control whether the JavaScript files shipped with Chrome on iOS are
9 # compiled with closure_compiler or not. Useful for debugging. 9 # compiled with closure_compiler or not. Useful for debugging.
10 compile_javascript = true 10 compile_javascript = true
(...skipping 12 matching lines...) Expand all
23 # 23 #
24 # deps (optional) 24 # deps (optional)
25 # List of targets required by this target. 25 # List of targets required by this target.
26 # 26 #
27 # visibility (optional) 27 # visibility (optional)
28 # Visibility restrictions. 28 # Visibility restrictions.
29 # 29 #
30 # Generates a single JavaScript bundle file that can be put in the application 30 # Generates a single JavaScript bundle file that can be put in the application
31 # bundle. 31 # bundle.
32 # 32 #
33 # TODO(eugenebut): this should uses the same error flags as js_compile_checked. 33 # TODO(crbug.com/487804): once all errors have been fixed, sync with the flags
34 # from third_party/closure_compiler/closure_args.gni.
34 template("js_compile_bundle") { 35 template("js_compile_bundle") {
35 assert(defined(invoker.sources), 36 assert(defined(invoker.sources),
36 "Need sources in $target_name listing the js files.") 37 "Need sources in $target_name listing the js files.")
37 38
38 assert(defined(invoker.closure_entry_point), 39 assert(defined(invoker.closure_entry_point),
39 "Need closure_entry_point in $target_name for generated js file.") 40 "Need closure_entry_point in $target_name for generated js file.")
40 41
41 java_action(target_name) { 42 java_action(target_name) {
42 forward_variables_from(invoker, 43 forward_variables_from(invoker,
43 [ 44 [
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
79 # Variables 80 # Variables
80 # sources: 81 # sources:
81 # List of JavaScript files to compile. 82 # List of JavaScript files to compile.
82 # 83 #
83 # deps (optional) 84 # deps (optional)
84 # List of targets required by this target. 85 # List of targets required by this target.
85 # 86 #
86 # visibility (optional) 87 # visibility (optional)
87 # Visibility restrictions. 88 # Visibility restrictions.
88 # 89 #
89 # TODO(eugenebut): use flags from third_party/closure_compiler/closure_args.gni 90 # TODO(crbug.com/487804): once all errors have been fixed, sync with the flags
90 # once they are the same. 91 # from third_party/closure_compiler/closure_args.gni.
91 template("js_compile_checked") { 92 template("js_compile_checked") {
92 assert(defined(invoker.sources), 93 assert(defined(invoker.sources),
93 "Need sources in $target_name listing the js files.") 94 "Need sources in $target_name listing the js files.")
94 95
95 if (compile_javascript) { 96 if (compile_javascript) {
96 java_action_foreach(target_name) { 97 java_action_foreach(target_name) {
97 forward_variables_from(invoker, 98 forward_variables_from(invoker,
98 [ 99 [
99 "deps", 100 "deps",
100 "visibility", 101 "visibility",
101 ]) 102 ])
102 103
103 script = closure_compiler_path 104 script = closure_compiler_path
104 sources = invoker.sources 105 sources = invoker.sources
105 outputs = [ 106 outputs = [
106 "$target_gen_dir/{{source_file_part}}", 107 "$target_gen_dir/{{source_file_part}}",
107 ] 108 ]
108 109
109 # TODO(eugenebut): need to enable the following compilation checks once 110 # TODO(crbug.com/487804): need to enable the following compilation checks
110 # the corresponding errors have been fixed: 111 # once the corresponding errors have been fixed:
111 # --jscomp_error=checkTypes 112 # --jscomp_error=checkTypes
112 # --jscomp_error=checkVars 113 # --jscomp_error=checkVars
113 # --jscomp_error=missingProperties 114 # --jscomp_error=missingProperties
114 # --jscomp_error=missingReturn 115 # --jscomp_error=missingReturn
115 # --jscomp_error=undefinedVars 116 # --jscomp_error=undefinedVars
116 117
117 args = [ 118 args = [
118 "--compilation_level", 119 "--compilation_level",
119 "SIMPLE_OPTIMIZATIONS", 120 "SIMPLE_OPTIMIZATIONS",
120 "--jscomp_error=accessControls", 121 "--jscomp_error=accessControls",
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
162 # to move in the application bundle, equivalent to the following gyp code: 163 # to move in the application bundle, equivalent to the following gyp code:
163 # 164 #
164 # "link_settings": { 165 # "link_settings": {
165 # "mac_bundle_resources": [ 166 # "mac_bundle_resources": [
166 # "<(SHARED_INTERMEDIATE_DIR)/<(RULE_INPUT_NAME).js", 167 # "<(SHARED_INTERMEDIATE_DIR)/<(RULE_INPUT_NAME).js",
167 # ], 168 # ],
168 # }, 169 # },
169 } 170 }
170 } 171 }
171 } 172 }
173
174 # Defines a target that compile JavaScript files without error checking using
175 # the closure compiler.
176 #
177 # Variables
178 # sources:
179 # List of JavaScript files to compile.
180 #
181 # deps (optional)
182 # List of targets required by this target.
183 #
184 # visibility (optional)
185 # Visibility restrictions.
186 #
187 # TODO(crbug.com/487804): once all errors have been fixed, remove this template
188 # and port all code to use js_compile_checked instead.
189 template("js_compile_unchecked") {
190 assert(defined(invoker.sources),
191 "Need sources in $target_name listing the js files.")
192
193 if (compile_javascript) {
194 java_action_foreach(target_name) {
195 forward_variables_from(invoker,
196 [
197 "deps",
198 "visibility",
199 ])
200
201 script = closure_compiler_path
202 sources = invoker.sources
203 outputs = [
204 "$target_gen_dir/{{source_file_part}}",
205 ]
206
207 args = [
208 "--compilation_level",
209 "SIMPLE_OPTIMIZATIONS",
210 "--js",
211 "{{source}}",
212 "--js_output_file",
213 rebase_path("$target_gen_dir/{{source_file_part}}", root_build_dir),
214 ]
215
216 # TODO(crbug.com/546283): add the generated bundle to the list of files
217 # to move in the application bundle, equivalent to the following gyp code:
218 #
219 # "link_settings": {
220 # "mac_bundle_resources": [
221 # "<(SHARED_INTERMEDIATE_DIR)/<(RULE_INPUT_NAME).js",
222 # ],
223 # },
224 }
225 } else {
226 copy(target_name) {
227 forward_variables_from(invoker,
228 [
229 "deps",
230 "visibility",
231 ])
232
233 sources = invoker.sources
234 outputs = [
235 "$target_gen_dir/{{source_file_part}}",
236 ]
237
238 # TODO(crbug.com/546283): add the generated bundle to the list of files
239 # to move in the application bundle, equivalent to the following gyp code:
240 #
241 # "link_settings": {
242 # "mac_bundle_resources": [
243 # "<(SHARED_INTERMEDIATE_DIR)/<(RULE_INPUT_NAME).js",
244 # ],
245 # },
246 }
247 }
248 }
OLDNEW
« ios/chrome/browser/BUILD.gn ('K') | « ios/public/test/BUILD.gn ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698