| 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/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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 } |
| OLD | NEW |