| 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 350 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 361 | 361 |
| 362 base_path = "$target_gen_dir/$target_name" | 362 base_path = "$target_gen_dir/$target_name" |
| 363 zip_path = base_path + ".resources.zip" | 363 zip_path = base_path + ".resources.zip" |
| 364 srcjar_path = base_path + ".srcjar" | 364 srcjar_path = base_path + ".srcjar" |
| 365 build_config = base_path + ".build_config" | 365 build_config = base_path + ".build_config" |
| 366 | 366 |
| 367 write_build_config("${target_name}__build_config") { | 367 write_build_config("${target_name}__build_config") { |
| 368 type = "android_resources" | 368 type = "android_resources" |
| 369 resources_zip = zip_path | 369 resources_zip = zip_path |
| 370 srcjar = srcjar_path | 370 srcjar = srcjar_path |
| 371 if (defined(invoker.deps)) { | 371 if (defined(invoker.deps)) { deps = invoker.deps } |
| 372 deps = invoker.deps | 372 if (defined(invoker.android_manifest)) { android_manifest = invoker.android_
manifest } |
| 373 } | 373 if (defined(invoker.custom_package)) { custom_package = invoker.custom_packa
ge } |
| 374 } | 374 } |
| 375 | 375 |
| 376 android_manifest = "//build/android/AndroidManifest.xml" | 376 android_manifest = "//build/android/AndroidManifest.xml" |
| 377 if (defined(invoker.android_manifest)) { | 377 if (defined(invoker.android_manifest)) { |
| 378 android_manifest = invoker.android_manifest | 378 android_manifest = invoker.android_manifest |
| 379 } | 379 } |
| 380 | 380 |
| 381 process_resources("${target_name}__process_resources") { | 381 process_resources("${target_name}__process_resources") { |
| 382 resource_dirs = invoker.resource_dirs | 382 resource_dirs = invoker.resource_dirs |
| 383 if (defined(invoker.custom_package)) { | 383 if (defined(invoker.custom_package)) { |
| (...skipping 284 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 668 # native_lib_path | 668 # native_lib_path |
| 669 # ] | 669 # ] |
| 670 # } | 670 # } |
| 671 template("android_apk") { | 671 template("android_apk") { |
| 672 assert(defined(invoker.final_apk_path) || defined(invoker.apk_name)) | 672 assert(defined(invoker.final_apk_path) || defined(invoker.apk_name)) |
| 673 gen_dir = "$target_gen_dir/$target_name" | 673 gen_dir = "$target_gen_dir/$target_name" |
| 674 base_path = "$gen_dir/$target_name" | 674 base_path = "$gen_dir/$target_name" |
| 675 build_config = "$base_path.build_config" | 675 build_config = "$base_path.build_config" |
| 676 resources_zip_path = "$base_path.resources.zip" | 676 resources_zip_path = "$base_path.resources.zip" |
| 677 all_resources_zip_path = "$base_path.resources.all.zip" | 677 all_resources_zip_path = "$base_path.resources.all.zip" |
| 678 resource_srcjar_path = "$base_path.resources.srcjar" | |
| 679 jar_path = "$base_path.jar" | 678 jar_path = "$base_path.jar" |
| 680 final_dex_path = "$gen_dir/classes.dex" | 679 final_dex_path = "$gen_dir/classes.dex" |
| 681 _template_name = target_name | 680 _template_name = target_name |
| 682 _final_apk_path = "" | 681 _final_apk_path = "" |
| 683 if (defined(invoker.final_apk_path)) { | 682 if (defined(invoker.final_apk_path)) { |
| 684 _final_apk_path = invoker.final_apk_path | 683 _final_apk_path = invoker.final_apk_path |
| 685 } else if (defined(invoker.apk_name)) { | 684 } else if (defined(invoker.apk_name)) { |
| 686 _final_apk_path = "$root_build_dir/apks/" + invoker.apk_name + ".apk" | 685 _final_apk_path = "$root_build_dir/apks/" + invoker.apk_name + ".apk" |
| 687 } | 686 } |
| 688 _dist_jar_path_list = process_file_template( | 687 _dist_jar_path_list = process_file_template( |
| 689 [ _final_apk_path ], | 688 [ _final_apk_path ], |
| 690 "$root_build_dir/test.lib.java/{{source_name_part}}.jar" | 689 "$root_build_dir/test.lib.java/{{source_name_part}}.jar" |
| 691 ) | 690 ) |
| 692 _dist_jar_path = _dist_jar_path_list[0] | 691 _dist_jar_path = _dist_jar_path_list[0] |
| 693 | 692 |
| 694 _native_libs = [] | 693 _native_libs = [] |
| 695 if (defined(invoker.native_libs)) { | 694 if (defined(invoker.native_libs)) { |
| 696 _native_libs = invoker.native_libs | 695 _native_libs = invoker.native_libs |
| 697 _native_libs_dir = base_path + "/libs" | 696 _native_libs_dir = base_path + "/libs" |
| 698 } | 697 } |
| 699 | 698 |
| 700 _has_java = ( | |
| 701 defined(invoker.java_files) | |
| 702 || defined(invoker.DEPRECATED_java_in_dir) | |
| 703 || _native_libs != [] | |
| 704 ) | |
| 705 | |
| 706 _keystore_path = android_default_keystore_path | 699 _keystore_path = android_default_keystore_path |
| 707 _keystore_name = android_default_keystore_name | 700 _keystore_name = android_default_keystore_name |
| 708 _keystore_password = android_default_keystore_password | 701 _keystore_password = android_default_keystore_password |
| 709 | 702 |
| 710 if (defined(invoker.keystore_path)) { | 703 if (defined(invoker.keystore_path)) { |
| 711 _keystore_path = invoker.keystore_path | 704 _keystore_path = invoker.keystore_path |
| 712 _keystore_name = invoker.keystore_name | 705 _keystore_name = invoker.keystore_name |
| 713 _keystore_password = invoker.keystore_password | 706 _keystore_password = invoker.keystore_password |
| 714 } | 707 } |
| 715 | 708 |
| 716 _srcjar_deps = [] | 709 _srcjar_deps = [] |
| 717 if (defined(invoker.srcjar_deps)) { | 710 if (defined(invoker.srcjar_deps)) { |
| 718 _srcjar_deps += invoker.srcjar_deps | 711 _srcjar_deps += invoker.srcjar_deps |
| 719 } | 712 } |
| 720 | 713 |
| 721 _rebased_build_config = rebase_path(build_config, root_build_dir) | 714 _rebased_build_config = rebase_path(build_config, root_build_dir) |
| 722 | 715 |
| 723 write_build_config("${_template_name}__build_config") { | 716 write_build_config("${_template_name}__build_config") { |
| 724 type = "android_apk" | 717 type = "android_apk" |
| 725 srcjar = resource_srcjar_path | |
| 726 dex_path = final_dex_path | 718 dex_path = final_dex_path |
| 727 resources_zip = resources_zip_path | 719 resources_zip = resources_zip_path |
| 728 | 720 |
| 729 if (defined(invoker.deps)) { | 721 if (defined(invoker.deps)) { |
| 730 deps = invoker.deps | 722 deps = invoker.deps |
| 731 } | 723 } |
| 732 if (defined(invoker.testonly)) { | 724 if (defined(invoker.testonly)) { |
| 733 testonly = invoker.testonly | 725 testonly = invoker.testonly |
| 734 } | 726 } |
| 735 | 727 |
| 736 native_libs = _native_libs | 728 native_libs = _native_libs |
| 737 } | 729 } |
| 738 | 730 |
| 739 final_deps = [] | 731 final_deps = [] |
| 740 | 732 |
| 741 final_deps += [":${_template_name}__process_resources"] | 733 final_deps += [":${_template_name}__process_resources"] |
| 742 process_resources("${_template_name}__process_resources") { | 734 process_resources("${_template_name}__process_resources") { |
| 735 srcjar_path = "${target_gen_dir}/${target_name}.srcjar" |
| 743 android_manifest = invoker.android_manifest | 736 android_manifest = invoker.android_manifest |
| 744 | |
| 745 resource_dirs = ["//build/android/ant/empty/res"] | 737 resource_dirs = ["//build/android/ant/empty/res"] |
| 746 zip_path = resources_zip_path | 738 zip_path = resources_zip_path |
| 747 srcjar_path = resource_srcjar_path | |
| 748 | |
| 749 generate_constant_ids = true | 739 generate_constant_ids = true |
| 750 } | 740 } |
| 741 _srcjar_deps += [":${_template_name}__process_resources"] |
| 751 | 742 |
| 752 if (_native_libs != []) { | 743 if (_native_libs != []) { |
| 753 _use_chromium_linker = false | 744 _use_chromium_linker = false |
| 754 _enable_chromium_linker_tests = false | 745 _enable_chromium_linker_tests = false |
| 755 _load_library_from_apk = false | 746 _load_library_from_apk = false |
| 756 _native_lib_version_name = "" | 747 _native_lib_version_name = "" |
| 757 | 748 |
| 758 | 749 |
| 759 java_cpp_template("${_template_name}__native_libraries_java") { | 750 java_cpp_template("${_template_name}__native_libraries_java") { |
| 760 package_name = "org/chromium/base/library_loader" | 751 package_name = "org/chromium/base/library_loader" |
| (...skipping 15 matching lines...) Expand all Loading... |
| 776 if (_load_library_from_apk) { | 767 if (_load_library_from_apk) { |
| 777 defines += ["ENABLE_CHROMIUM_LINKER_LIBRARY_IN_ZIP_FILE"] | 768 defines += ["ENABLE_CHROMIUM_LINKER_LIBRARY_IN_ZIP_FILE"] |
| 778 } | 769 } |
| 779 if (_enable_chromium_linker_tests) { | 770 if (_enable_chromium_linker_tests) { |
| 780 defines += ["ENABLE_CHROMIUM_LINKER_TESTS"] | 771 defines += ["ENABLE_CHROMIUM_LINKER_TESTS"] |
| 781 } | 772 } |
| 782 } | 773 } |
| 783 _srcjar_deps += [ ":${_template_name}__native_libraries_java" ] | 774 _srcjar_deps += [ ":${_template_name}__native_libraries_java" ] |
| 784 } | 775 } |
| 785 | 776 |
| 786 if (_has_java) { | 777 final_deps += [ ":${_template_name}__java" ] |
| 787 final_deps += [ ":${_template_name}__java" ] | 778 android_java_library("${_template_name}__java") { |
| 788 android_java_library("${_template_name}__java") { | 779 android_manifest = invoker.android_manifest |
| 789 android_manifest = invoker.android_manifest | 780 if (defined(invoker.java_files)) { |
| 790 if (defined(invoker.java_files)) { | 781 java_files = invoker.java_files |
| 791 java_files = invoker.java_files | 782 } else if (defined(invoker.DEPRECATED_java_in_dir)) { |
| 792 } else if (defined(invoker.DEPRECATED_java_in_dir)) { | 783 DEPRECATED_java_in_dir = invoker.DEPRECATED_java_in_dir |
| 793 DEPRECATED_java_in_dir = invoker.DEPRECATED_java_in_dir | 784 } else { |
| 794 } else { | 785 java_files = [] |
| 795 assert(_srcjar_deps != []) | |
| 796 java_files = [] | |
| 797 } | |
| 798 srcjar_deps = _srcjar_deps | |
| 799 dex_path = base_path + ".dex.jar" | |
| 800 } | 786 } |
| 801 } else { | 787 srcjar_deps = _srcjar_deps |
| 802 assert(_srcjar_deps == []) | 788 dex_path = base_path + ".dex.jar" |
| 803 } | 789 } |
| 804 | 790 |
| 805 if (_dist_jar_path != "") { | 791 if (_dist_jar_path != "") { |
| 806 # TODO(cjhopman): This is only ever needed to calculate the list of tests to | 792 # TODO(cjhopman): This is only ever needed to calculate the list of tests to |
| 807 # run. See build/android/pylib/instrumentation/test_jar.py. We should be | 793 # run. See build/android/pylib/instrumentation/test_jar.py. We should be |
| 808 # able to just do that calculation at build time instead. | 794 # able to just do that calculation at build time instead. |
| 809 action("${_template_name}__create_dist_jar") { | 795 action("${_template_name}__create_dist_jar") { |
| 810 script = "//build/android/gyp/create_dist_jar.py" | 796 script = "//build/android/gyp/create_dist_jar.py" |
| 811 depfile = "$target_gen_dir/$target_name.d" | 797 depfile = "$target_gen_dir/$target_name.d" |
| 812 inputs = [ build_config ] | 798 inputs = [ build_config ] |
| 813 outputs = [ | 799 outputs = [ |
| 814 depfile, | 800 depfile, |
| 815 _dist_jar_path, | 801 _dist_jar_path, |
| 816 ] | 802 ] |
| 817 args = [ | 803 args = [ |
| 818 "--depfile", rebase_path(depfile, root_build_dir), | 804 "--depfile", rebase_path(depfile, root_build_dir), |
| 819 "--output", rebase_path(_dist_jar_path, root_build_dir), | 805 "--output", rebase_path(_dist_jar_path, root_build_dir), |
| 820 "--inputs=@FileArg($_rebased_build_config:dist_jar:dependency_jars)", | 806 "--inputs=@FileArg($_rebased_build_config:dist_jar:dependency_jars)", |
| 821 ] | 807 ] |
| 822 if (_has_java) { | 808 inputs += [ jar_path ] |
| 823 inputs += [ jar_path ] | 809 _rebased_jar_path = rebase_path([ jar_path ], root_build_dir) |
| 824 _rebased_jar_path = rebase_path([ jar_path ], root_build_dir) | 810 args += [ |
| 825 args += [ | 811 "--inputs=$_rebased_jar_path", |
| 826 "--inputs=$_rebased_jar_path", | 812 ] |
| 827 ] | |
| 828 } | |
| 829 } | 813 } |
| 830 } | 814 } |
| 831 | 815 |
| 832 final_deps += [":${_template_name}__final_dex"] | 816 final_deps += [":${_template_name}__final_dex"] |
| 833 dex("${_template_name}__final_dex") { | 817 dex("${_template_name}__final_dex") { |
| 834 sources = [] | 818 deps = [ ":${_template_name}__java" ] |
| 835 if (_has_java) { | 819 sources = [ jar_path ] |
| 836 deps = [ ":${_template_name}__java" ] | |
| 837 sources += [ jar_path ] | |
| 838 } | |
| 839 inputs = [ build_config ] | 820 inputs = [ build_config ] |
| 840 output = final_dex_path | 821 output = final_dex_path |
| 841 dex_arg_key = "${_rebased_build_config}:apk_dex:dependency_dex_files" | 822 dex_arg_key = "${_rebased_build_config}:apk_dex:dependency_dex_files" |
| 842 args = [ "--inputs=@FileArg($dex_arg_key)" ] | 823 args = [ "--inputs=@FileArg($dex_arg_key)" ] |
| 843 } | 824 } |
| 844 | 825 |
| 845 if (_native_libs != []) { | 826 if (_native_libs != []) { |
| 846 copy_ex("${_template_name}__prepare_native") { | 827 copy_ex("${_template_name}__prepare_native") { |
| 847 clear_dir = true | 828 clear_dir = true |
| 848 inputs = [ | 829 inputs = [ |
| (...skipping 233 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1082 args = [ | 1063 args = [ |
| 1083 "--files=$rebased_binaries_list", | 1064 "--files=$rebased_binaries_list", |
| 1084 "--files=@FileArg($rebased_libraries_list:libraries)", | 1065 "--files=@FileArg($rebased_libraries_list:libraries)", |
| 1085 ] | 1066 ] |
| 1086 } | 1067 } |
| 1087 | 1068 |
| 1088 group(target_name) { | 1069 group(target_name) { |
| 1089 deps = final_deps | 1070 deps = final_deps |
| 1090 } | 1071 } |
| 1091 } | 1072 } |
| OLD | NEW |