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

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

Issue 2227523002: Pass input_jars_paths of libs to final proguard step (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: remove print() Created 4 years, 4 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 | « build/android/gyp/write_build_config.py ('k') | build/config/android/rules.gni » ('j') | 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/sanitizers/sanitizers.gni") 6 import("//build/config/sanitizers/sanitizers.gni")
7 7
8 assert(is_android) 8 assert(is_android)
9 9
10 # These identify targets that have .build_config files (except for android_apk, 10 # These identify targets that have .build_config files (except for android_apk,
(...skipping 319 matching lines...) Expand 10 before | Expand all | Expand 10 after
330 args += [ 330 args += [
331 "--srcjar", 331 "--srcjar",
332 rebase_path(invoker.srcjar, root_build_dir), 332 rebase_path(invoker.srcjar, root_build_dir),
333 ] 333 ]
334 } 334 }
335 if (defined(invoker.bundled_srcjars)) { 335 if (defined(invoker.bundled_srcjars)) {
336 _rebased_bundled_srcjars = 336 _rebased_bundled_srcjars =
337 rebase_path(invoker.bundled_srcjars, root_build_dir) 337 rebase_path(invoker.bundled_srcjars, root_build_dir)
338 args += [ "--bundled-srcjars=$_rebased_bundled_srcjars" ] 338 args += [ "--bundled-srcjars=$_rebased_bundled_srcjars" ]
339 } 339 }
340 if (defined(invoker.input_jars_paths)) {
341 _rebased_input_jars_paths =
342 rebase_path(invoker.input_jars_paths, root_build_dir)
343 args += [ "--extra-classpath-jars=$_rebased_input_jars_paths" ]
344 }
340 if (current_toolchain != default_toolchain) { 345 if (current_toolchain != default_toolchain) {
341 # This has to be a built-time error rather than a GN assert because many 346 # This has to be a built-time error rather than a GN assert because many
342 # packages have a mix of java and non-java targets. For example, the 347 # packages have a mix of java and non-java targets. For example, the
343 # following would fail even though nothing depends on :bar(//baz): 348 # following would fail even though nothing depends on :bar(//baz):
344 # 349 #
345 # shared_library("foo") { 350 # shared_library("foo") {
346 # } 351 # }
347 # 352 #
348 # android_library("bar") { 353 # android_library("bar") {
349 # deps = [ ":foo(//baz)" ] 354 # deps = [ ":foo(//baz)" ]
(...skipping 378 matching lines...) Expand 10 before | Expand all | Expand 10 after
728 "public_deps", 733 "public_deps",
729 "testonly", 734 "testonly",
730 ]) 735 ])
731 script = "//build/android/gyp/proguard.py" 736 script = "//build/android/gyp/proguard.py"
732 if (defined(invoker.proguard_jar_path)) { 737 if (defined(invoker.proguard_jar_path)) {
733 _proguard_jar_path = invoker.proguard_jar_path 738 _proguard_jar_path = invoker.proguard_jar_path
734 } else { 739 } else {
735 _proguard_jar_path = "//third_party/proguard/lib/proguard.jar" 740 _proguard_jar_path = "//third_party/proguard/lib/proguard.jar"
736 } 741 }
737 _output_jar_path = invoker.output_jar_path 742 _output_jar_path = invoker.output_jar_path
738 _input_jars_paths = [] 743 inputs = [
739 if (defined(invoker.input_jars_paths)) { 744 _proguard_jar_path,
740 _input_jars_paths += invoker.input_jars_paths 745 ]
741 }
742 inputs = _input_jars_paths + [ _proguard_jar_path ]
743 if (defined(invoker.alternative_android_sdk_jar)) { 746 if (defined(invoker.alternative_android_sdk_jar)) {
744 inputs += [ invoker.alternative_android_sdk_jar ] 747 inputs += [ invoker.alternative_android_sdk_jar ]
745 _rebased_android_sdk_jar = 748 _rebased_android_sdk_jar =
746 rebase_path(invoker.alternative_android_sdk_jar) 749 rebase_path(invoker.alternative_android_sdk_jar)
747 } else { 750 } else {
748 inputs += [ android_sdk_jar ] 751 inputs += [ android_sdk_jar ]
749 _rebased_android_sdk_jar = rebased_android_sdk_jar 752 _rebased_android_sdk_jar = rebased_android_sdk_jar
750 } 753 }
751 if (defined(invoker.inputs)) { 754 if (defined(invoker.inputs)) {
752 inputs += invoker.inputs 755 inputs += invoker.inputs
(...skipping 10 matching lines...) Expand all
763 args = [ 766 args = [
764 "--depfile", 767 "--depfile",
765 rebase_path(depfile, root_build_dir), 768 rebase_path(depfile, root_build_dir),
766 "--proguard-path", 769 "--proguard-path",
767 rebase_path(_proguard_jar_path, root_build_dir), 770 rebase_path(_proguard_jar_path, root_build_dir),
768 "--output-path", 771 "--output-path",
769 rebase_path(_output_jar_path, root_build_dir), 772 rebase_path(_output_jar_path, root_build_dir),
770 "--classpath", 773 "--classpath",
771 _rebased_android_sdk_jar, 774 _rebased_android_sdk_jar,
772 ] 775 ]
773 foreach(c, _input_jars_paths) {
774 args += [ "--classpath=" + rebase_path(c, root_build_dir) ]
775 }
776 if (proguard_verbose) { 776 if (proguard_verbose) {
777 args += [ "--verbose" ] 777 args += [ "--verbose" ]
778 } 778 }
779 if (defined(invoker.args)) { 779 if (defined(invoker.args)) {
780 args += invoker.args 780 args += invoker.args
781 } 781 }
782 if (defined(invoker.proguard_jar_path)) { 782 if (defined(invoker.proguard_jar_path)) {
783 # We assume that if we are using a different ProGuard, this new version 783 # We assume that if we are using a different ProGuard, this new version
784 # can handle the 'dangerous' optimizaions. 784 # can handle the 'dangerous' optimizaions.
785 args += [ "--enable-dangerous-optimizations" ] 785 args += [ "--enable-dangerous-optimizations" ]
(...skipping 208 matching lines...) Expand 10 before | Expand all | Expand 10 after
994 } 994 }
995 995
996 if (defined(invoker.sources)) { 996 if (defined(invoker.sources)) {
997 args += rebase_path(invoker.sources, root_build_dir) 997 args += rebase_path(invoker.sources, root_build_dir)
998 } 998 }
999 } 999 }
1000 } 1000 }
1001 1001
1002 template("process_java_prebuilt") { 1002 template("process_java_prebuilt") {
1003 set_sources_assignment_filter([]) 1003 set_sources_assignment_filter([])
1004 forward_variables_from(invoker, 1004 forward_variables_from(invoker, [ "testonly" ])
1005 [
1006 "testonly",
1007 "input_jars_paths",
1008 ])
1009 assert(!defined(input_jars_paths) || input_jars_paths != [] || true) # Mark as used
1010 1005
1011 assert(invoker.build_config != "") 1006 assert(invoker.build_config != "")
1012 _build_config = invoker.build_config 1007 _build_config = invoker.build_config
1013 _rebased_build_config = rebase_path(_build_config, root_build_dir) 1008 _rebased_build_config = rebase_path(_build_config, root_build_dir)
1014 assert(_rebased_build_config != "" || true) # Mark used. 1009 assert(_rebased_build_config != "" || true) # Mark used.
1015 1010
1016 _proguard_preprocess = 1011 _proguard_preprocess =
1017 defined(invoker.proguard_preprocess) && invoker.proguard_preprocess 1012 defined(invoker.proguard_preprocess) && invoker.proguard_preprocess
1018 _input_jar_path = invoker.input_jar_path 1013 _input_jar_path = invoker.input_jar_path
1019 _output_jar_path = invoker.output_jar_path 1014 _output_jar_path = invoker.output_jar_path
(...skipping 736 matching lines...) Expand 10 before | Expand all | Expand 10 after
1756 1751
1757 _build_config_target_name = "${_template_name}__build_config" 1752 _build_config_target_name = "${_template_name}__build_config"
1758 _process_jar_target_name = "${_template_name}__process_jar" 1753 _process_jar_target_name = "${_template_name}__process_jar"
1759 _ijar_target_name = "${_template_name}__ijar" 1754 _ijar_target_name = "${_template_name}__ijar"
1760 if (_supports_android) { 1755 if (_supports_android) {
1761 _dex_target_name = "${_template_name}__dex" 1756 _dex_target_name = "${_template_name}__dex"
1762 } 1757 }
1763 1758
1764 write_build_config(_build_config_target_name) { 1759 write_build_config(_build_config_target_name) {
1765 type = "java_prebuilt" 1760 type = "java_prebuilt"
1761 forward_variables_from(invoker, [ "input_jars_paths" ])
1766 supports_android = _supports_android 1762 supports_android = _supports_android
1767 requires_android = 1763 requires_android =
1768 defined(invoker.requires_android) && invoker.requires_android 1764 defined(invoker.requires_android) && invoker.requires_android
1769 1765
1770 if (defined(invoker.deps)) { 1766 if (defined(invoker.deps)) {
1771 possible_config_deps = _deps 1767 possible_config_deps = _deps
1772 } 1768 }
1773 build_config = _build_config 1769 build_config = _build_config
1774 jar_path = _jar_path 1770 jar_path = _jar_path
1775 if (_supports_android) { 1771 if (_supports_android) {
1776 dex_path = _dex_path 1772 dex_path = _dex_path
1777 } 1773 }
1778 } 1774 }
1779 1775
1780 process_java_prebuilt(_process_jar_target_name) { 1776 process_java_prebuilt(_process_jar_target_name) {
1781 forward_variables_from(invoker, 1777 forward_variables_from(invoker,
1782 [ 1778 [
1783 "jar_excluded_patterns", 1779 "jar_excluded_patterns",
1784 "strip_resource_classes", 1780 "strip_resource_classes",
1785 "input_jars_paths",
1786 ]) 1781 ])
1787 assert(!defined(input_jars_paths) || input_jars_paths != [] || true) # Ma rk as used
1788 1782
1789 visibility = [ 1783 visibility = [
1790 ":$_ijar_target_name", 1784 ":$_ijar_target_name",
1791 ":$_template_name", 1785 ":$_template_name",
1792 ] 1786 ]
1793 if (_supports_android) { 1787 if (_supports_android) {
1794 visibility += [ ":$_dex_target_name" ] 1788 visibility += [ ":$_dex_target_name" ]
1795 } 1789 }
1796 1790
1797 if (defined(invoker.proguard_preprocess) && invoker.proguard_preprocess) { 1791 if (defined(invoker.proguard_preprocess) && invoker.proguard_preprocess) {
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after
1880 # "${target_gen_dir}/${target_name}.jar. 1874 # "${target_gen_dir}/${target_name}.jar.
1881 template("compile_java") { 1875 template("compile_java") {
1882 set_sources_assignment_filter([]) 1876 set_sources_assignment_filter([])
1883 forward_variables_from(invoker, [ "testonly" ]) 1877 forward_variables_from(invoker, [ "testonly" ])
1884 1878
1885 assert(defined(invoker.build_config)) 1879 assert(defined(invoker.build_config))
1886 assert(defined(invoker.jar_path)) 1880 assert(defined(invoker.jar_path))
1887 1881
1888 _build_config = invoker.build_config 1882 _build_config = invoker.build_config
1889 1883
1890 _input_jars_paths = []
1891 if (defined(invoker.input_jars_paths)) {
1892 _input_jars_paths += invoker.input_jars_paths
1893 }
1894
1895 _chromium_code = false 1884 _chromium_code = false
1896 if (defined(invoker.chromium_code)) { 1885 if (defined(invoker.chromium_code)) {
1897 _chromium_code = invoker.chromium_code 1886 _chromium_code = invoker.chromium_code
1898 } 1887 }
1899 1888
1900 _supports_android = true 1889 _supports_android = true
1901 if (defined(invoker.supports_android)) { 1890 if (defined(invoker.supports_android)) {
1902 _supports_android = invoker.supports_android 1891 _supports_android = invoker.supports_android
1903 } 1892 }
1904 1893
(...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after
2031 _android_sdk_ijar = invoker.alternative_android_sdk_ijar 2020 _android_sdk_ijar = invoker.alternative_android_sdk_ijar
2032 } else { 2021 } else {
2033 deps += [ "//build/android:android_ijar" ] 2022 deps += [ "//build/android:android_ijar" ]
2034 _android_sdk_ijar = "$root_out_dir/lib.java/android.interface.jar" 2023 _android_sdk_ijar = "$root_out_dir/lib.java/android.interface.jar"
2035 } 2024 }
2036 inputs += [ _android_sdk_ijar ] 2025 inputs += [ _android_sdk_ijar ]
2037 _rebased_android_sdk_ijar = 2026 _rebased_android_sdk_ijar =
2038 rebase_path(_android_sdk_ijar, root_build_dir) 2027 rebase_path(_android_sdk_ijar, root_build_dir)
2039 args += [ "--bootclasspath=$_rebased_android_sdk_ijar" ] 2028 args += [ "--bootclasspath=$_rebased_android_sdk_ijar" ]
2040 } 2029 }
2041 foreach(c, _input_jars_paths) {
2042 args += [ "--classpath=" + c ]
2043 }
2044 foreach(e, _manifest_entries) { 2030 foreach(e, _manifest_entries) {
2045 args += [ "--manifest-entry=" + e ] 2031 args += [ "--manifest-entry=" + e ]
2046 } 2032 }
2047 if (_chromium_code) { 2033 if (_chromium_code) {
2048 args += [ "--chromium-code=1" ] 2034 args += [ "--chromium-code=1" ]
2049 } 2035 }
2050 if (_enable_errorprone) { 2036 if (_enable_errorprone) {
2051 deps += [ "//third_party/errorprone:chromium_errorprone" ] 2037 deps += [ "//third_party/errorprone:chromium_errorprone" ]
2052 args += [ 2038 args += [
2053 "--use-errorprone-path", 2039 "--use-errorprone-path",
(...skipping 171 matching lines...) Expand 10 before | Expand all | Expand 10 after
2225 2211
2226 # Define build_config_deps which will be a list of targets required to 2212 # Define build_config_deps which will be a list of targets required to
2227 # build the _build_config. 2213 # build the _build_config.
2228 if (defined(invoker.override_build_config)) { 2214 if (defined(invoker.override_build_config)) {
2229 _build_config = invoker.override_build_config 2215 _build_config = invoker.override_build_config
2230 } else { 2216 } else {
2231 _build_config = _base_path + ".build_config" 2217 _build_config = _base_path + ".build_config"
2232 build_config_target_name = "${_template_name}__build_config" 2218 build_config_target_name = "${_template_name}__build_config"
2233 2219
2234 write_build_config(build_config_target_name) { 2220 write_build_config(build_config_target_name) {
2221 forward_variables_from(invoker, [ "input_jars_paths" ])
2235 if (defined(invoker.is_java_binary) && invoker.is_java_binary) { 2222 if (defined(invoker.is_java_binary) && invoker.is_java_binary) {
2236 type = "java_binary" 2223 type = "java_binary"
2237 } else { 2224 } else {
2238 type = "java_library" 2225 type = "java_library"
2239 } 2226 }
2240 if (defined(invoker.deps)) { 2227 if (defined(invoker.deps)) {
2241 possible_config_deps = invoker.deps 2228 possible_config_deps = invoker.deps
2242 } 2229 }
2243 supports_android = _supports_android 2230 supports_android = _supports_android
2244 requires_android = _requires_android 2231 requires_android = _requires_android
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
2282 _final_deps += [ ":$_compile_java_target" ] 2269 _final_deps += [ ":$_compile_java_target" ]
2283 compile_java(_compile_java_target) { 2270 compile_java(_compile_java_target) {
2284 forward_variables_from(invoker, 2271 forward_variables_from(invoker,
2285 [ 2272 [
2286 "additional_jar_files", 2273 "additional_jar_files",
2287 "alternative_android_sdk_ijar", 2274 "alternative_android_sdk_ijar",
2288 "alternative_android_sdk_ijar_dep", 2275 "alternative_android_sdk_ijar_dep",
2289 "dist_jar_path", 2276 "dist_jar_path",
2290 "enable_errorprone", 2277 "enable_errorprone",
2291 "enable_incremental_javac_override", 2278 "enable_incremental_javac_override",
2292 "input_jars_paths",
2293 "jar_excluded_patterns", 2279 "jar_excluded_patterns",
2294 "manifest_entries", 2280 "manifest_entries",
2295 "processors_javac", 2281 "processors_javac",
2296 "processor_args_javac", 2282 "processor_args_javac",
2297 "proguard_config", 2283 "proguard_config",
2298 "proguard_preprocess", 2284 "proguard_preprocess",
2299 "provider_configurations", 2285 "provider_configurations",
2300 ]) 2286 ])
2301 jar_path = _jar_path 2287 jar_path = _jar_path
2302 build_config = _build_config 2288 build_config = _build_config
(...skipping 328 matching lines...) Expand 10 before | Expand all | Expand 10 after
2631 outputs = [ 2617 outputs = [
2632 depfile, 2618 depfile,
2633 invoker.out_manifest, 2619 invoker.out_manifest,
2634 ] 2620 ]
2635 inputs = [ 2621 inputs = [
2636 invoker.main_manifest, 2622 invoker.main_manifest,
2637 ] 2623 ]
2638 } 2624 }
2639 } 2625 }
2640 } 2626 }
OLDNEW
« no previous file with comments | « build/android/gyp/write_build_config.py ('k') | build/config/android/rules.gni » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698