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 import("//build/config/zip.gni") | 7 import("//build/config/zip.gni") |
8 import("//third_party/ijar/ijar.gni") | 8 import("//third_party/ijar/ijar.gni") |
9 | 9 |
10 assert(is_android) | 10 assert(is_android) |
11 | 11 |
12 rebased_android_sdk = rebase_path(android_sdk, root_build_dir) | 12 rebased_android_sdk = rebase_path(android_sdk, root_build_dir) |
13 rebased_android_sdk_root = rebase_path(android_sdk_root, root_build_dir) | 13 rebased_android_sdk_root = rebase_path(android_sdk_root, root_build_dir) |
14 rebased_android_sdk_build_tools = | 14 rebased_android_sdk_build_tools = |
15 rebase_path(android_sdk_build_tools, root_build_dir) | 15 rebase_path(android_sdk_build_tools, root_build_dir) |
16 | 16 |
17 android_sdk_jar = "$android_sdk/android.jar" | 17 android_sdk_jar = "$android_sdk/android.jar" |
18 rebased_android_sdk_jar = rebase_path(android_sdk_jar, root_build_dir) | 18 rebased_android_sdk_jar = rebase_path(android_sdk_jar, root_build_dir) |
19 android_default_aapt_path = "$rebased_android_sdk_build_tools/aapt" | 19 android_default_aapt_path = "$rebased_android_sdk_build_tools/aapt" |
20 | 20 |
21 android_configuration_name = "Release" | 21 android_configuration_name = "Release" |
22 if (is_debug) { | 22 if (is_debug) { |
23 android_configuration_name = "Debug" | 23 android_configuration_name = "Debug" |
24 } | 24 } |
25 | 25 |
26 template("android_lint") { | 26 template("android_lint") { |
27 action(target_name) { | 27 action(target_name) { |
28 deps = [] | |
29 forward_variables_from(invoker, | 28 forward_variables_from(invoker, |
30 [ | 29 [ |
31 "deps", | 30 "deps", |
32 "data_deps", | 31 "data_deps", |
33 "public_deps", | 32 "public_deps", |
34 "testonly", | 33 "testonly", |
35 ]) | 34 ]) |
| 35 if (!defined(deps)) { |
| 36 deps = [] |
| 37 } |
36 _cache_dir = "$root_build_dir/android_lint_cache" | 38 _cache_dir = "$root_build_dir/android_lint_cache" |
37 _result_path = "$target_gen_dir/$target_name/result.xml" | 39 _result_path = "$target_gen_dir/$target_name/result.xml" |
38 _config_path = "$target_gen_dir/$target_name/config.xml" | 40 _config_path = "$target_gen_dir/$target_name/config.xml" |
39 _suppressions_file = "//build/android/lint/suppressions.xml" | 41 _suppressions_file = "//build/android/lint/suppressions.xml" |
40 _platform_xml_path = | 42 _platform_xml_path = |
41 "${android_sdk_root}/platform-tools/api/api-versions.xml" | 43 "${android_sdk_root}/platform-tools/api/api-versions.xml" |
42 | 44 |
43 script = "//build/android/gyp/lint.py" | 45 script = "//build/android/gyp/lint.py" |
44 depfile = "$target_gen_dir/$target_name.d" | 46 depfile = "$target_gen_dir/$target_name.d" |
45 inputs = [ | 47 inputs = [ |
(...skipping 333 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
379 action(target_name) { | 381 action(target_name) { |
380 set_sources_assignment_filter([]) | 382 set_sources_assignment_filter([]) |
381 type = invoker.type | 383 type = invoker.type |
382 build_config = invoker.build_config | 384 build_config = invoker.build_config |
383 | 385 |
384 assert(type == "android_apk" || type == "java_library" || | 386 assert(type == "android_apk" || type == "java_library" || |
385 type == "android_resources" || type == "deps_dex" || | 387 type == "android_resources" || type == "deps_dex" || |
386 type == "android_assets" || type == "resource_rewriter" || | 388 type == "android_assets" || type == "resource_rewriter" || |
387 type == "java_binary" || type == "group") | 389 type == "java_binary" || type == "group") |
388 | 390 |
389 deps = [] | |
390 forward_variables_from(invoker, | 391 forward_variables_from(invoker, |
391 [ | 392 [ |
392 "deps", | 393 "deps", |
393 "testonly", | 394 "testonly", |
394 "visibility", | 395 "visibility", |
395 ]) | 396 ]) |
| 397 if (!defined(deps)) { |
| 398 deps = [] |
| 399 } |
396 | 400 |
397 script = "//build/android/gyp/write_build_config.py" | 401 script = "//build/android/gyp/write_build_config.py" |
398 depfile = "$target_gen_dir/$target_name.d" | 402 depfile = "$target_gen_dir/$target_name.d" |
399 inputs = [] | 403 inputs = [] |
400 | 404 |
401 possible_deps_configs = [] | 405 possible_deps_configs = [] |
402 foreach(d, deps) { | 406 foreach(d, deps) { |
403 dep_gen_dir = get_label_info(d, "target_gen_dir") | 407 dep_gen_dir = get_label_info(d, "target_gen_dir") |
404 dep_name = get_label_info(d, "name") | 408 dep_name = get_label_info(d, "name") |
405 possible_deps_configs += [ "$dep_gen_dir/$dep_name.build_config" ] | 409 possible_deps_configs += [ "$dep_gen_dir/$dep_name.build_config" ] |
(...skipping 933 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1339 _jar_path, | 1343 _jar_path, |
1340 ] | 1344 ] |
1341 output = _dex_path | 1345 output = _dex_path |
1342 deps = [ ":$_process_jar_target_name" ] + _deps + _jar_deps | 1346 deps = [ ":$_process_jar_target_name" ] + _deps + _jar_deps |
1343 } | 1347 } |
1344 } | 1348 } |
1345 | 1349 |
1346 if (defined(invoker.main_class)) { | 1350 if (defined(invoker.main_class)) { |
1347 _binary_script_target_name = "${_template_name}__java_binary_script" | 1351 _binary_script_target_name = "${_template_name}__java_binary_script" |
1348 java_binary_script(_binary_script_target_name) { | 1352 java_binary_script(_binary_script_target_name) { |
1349 deps = [] | |
1350 forward_variables_from(invoker, | 1353 forward_variables_from(invoker, |
1351 [ | 1354 [ |
1352 "bootclasspath", | 1355 "bootclasspath", |
1353 "deps", | 1356 "deps", |
1354 "main_class", | 1357 "main_class", |
1355 "wrapper_script_args", | 1358 "wrapper_script_args", |
1356 ]) | 1359 ]) |
| 1360 if (!defined(deps)) { |
| 1361 deps = [] |
| 1362 } |
1357 build_config = _build_config | 1363 build_config = _build_config |
1358 jar_path = _jar_path | 1364 jar_path = _jar_path |
1359 script_name = _template_name | 1365 script_name = _template_name |
1360 if (defined(invoker.wrapper_script_name)) { | 1366 if (defined(invoker.wrapper_script_name)) { |
1361 script_name = invoker.wrapper_script_name | 1367 script_name = invoker.wrapper_script_name |
1362 } | 1368 } |
1363 deps += [ ":$_build_config_target_name" ] | 1369 deps += [ ":$_build_config_target_name" ] |
1364 } | 1370 } |
1365 } | 1371 } |
1366 | 1372 |
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1429 _supports_android = invoker.supports_android | 1435 _supports_android = invoker.supports_android |
1430 } | 1436 } |
1431 | 1437 |
1432 _enable_errorprone = use_errorprone_java_compiler | 1438 _enable_errorprone = use_errorprone_java_compiler |
1433 if (!_chromium_code) { | 1439 if (!_chromium_code) { |
1434 _enable_errorprone = false | 1440 _enable_errorprone = false |
1435 } else if (defined(invoker.enable_errorprone)) { | 1441 } else if (defined(invoker.enable_errorprone)) { |
1436 _enable_errorprone = invoker.enable_errorprone | 1442 _enable_errorprone = invoker.enable_errorprone |
1437 } | 1443 } |
1438 | 1444 |
1439 _enable_incremental_javac = enable_incremental_javac | 1445 if (defined(invoker.enable_incremental_javac_override)) { |
1440 if (defined(invoker.enable_incremental_javac)) { | 1446 # Use invoker-specified override. |
1441 _enable_incremental_javac = invoker.enable_incremental_javac | 1447 _enable_incremental_javac = invoker.enable_incremental_javac_override |
| 1448 } else { |
| 1449 # Default to build arg if not overridden. |
| 1450 _enable_incremental_javac = enable_incremental_javac |
1442 } | 1451 } |
1443 | 1452 |
1444 _manifest_entries = [] | 1453 _manifest_entries = [] |
1445 if (defined(invoker.manifest_entries)) { | 1454 if (defined(invoker.manifest_entries)) { |
1446 _manifest_entries = invoker.manifest_entries | 1455 _manifest_entries = invoker.manifest_entries |
1447 } | 1456 } |
1448 | 1457 |
1449 _srcjar_deps = [] | 1458 _srcjar_deps = [] |
1450 if (defined(invoker.srcjar_deps)) { | 1459 if (defined(invoker.srcjar_deps)) { |
1451 _srcjar_deps += invoker.srcjar_deps | 1460 _srcjar_deps += invoker.srcjar_deps |
(...skipping 156 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1608 _supports_android = | 1617 _supports_android = |
1609 defined(invoker.supports_android) && invoker.supports_android | 1618 defined(invoker.supports_android) && invoker.supports_android |
1610 _requires_android = | 1619 _requires_android = |
1611 defined(invoker.requires_android) && invoker.requires_android | 1620 defined(invoker.requires_android) && invoker.requires_android |
1612 assert(_requires_android || true) # Mark as used. | 1621 assert(_requires_android || true) # Mark as used. |
1613 _android_manifest = "//build/android/AndroidManifest.xml" | 1622 _android_manifest = "//build/android/AndroidManifest.xml" |
1614 if (defined(invoker.android_manifest)) { | 1623 if (defined(invoker.android_manifest)) { |
1615 _android_manifest = invoker.android_manifest | 1624 _android_manifest = invoker.android_manifest |
1616 } | 1625 } |
1617 assert(_android_manifest != "") # Mark as used. | 1626 assert(_android_manifest != "") # Mark as used. |
1618 _run_findbugs = defined(invoker.run_findbugs) && invoker.run_findbugs | 1627 |
| 1628 if (defined(invoker.run_findbugs_override)) { |
| 1629 _run_findbugs = invoker.run_findbugs_override |
| 1630 } else { |
| 1631 _run_findbugs = run_findbugs # Default to build arg if not overridden. |
| 1632 } |
1619 assert(_run_findbugs || true) # Mark as used. | 1633 assert(_run_findbugs || true) # Mark as used. |
1620 | 1634 |
1621 # Don't enable coverage, lint, findbugs unless the target has some | 1635 # Don't enable coverage, lint, findbugs unless the target has some |
1622 # non-generated files. | 1636 # non-generated files. |
1623 _chromium_code = defined(invoker.java_files) && invoker.java_files != [] | 1637 _chromium_code = defined(invoker.java_files) && invoker.java_files != [] |
1624 if (defined(invoker.chromium_code)) { | 1638 if (defined(invoker.chromium_code)) { |
1625 _chromium_code = invoker.chromium_code | 1639 _chromium_code = invoker.chromium_code |
1626 } | 1640 } |
1627 | 1641 |
1628 _emma_never_instrument = !_chromium_code | 1642 _emma_never_instrument = !_chromium_code |
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1694 | 1708 |
1695 _compile_java_target = "${_template_name}__compile_java" | 1709 _compile_java_target = "${_template_name}__compile_java" |
1696 _final_deps += [ ":$_compile_java_target" ] | 1710 _final_deps += [ ":$_compile_java_target" ] |
1697 compile_java(_compile_java_target) { | 1711 compile_java(_compile_java_target) { |
1698 forward_variables_from(invoker, | 1712 forward_variables_from(invoker, |
1699 [ | 1713 [ |
1700 "alternative_android_sdk_ijar", | 1714 "alternative_android_sdk_ijar", |
1701 "alternative_android_sdk_ijar_dep", | 1715 "alternative_android_sdk_ijar_dep", |
1702 "dist_jar_path", | 1716 "dist_jar_path", |
1703 "enable_errorprone", | 1717 "enable_errorprone", |
1704 "enable_incremental_javac", | 1718 "enable_incremental_javac_override", |
1705 "jar_excluded_patterns", | 1719 "jar_excluded_patterns", |
1706 "manifest_entries", | 1720 "manifest_entries", |
1707 "proguard_config", | 1721 "proguard_config", |
1708 "proguard_preprocess", | 1722 "proguard_preprocess", |
1709 ]) | 1723 ]) |
1710 jar_path = _jar_path | 1724 jar_path = _jar_path |
1711 build_config = _build_config | 1725 build_config = _build_config |
1712 java_files = _java_files | 1726 java_files = _java_files |
1713 srcjar_deps = _srcjar_deps | 1727 srcjar_deps = _srcjar_deps |
1714 srcjars = _srcjars | 1728 srcjars = _srcjars |
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1781 _jar_path, | 1795 _jar_path, |
1782 ] | 1796 ] |
1783 output = _dex_path | 1797 output = _dex_path |
1784 deps = [ | 1798 deps = [ |
1785 ":$_compile_java_target", | 1799 ":$_compile_java_target", |
1786 ] | 1800 ] |
1787 } | 1801 } |
1788 } | 1802 } |
1789 | 1803 |
1790 group(target_name) { | 1804 group(target_name) { |
1791 data_deps = [] | |
1792 forward_variables_from(invoker, | 1805 forward_variables_from(invoker, |
1793 [ | 1806 [ |
1794 "data_deps", | 1807 "data_deps", |
1795 "visibility", | 1808 "visibility", |
1796 ]) | 1809 ]) |
| 1810 if (!defined(data_deps)) { |
| 1811 data_deps = [] |
| 1812 } |
1797 public_deps = _final_deps | 1813 public_deps = _final_deps |
1798 if (_has_lint_target) { | 1814 if (_has_lint_target) { |
1799 data_deps += [ ":${_template_name}__analysis" ] | 1815 data_deps += [ ":${_template_name}__analysis" ] |
1800 } | 1816 } |
1801 } | 1817 } |
1802 } | 1818 } |
1803 | 1819 |
1804 # Runs process_resources.py | 1820 # Runs process_resources.py |
1805 template("process_resources") { | 1821 template("process_resources") { |
1806 set_sources_assignment_filter([]) | 1822 set_sources_assignment_filter([]) |
(...skipping 138 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1945 | 1961 |
1946 if (defined(invoker.args)) { | 1962 if (defined(invoker.args)) { |
1947 args += invoker.args | 1963 args += invoker.args |
1948 } | 1964 } |
1949 } | 1965 } |
1950 } | 1966 } |
1951 | 1967 |
1952 template("copy_ex") { | 1968 template("copy_ex") { |
1953 set_sources_assignment_filter([]) | 1969 set_sources_assignment_filter([]) |
1954 action(target_name) { | 1970 action(target_name) { |
1955 inputs = [] | |
1956 sources = [] | |
1957 forward_variables_from(invoker, | 1971 forward_variables_from(invoker, |
1958 [ | 1972 [ |
1959 "data", | 1973 "data", |
1960 "deps", | 1974 "deps", |
1961 "inputs", | 1975 "inputs", |
1962 "sources", | 1976 "sources", |
1963 "testonly", | 1977 "testonly", |
1964 "visibility", | 1978 "visibility", |
1965 ]) | 1979 ]) |
| 1980 if (!defined(sources)) { |
| 1981 sources = [] |
| 1982 } |
1966 script = "//build/android/gyp/copy_ex.py" | 1983 script = "//build/android/gyp/copy_ex.py" |
1967 | 1984 |
1968 depfile = "$target_gen_dir/$target_name.d" | 1985 depfile = "$target_gen_dir/$target_name.d" |
1969 outputs = [ | 1986 outputs = [ |
1970 depfile, | 1987 depfile, |
1971 ] | 1988 ] |
1972 | 1989 |
1973 args = [ | 1990 args = [ |
1974 "--depfile", | 1991 "--depfile", |
1975 rebase_path(depfile, root_build_dir), | 1992 rebase_path(depfile, root_build_dir), |
(...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2092 # Generates a script in the output bin directory which runs the test | 2109 # Generates a script in the output bin directory which runs the test |
2093 # target using the test runner script in build/android/test_runner.py. | 2110 # target using the test runner script in build/android/test_runner.py. |
2094 template("test_runner_script") { | 2111 template("test_runner_script") { |
2095 testonly = true | 2112 testonly = true |
2096 _test_name = invoker.test_name | 2113 _test_name = invoker.test_name |
2097 _test_type = invoker.test_type | 2114 _test_type = invoker.test_type |
2098 _incremental_install = | 2115 _incremental_install = |
2099 defined(invoker.incremental_install) && invoker.incremental_install | 2116 defined(invoker.incremental_install) && invoker.incremental_install |
2100 | 2117 |
2101 action(target_name) { | 2118 action(target_name) { |
2102 data_deps = [] | |
2103 deps = [] | |
2104 forward_variables_from(invoker, | 2119 forward_variables_from(invoker, |
2105 [ | 2120 [ |
2106 "data_deps", | 2121 "data_deps", |
2107 "deps", | 2122 "deps", |
2108 ]) | 2123 ]) |
| 2124 if (!defined(deps)) { |
| 2125 deps = [] |
| 2126 } |
| 2127 if (!defined(data_deps)) { |
| 2128 data_deps = [] |
| 2129 } |
2109 | 2130 |
2110 script = "//build/android/gyp/create_test_runner_script.py" | 2131 script = "//build/android/gyp/create_test_runner_script.py" |
2111 depfile = "$target_gen_dir/$target_name.d" | 2132 depfile = "$target_gen_dir/$target_name.d" |
2112 | 2133 |
2113 data_deps += [ "//build/android:test_runner_py" ] | 2134 data_deps += [ "//build/android:test_runner_py" ] |
2114 data = [] | 2135 data = [] |
2115 | 2136 |
2116 test_runner_args = [ | 2137 test_runner_args = [ |
2117 _test_type, | 2138 _test_type, |
2118 "--output-directory", | 2139 "--output-directory", |
(...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2231 | 2252 |
2232 args = [ | 2253 args = [ |
2233 "--depfile", | 2254 "--depfile", |
2234 rebase_path(depfile, root_build_dir), | 2255 rebase_path(depfile, root_build_dir), |
2235 "--script-output-path", | 2256 "--script-output-path", |
2236 rebase_path(generated_script, root_build_dir), | 2257 rebase_path(generated_script, root_build_dir), |
2237 ] | 2258 ] |
2238 args += test_runner_args | 2259 args += test_runner_args |
2239 } | 2260 } |
2240 } | 2261 } |
OLD | NEW |