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

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

Issue 1943583002: GN: forward_variables_from shouldn't clobber vars. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 7 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
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 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
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
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
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
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
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
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
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
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
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 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698