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

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

Issue 570033002: Fix handling of resources (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@gn-openmax-dl
Patch Set: Created 6 years, 3 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
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("//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
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
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
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
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 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698