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

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