Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 # Copyright 2014 The Chromium Authors. All rights reserved. | 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 | 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/config/android/config.gni") | 5 import("//build/config/android/config.gni") |
| 6 import("//build/config/android/internal_rules.gni") | 6 import("//build/config/android/internal_rules.gni") |
| 7 import("//tools/grit/grit_rule.gni") | 7 import("//tools/grit/grit_rule.gni") |
| 8 | 8 |
| 9 assert(is_android) | 9 assert(is_android) |
| 10 | 10 |
| (...skipping 244 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 255 base_dir = base_gen_dir | 255 base_dir = base_gen_dir |
| 256 } | 256 } |
| 257 | 257 |
| 258 group(target_name) { | 258 group(target_name) { |
| 259 deps = [ | 259 deps = [ |
| 260 ":${target_name}__zip_srcjar" | 260 ":${target_name}__zip_srcjar" |
| 261 ] | 261 ] |
| 262 } | 262 } |
| 263 } | 263 } |
| 264 | 264 |
| 265 # Declare a target for generating Java classes from C++ enums. | |
| 266 # | |
| 267 # This target generates Java files from C++ enums using a script. | |
| 268 # | |
| 269 # This target will create a single .srcjar. Adding this target to an | |
| 270 # android_library target's srcjar_deps will make the generated java files be | |
| 271 # included in that library's final outputs. | |
| 272 # | |
| 273 # Variables | |
| 274 # sources: list of files to be processed by the script. For each annotated | |
| 275 # enum contained in the sources files the script will generate a .java | |
| 276 # file with the same name as the name of the enum. | |
| 277 # | |
| 278 # outputs: list of outputs, relative to the target_gen_dir. These paths are | |
| 279 # verified at build time by the script. To get the list programatically run: | |
| 280 # python build/android/gyp/java_cpp_enum.py --output_dir=. \ | |
| 281 # --print_output_only path/to/header/file.h | |
| 282 # | |
| 283 # Example | |
| 284 # java_cpp_enum("foo_generated_enum") { | |
| 285 # sources = [ | |
| 286 # "src/native_foo_header.h", | |
| 287 # ] | |
| 288 # outputs = [ | |
| 289 # "org/chromium/FooEnum.java", | |
| 290 # ] | |
| 291 # } | |
| 292 template("java_cpp_enum") { | |
| 293 assert(defined(invoker.sources)) | |
| 294 assert(defined(invoker.outputs)) | |
| 295 | |
| 296 action("${target_name}__generate_enum") { | |
| 297 sources = rebase_path(invoker.sources, root_build_dir) | |
| 298 script = "//build/android/gyp/java_cpp_enum.py" | |
| 299 gen_dir = "${target_gen_dir}/${target_name}/enums" | |
| 300 outputs = [] | |
| 301 foreach(output, invoker.outputs) { | |
| 302 outputs += [gen_dir + "/" + output] | |
|
mkosiba (inactive)
2014/09/03 16:27:23
I couldn't figure out how to make rebase_path work
brettw
2014/09/03 21:23:38
The thing that reads the outputs variable will int
mkosiba (inactive)
2014/09/04 11:31:22
That just changes the error to:
The given file
brettw
2014/09/08 19:56:15
Oh, sorry. The checker doesn't know about relative
mkosiba (inactive)
2014/09/09 09:00:12
Ok, this seems to work although I could have sworn
| |
| 303 } | |
| 304 | |
| 305 args = [ | |
| 306 "--output_dir", rebase_path(gen_dir, root_build_dir), | |
| 307 ] | |
| 308 foreach(output, invoker.outputs) { | |
| 309 args += ["--assert_file", rebase_path(output, root_build_dir, gen_dir)] | |
| 310 } | |
| 311 args += sources | |
| 312 } | |
| 313 | |
| 314 generate_enum_outputs = get_target_outputs(":${target_name}__generate_enum") | |
| 315 base_gen_dir = get_label_info(":${target_name}__generate_enum", | |
| 316 "target_gen_dir") | |
| 317 | |
| 318 srcjar_path = "${target_gen_dir}/${target_name}.srcjar" | |
| 319 zip("${target_name}__zip_srcjar") { | |
| 320 inputs = generate_enum_outputs | |
| 321 output = srcjar_path | |
| 322 base_dir = base_gen_dir | |
| 323 } | |
| 324 | |
| 325 group(target_name) { | |
| 326 deps = [ | |
| 327 ":${target_name}__zip_srcjar" | |
| 328 ] | |
| 329 } | |
| 330 } | |
| 331 | |
| 265 | 332 |
| 266 # Declare an Android resources target | 333 # Declare an Android resources target |
| 267 # | 334 # |
| 268 # This creates a resources zip file that will be used when building an Android | 335 # This creates a resources zip file that will be used when building an Android |
| 269 # library or apk and included into a final apk. | 336 # library or apk and included into a final apk. |
| 270 # | 337 # |
| 271 # To include these resources in a library/apk, this target should be listed in | 338 # To include these resources in a library/apk, this target should be listed in |
| 272 # the library's deps. A library/apk will also include any resources used by its | 339 # the library's deps. A library/apk will also include any resources used by its |
| 273 # own dependencies. | 340 # own dependencies. |
| 274 # | 341 # |
| (...skipping 495 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 770 "//testing/android/java/src/org/chromium/native_test/ChromeNativeTestActiv ity.java" | 837 "//testing/android/java/src/org/chromium/native_test/ChromeNativeTestActiv ity.java" |
| 771 ] | 838 ] |
| 772 android_manifest = "//testing/android/java/AndroidManifest.xml" | 839 android_manifest = "//testing/android/java/AndroidManifest.xml" |
| 773 unittests_outputs = [ unittests_binary ] | 840 unittests_outputs = [ unittests_binary ] |
| 774 native_libs = [unittests_outputs[0]] | 841 native_libs = [unittests_outputs[0]] |
| 775 if (defined(invoker.deps)) { | 842 if (defined(invoker.deps)) { |
| 776 deps = invoker.deps | 843 deps = invoker.deps |
| 777 } | 844 } |
| 778 } | 845 } |
| 779 } | 846 } |
| OLD | NEW |