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

Side by Side Diff: build/config/android/rules.gni

Issue 2123003002: 🎥 Fix java_cpp_template srcjars having .d files and extra path component (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 5 months 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
« no previous file with comments | « no previous file | 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 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("//build/toolchain/toolchain.gni") 7 import("//build/toolchain/toolchain.gni")
8 8
9 assert(is_android) 9 assert(is_android)
10 10
(...skipping 347 matching lines...) Expand 10 before | Expand all | Expand 10 after
358 # "android/java/templates/native_foo_header.h", 358 # "android/java/templates/native_foo_header.h",
359 # ] 359 # ]
360 # 360 #
361 # package_name = "org/chromium/base/library_loader" 361 # package_name = "org/chromium/base/library_loader"
362 # include_path = "android/java/templates" 362 # include_path = "android/java/templates"
363 # } 363 # }
364 template("java_cpp_template") { 364 template("java_cpp_template") {
365 set_sources_assignment_filter([]) 365 set_sources_assignment_filter([])
366 forward_variables_from(invoker, [ "testonly" ]) 366 forward_variables_from(invoker, [ "testonly" ])
367 367
368 assert(defined(invoker.sources)) 368 _include_path = "//"
369 package_name = invoker.package_name + ""
370
371 if (defined(invoker.include_path)) { 369 if (defined(invoker.include_path)) {
372 include_path = invoker.include_path + "" 370 _include_path = invoker.include_path
373 } else {
374 include_path = "//"
375 } 371 }
376 372
377 apply_gcc_target_name = "${target_name}__apply_gcc" 373 _apply_gcc_target_name = "${target_name}__apply_gcc"
378 zip_srcjar_target_name = "${target_name}__zip_srcjar" 374 _base_gen_dir = "${target_gen_dir}/${target_name}/java_cpp_template"
379 final_target_name = target_name
380 375
381 action_foreach(apply_gcc_target_name) { 376 action_foreach(_apply_gcc_target_name) {
382 forward_variables_from(invoker, 377 forward_variables_from(invoker,
383 [ 378 [
384 "deps", 379 "deps",
385 "public_deps", 380 "public_deps",
386 "data_deps", 381 "data_deps",
387 ]) 382 ])
388 visibility = [ ":$zip_srcjar_target_name" ]
389 script = "//build/android/gyp/gcc_preprocess.py" 383 script = "//build/android/gyp/gcc_preprocess.py"
390 if (defined(invoker.inputs)) { 384 if (defined(invoker.inputs)) {
391 inputs = invoker.inputs + [] 385 inputs = invoker.inputs + []
392 } 386 }
393 depfile = "${target_gen_dir}/${target_name}_{{source_name_part}}.d" 387 depfile =
388 "${target_gen_dir}/${invoker.target_name}_{{source_name_part}}.d"
394 389
395 sources = invoker.sources 390 sources = invoker.sources
396 391
397 gen_dir =
398 "${target_gen_dir}/${target_name}/java_cpp_template/${package_name}"
399 gcc_template_output_pattern = "${gen_dir}/{{source_name_part}}.java"
400
401 outputs = [ 392 outputs = [
402 depfile, 393 depfile,
403 gcc_template_output_pattern, 394 "$_base_gen_dir/${invoker.package_name}/{{source_name_part}}.java",
404 ] 395 ]
405 396
406 args = [ 397 args = [
407 "--depfile", 398 "--depfile",
408 rebase_path(depfile, root_build_dir), 399 rebase_path(depfile, root_build_dir),
409 "--include-path", 400 "--include-path",
410 rebase_path(include_path, root_build_dir), 401 rebase_path(_include_path, root_build_dir),
411 "--output", 402 "--output",
412 rebase_path(gen_dir, root_build_dir) + "/{{source_name_part}}.java", 403 rebase_path(outputs[1], root_build_dir),
413 "--template={{source}}", 404 "--template={{source}}",
414 ] 405 ]
415 406
416 if (defined(invoker.defines)) { 407 if (defined(invoker.defines)) {
417 foreach(def, invoker.defines) { 408 foreach(def, invoker.defines) {
418 args += [ 409 args += [
419 "--defines", 410 "--defines",
420 def, 411 def,
421 ] 412 ]
422 } 413 }
423 } 414 }
424 } 415 }
425 416
426 apply_gcc_outputs = get_target_outputs(":$apply_gcc_target_name") 417 # Filter out .d files.
427 base_gen_dir = get_label_info(":$apply_gcc_target_name", "target_gen_dir") 418 set_sources_assignment_filter([ "*.d" ])
419 sources = get_target_outputs(":$_apply_gcc_target_name")
428 420
429 srcjar_path = "${target_gen_dir}/${target_name}.srcjar" 421 zip(target_name) {
430 zip(zip_srcjar_target_name) { 422 forward_variables_from(invoker, [ "visibility" ])
431 visibility = [ ":$final_target_name" ] 423 inputs = sources
432 inputs = apply_gcc_outputs 424 output = "${target_gen_dir}/${target_name}.srcjar"
433 output = srcjar_path 425 base_dir = _base_gen_dir
434 base_dir = base_gen_dir
435 deps = [ 426 deps = [
436 ":$apply_gcc_target_name", 427 ":$_apply_gcc_target_name",
437 ]
438 }
439
440 group(final_target_name) {
441 forward_variables_from(invoker, [ "visibility" ])
442 public_deps = [
443 ":$zip_srcjar_target_name",
444 ] 428 ]
445 } 429 }
446 } 430 }
447 431
448 # Declare a target for generating Java classes from C++ enums. 432 # Declare a target for generating Java classes from C++ enums.
449 # 433 #
450 # This target generates Java files from C++ enums using a script. 434 # This target generates Java files from C++ enums using a script.
451 # 435 #
452 # This target will create a single .srcjar. Adding this target to an 436 # This target will create a single .srcjar. Adding this target to an
453 # android_library target's srcjar_deps will make the generated java files be 437 # android_library target's srcjar_deps will make the generated java files be
(...skipping 2105 matching lines...) Expand 10 before | Expand all | Expand 10 after
2559 android_library(target_name) { 2543 android_library(target_name) {
2560 chromium_code = false 2544 chromium_code = false
2561 java_files = [] 2545 java_files = []
2562 srcjar_deps = [ ":${_template_name}__protoc_java" ] 2546 srcjar_deps = [ ":${_template_name}__protoc_java" ]
2563 deps = [ 2547 deps = [
2564 "//third_party/android_protobuf:protobuf_nano_javalib", 2548 "//third_party/android_protobuf:protobuf_nano_javalib",
2565 ] 2549 ]
2566 } 2550 }
2567 } 2551 }
2568 } 2552 }
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698