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