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 | 6 |
7 assert(is_android) | 7 assert(is_android) |
8 | 8 |
9 | 9 |
10 rebased_android_sdk = rebase_path(android_sdk, root_build_dir) | 10 rebased_android_sdk = rebase_path(android_sdk, root_build_dir) |
(...skipping 157 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
168 assert(defined(invoker.output)) | 168 assert(defined(invoker.output)) |
169 action(target_name) { | 169 action(target_name) { |
170 script = "//build/android/gyp/dex.py" | 170 script = "//build/android/gyp/dex.py" |
171 depfile = "$target_gen_dir/$target_name.d" | 171 depfile = "$target_gen_dir/$target_name.d" |
172 sources = invoker.sources | 172 sources = invoker.sources |
173 outputs = [depfile, invoker.output] | 173 outputs = [depfile, invoker.output] |
174 if (defined(invoker.inputs)) { | 174 if (defined(invoker.inputs)) { |
175 inputs = invoker.inputs | 175 inputs = invoker.inputs |
176 } | 176 } |
177 | 177 |
| 178 if (defined(invoker.deps)) { |
| 179 deps = invoker.deps |
| 180 } |
| 181 |
178 rebased_output = rebase_path(invoker.output, root_build_dir) | 182 rebased_output = rebase_path(invoker.output, root_build_dir) |
179 | 183 |
180 args = [ | 184 args = [ |
181 "--depfile", rebase_path(depfile, root_build_dir), | 185 "--depfile", rebase_path(depfile, root_build_dir), |
182 "--android-sdk-tools", rebased_android_sdk_build_tools, | 186 "--android-sdk-tools", rebased_android_sdk_build_tools, |
183 "--dex-path", rebased_output, | 187 "--dex-path", rebased_output, |
184 ] | 188 ] |
185 | 189 |
186 if (defined(invoker.no_locals) && invoker.no_locals) { | 190 if (defined(invoker.no_locals) && invoker.no_locals) { |
187 args += [ | 191 args += [ |
(...skipping 318 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
506 # This adds Android-specific parts to the java_library template. | 510 # This adds Android-specific parts to the java_library template. |
507 # | 511 # |
508 # Runs Android lint against the compiled java files. | 512 # Runs Android lint against the compiled java files. |
509 # Dexes the output jar for inclusion in an APK. | 513 # Dexes the output jar for inclusion in an APK. |
510 template("android_java_library") { | 514 template("android_java_library") { |
511 assert(defined(invoker.java_files) || defined(invoker.DEPRECATED_java_in_dir)) | 515 assert(defined(invoker.java_files) || defined(invoker.DEPRECATED_java_in_dir)) |
512 assert(defined(invoker.build_config)) | 516 assert(defined(invoker.build_config)) |
513 assert(defined(invoker.jar_path)) | 517 assert(defined(invoker.jar_path)) |
514 assert(defined(invoker.dex_path)) | 518 assert(defined(invoker.dex_path)) |
515 | 519 |
| 520 _srcjar_deps = [] |
| 521 if (defined(invoker.srcjar_deps)) { |
| 522 _srcjar_deps = invoker.srcjar_deps |
| 523 } |
| 524 |
516 _java_files = [] | 525 _java_files = [] |
517 if (defined(invoker.java_files)) { | 526 if (defined(invoker.java_files)) { |
518 _java_files = invoker.java_files | 527 _java_files = invoker.java_files |
519 } else { | 528 } else { |
520 _java_files_build_rel = exec_script( | 529 _java_files_build_rel = exec_script( |
521 "//build/android/gyp/find.py", | 530 "//build/android/gyp/find.py", |
522 [ | 531 [ |
523 "--pattern", | 532 "--pattern", |
524 "*.java", | 533 "*.java", |
525 rebase_path(invoker.DEPRECATED_java_in_dir, root_build_dir) | 534 rebase_path(invoker.DEPRECATED_java_in_dir, root_build_dir) |
526 ], | 535 ], |
527 "list lines" | 536 "list lines" |
528 ) | 537 ) |
529 _java_files = rebase_path(_java_files_build_rel, ".", root_build_dir) | 538 _java_files = rebase_path(_java_files_build_rel, ".", root_build_dir) |
530 } | 539 } |
| 540 assert(_java_files != [] || _srcjar_deps != []) |
531 | 541 |
532 _jar_path = invoker.jar_path | 542 _jar_path = invoker.jar_path |
533 _dex_path = invoker.dex_path | 543 _dex_path = invoker.dex_path |
534 | 544 |
535 _android_manifest = "//build/android/AndroidManifest.xml" | 545 _android_manifest = "//build/android/AndroidManifest.xml" |
536 if (defined(invoker.android_manifest)) { | 546 if (defined(invoker.android_manifest)) { |
537 _android_manifest = invoker.android_manifest | 547 _android_manifest = invoker.android_manifest |
538 } | 548 } |
539 assert(_android_manifest != "") | 549 assert(_android_manifest != "") |
540 | 550 |
541 _final_deps = [] | 551 _final_deps = [] |
| 552 _final_datadeps = [] |
542 | 553 |
543 java_library("${target_name}__java_library") { | 554 java_library("${target_name}__java_library") { |
544 jar_path = _jar_path | 555 jar_path = _jar_path |
545 if (defined(invoker.jar_excluded_patterns)) { | 556 if (defined(invoker.jar_excluded_patterns)) { |
546 jar_excluded_patterns = invoker.jar_excluded_patterns | 557 jar_excluded_patterns = invoker.jar_excluded_patterns |
547 } | 558 } |
548 build_config = invoker.build_config | 559 build_config = invoker.build_config |
549 java_files = _java_files | 560 java_files = _java_files |
| 561 srcjar_deps = _srcjar_deps |
550 | 562 |
551 if (defined(invoker.srcjar_deps)) { | |
552 srcjar_deps = invoker.srcjar_deps | |
553 } | |
554 if (defined(invoker.proguard_preprocess) && invoker.proguard_preprocess) { | 563 if (defined(invoker.proguard_preprocess) && invoker.proguard_preprocess) { |
555 proguard_preprocess = invoker.proguard_preprocess | 564 proguard_preprocess = invoker.proguard_preprocess |
556 proguard_config = invoker.proguard_config | 565 proguard_config = invoker.proguard_config |
557 } | 566 } |
| 567 |
| 568 if (defined(invoker.dist_jar_path)) { |
| 569 dist_jar_path = invoker.dist_jar_path |
| 570 } |
558 } | 571 } |
559 | 572 |
560 if (defined(invoker.chromium_code) && invoker.chromium_code) { | 573 if (defined(invoker.chromium_code) && invoker.chromium_code) { |
561 _final_deps += [ ":${target_name}__lint" ] | 574 _final_datadeps += [ ":${target_name}__lint" ] |
562 android_lint("${target_name}__lint") { | 575 android_lint("${target_name}__lint") { |
563 android_manifest = _android_manifest | 576 android_manifest = _android_manifest |
564 jar_path = _jar_path | 577 jar_path = _jar_path |
565 java_files = _java_files | 578 java_files = _java_files |
566 } | 579 } |
567 } | 580 } |
568 | 581 |
569 dex("${target_name}__dex") { | 582 dex("${target_name}__dex") { |
570 sources = [_jar_path] | 583 sources = [_jar_path] |
571 output = _dex_path | 584 output = _dex_path |
572 } | 585 } |
573 | 586 |
574 group(target_name) { | 587 group(target_name) { |
575 deps = [ | 588 deps = [ |
576 ":${target_name}__java_library", | 589 ":${target_name}__java_library", |
577 ":${target_name}__dex", | 590 ":${target_name}__dex", |
578 ] + _final_deps | 591 ] + _final_deps + _final_datadeps |
579 } | 592 } |
580 } | 593 } |
581 | 594 |
582 # Runs process_resources.py | 595 # Runs process_resources.py |
583 template("process_resources") { | 596 template("process_resources") { |
584 zip_path = invoker.zip_path | 597 zip_path = invoker.zip_path |
585 srcjar_path = invoker.srcjar_path | 598 srcjar_path = invoker.srcjar_path |
586 build_config = invoker.build_config | 599 build_config = invoker.build_config |
587 resource_dirs = invoker.resource_dirs | 600 resource_dirs = invoker.resource_dirs |
588 android_manifest = invoker.android_manifest | 601 android_manifest = invoker.android_manifest |
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
675 "--dest", rebase_path(invoker.dest, root_build_dir), | 688 "--dest", rebase_path(invoker.dest, root_build_dir), |
676 ] | 689 ] |
677 if (defined(invoker.args)) { | 690 if (defined(invoker.args)) { |
678 args += invoker.args | 691 args += invoker.args |
679 } | 692 } |
680 if (defined(invoker.clear_dir) && invoker.clear_dir) { | 693 if (defined(invoker.clear_dir) && invoker.clear_dir) { |
681 args += ["--clear"] | 694 args += ["--clear"] |
682 } | 695 } |
683 } | 696 } |
684 } | 697 } |
OLD | NEW |