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 601 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
612 resource_srcjar_path = "$base_path.resources.srcjar" | 612 resource_srcjar_path = "$base_path.resources.srcjar" |
613 jar_path = "$base_path.jar" | 613 jar_path = "$base_path.jar" |
614 final_dex_path = "$gen_dir/classes.dex" | 614 final_dex_path = "$gen_dir/classes.dex" |
615 _template_name = target_name | 615 _template_name = target_name |
616 _final_apk_path = "" | 616 _final_apk_path = "" |
617 if (defined(invoker.final_apk_path)) { | 617 if (defined(invoker.final_apk_path)) { |
618 _final_apk_path = invoker.final_apk_path | 618 _final_apk_path = invoker.final_apk_path |
619 } else if (defined(invoker.apk_name)) { | 619 } else if (defined(invoker.apk_name)) { |
620 _final_apk_path = "$root_build_dir/apks/" + invoker.apk_name + ".apk" | 620 _final_apk_path = "$root_build_dir/apks/" + invoker.apk_name + ".apk" |
621 } | 621 } |
| 622 _dist_jar_path_list = process_file_template( |
| 623 [ _final_apk_path ], |
| 624 "$root_build_dir/test.lib.java/{{source_name_part}}.jar" |
| 625 ) |
| 626 _dist_jar_path = _dist_jar_path_list[0] |
622 | 627 |
623 _native_libs = [] | 628 _native_libs = [] |
624 if (defined(invoker.native_libs)) { | 629 if (defined(invoker.native_libs)) { |
625 _native_libs = invoker.native_libs | 630 _native_libs = invoker.native_libs |
626 _native_libs_dir = base_path + "/libs" | 631 _native_libs_dir = base_path + "/libs" |
627 } | 632 } |
628 | 633 |
| 634 _has_java = ( |
| 635 defined(invoker.java_files) |
| 636 || defined(invoker.DEPRECATED_java_in_dir) |
| 637 || _native_libs != [] |
| 638 ) |
| 639 |
629 _keystore_path = android_default_keystore_path | 640 _keystore_path = android_default_keystore_path |
630 _keystore_name = android_default_keystore_name | 641 _keystore_name = android_default_keystore_name |
631 _keystore_password = android_default_keystore_password | 642 _keystore_password = android_default_keystore_password |
632 | 643 |
633 if (defined(invoker.keystore_path)) { | 644 if (defined(invoker.keystore_path)) { |
634 _keystore_path = invoker.keystore_path | 645 _keystore_path = invoker.keystore_path |
635 _keystore_name = invoker.keystore_name | 646 _keystore_name = invoker.keystore_name |
636 _keystore_password = invoker.keystore_password | 647 _keystore_password = invoker.keystore_password |
637 } | 648 } |
638 | 649 |
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
696 if (_load_library_from_apk) { | 707 if (_load_library_from_apk) { |
697 defines += ["ENABLE_CHROMIUM_LINKER_LIBRARY_IN_ZIP_FILE"] | 708 defines += ["ENABLE_CHROMIUM_LINKER_LIBRARY_IN_ZIP_FILE"] |
698 } | 709 } |
699 if (_enable_chromium_linker_tests) { | 710 if (_enable_chromium_linker_tests) { |
700 defines += ["ENABLE_CHROMIUM_LINKER_TESTS"] | 711 defines += ["ENABLE_CHROMIUM_LINKER_TESTS"] |
701 } | 712 } |
702 } | 713 } |
703 _srcjar_deps += [ ":${_template_name}__native_libraries_java" ] | 714 _srcjar_deps += [ ":${_template_name}__native_libraries_java" ] |
704 } | 715 } |
705 | 716 |
706 final_deps += [":${_template_name}__java"] | 717 if (_has_java) { |
707 android_java_library("${_template_name}__java") { | 718 final_deps += [":${_template_name}__java"] |
708 android_manifest = invoker.android_manifest | 719 android_java_library("${_template_name}__java") { |
709 if (defined(invoker.java_files)) { | 720 android_manifest = invoker.android_manifest |
710 java_files = invoker.java_files | 721 if (defined(invoker.java_files)) { |
711 } else { | 722 java_files = invoker.java_files |
712 DEPRECATED_java_in_dir = invoker.DEPRECATED_java_in_dir | 723 } else if (defined(invoker.DEPRECATED_java_in_dir)) { |
| 724 DEPRECATED_java_in_dir = invoker.DEPRECATED_java_in_dir |
| 725 } else { |
| 726 assert(_srcjar_deps != []) |
| 727 java_files = [] |
| 728 } |
| 729 srcjar_deps = _srcjar_deps |
| 730 dex_path = base_path + ".dex.jar" |
713 } | 731 } |
714 srcjar_deps = _srcjar_deps | 732 } else { |
715 dex_path = base_path + ".dex.jar" | 733 assert(_srcjar_deps == []) |
| 734 } |
| 735 |
| 736 if (_dist_jar_path != "") { |
| 737 # TODO(cjhopman): This is only ever needed to calculate the list of tests to |
| 738 # run. See build/android/pylib/instrumentation/test_jar.py. We should be |
| 739 # able to just do that calculation at build time instead. |
| 740 action("${_template_name}__create_dist_jar") { |
| 741 script = "//build/android/gyp/create_dist_jar.py" |
| 742 depfile = "$target_gen_dir/$target_name.d" |
| 743 inputs = [ build_config ] |
| 744 outputs = [ |
| 745 depfile, |
| 746 _dist_jar_path, |
| 747 ] |
| 748 args = [ |
| 749 "--depfile", rebase_path(depfile, root_build_dir), |
| 750 "--output", rebase_path(_dist_jar_path, root_build_dir), |
| 751 "--inputs=@FileArg($_rebased_build_config:dist_jar:dependency_jars)", |
| 752 ] |
| 753 if (_has_java) { |
| 754 inputs += [ jar_path ] |
| 755 _rebased_jar_path = rebase_path([ jar_path ], root_build_dir) |
| 756 args += [ |
| 757 "--inputs=$_rebased_jar_path", |
| 758 ] |
| 759 } |
| 760 } |
716 } | 761 } |
717 | 762 |
718 final_deps += [":${_template_name}__final_dex"] | 763 final_deps += [":${_template_name}__final_dex"] |
719 dex("${_template_name}__final_dex") { | 764 dex("${_template_name}__final_dex") { |
720 sources = [jar_path] | 765 sources = [] |
721 inputs = [build_config] | 766 if (_has_java) { |
| 767 deps = [ ":${_template_name}__java" ] |
| 768 sources += [ jar_path ] |
| 769 } |
| 770 inputs = [ build_config ] |
722 output = final_dex_path | 771 output = final_dex_path |
723 dex_arg_key = "${_rebased_build_config}:apk_dex:dependency_dex_files" | 772 dex_arg_key = "${_rebased_build_config}:apk_dex:dependency_dex_files" |
724 args = ["--inputs=@FileArg($dex_arg_key)"] | 773 args = [ "--inputs=@FileArg($dex_arg_key)" ] |
725 } | 774 } |
726 | 775 |
727 if (_native_libs != []) { | 776 if (_native_libs != []) { |
728 copy_ex("${_template_name}__prepare_native") { | 777 copy_ex("${_template_name}__prepare_native") { |
729 clear_dir = true | 778 clear_dir = true |
730 inputs = [ | 779 inputs = [ |
731 build_config | 780 build_config |
732 ] | 781 ] |
733 dest = "$_native_libs_dir/$android_app_abi" | 782 dest = "$_native_libs_dir/$android_app_abi" |
734 args = [ | 783 args = [ |
(...skipping 148 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
883 "//build/android/gyp/find.py", | 932 "//build/android/gyp/find.py", |
884 rebase_path([invoker.import_include], root_build_dir), | 933 rebase_path([invoker.import_include], root_build_dir), |
885 "list lines" | 934 "list lines" |
886 ) | 935 ) |
887 _java_files = rebase_path(_java_files_build_rel, ".", root_build_dir) | 936 _java_files = rebase_path(_java_files_build_rel, ".", root_build_dir) |
888 inputs += _java_files | 937 inputs += _java_files |
889 } | 938 } |
890 args += rebase_path(sources, root_build_dir) | 939 args += rebase_path(sources, root_build_dir) |
891 } | 940 } |
892 } | 941 } |
OLD | NEW |