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 # Do not add any imports to non-//build directories here. | 5 # Do not add any imports to non-//build directories here. |
6 # Some projects (e.g. V8) do not have non-build directories DEPS'ed in. | 6 # Some projects (e.g. V8) do not have non-build directories DEPS'ed in. |
7 import("//build/config/android/config.gni") | 7 import("//build/config/android/config.gni") |
8 import("//build/config/android/internal_rules.gni") | 8 import("//build/config/android/internal_rules.gni") |
9 import("//build/config/compiler/compiler.gni") | 9 import("//build/config/compiler/compiler.gni") |
10 import("//build/config/dcheck_always_on.gni") | 10 import("//build/config/dcheck_always_on.gni") |
(...skipping 1381 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1392 # all other asset files. | 1392 # all other asset files. |
1393 # requires_sdk_api_level_23: If defined and true, the apk is intended for | 1393 # requires_sdk_api_level_23: If defined and true, the apk is intended for |
1394 # installation only on Android M or later. In these releases the system | 1394 # installation only on Android M or later. In these releases the system |
1395 # linker does relocation unpacking, so we can enable it unconditionally. | 1395 # linker does relocation unpacking, so we can enable it unconditionally. |
1396 # secondary_native_libs (deprecated): The path of native libraries for secon dary | 1396 # secondary_native_libs (deprecated): The path of native libraries for secon dary |
1397 # app abi. | 1397 # app abi. |
1398 # run_findbugs_override: Forces run_findbugs on or off. If undefined, the | 1398 # run_findbugs_override: Forces run_findbugs on or off. If undefined, the |
1399 # default will use the build arg run_findbugs. | 1399 # default will use the build arg run_findbugs. |
1400 # proguard_jar_path: The path to proguard.jar you wish to use. If undefined, | 1400 # proguard_jar_path: The path to proguard.jar you wish to use. If undefined, |
1401 # the proguard used will be the checked in one in //third_party/proguard. | 1401 # the proguard used will be the checked in one in //third_party/proguard. |
1402 # never_incremental: If true, |incremental_apk_by_default| will be ignored. | |
agrieve
2016/12/14 15:53:03
Just realized - we should set this for monochrome_
estevenson
2016/12/14 22:26:03
Done.
| |
1402 # | 1403 # |
1403 # Example | 1404 # Example |
1404 # android_apk("foo_apk") { | 1405 # android_apk("foo_apk") { |
1405 # android_manifest = "AndroidManifest.xml" | 1406 # android_manifest = "AndroidManifest.xml" |
1406 # java_files = [ | 1407 # java_files = [ |
1407 # "android/org/chromium/foo/FooApplication.java", | 1408 # "android/org/chromium/foo/FooApplication.java", |
1408 # "android/org/chromium/foo/FooActivity.java", | 1409 # "android/org/chromium/foo/FooActivity.java", |
1409 # ] | 1410 # ] |
1410 # deps = [ | 1411 # deps = [ |
1411 # ":foo_support_java" | 1412 # ":foo_support_java" |
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1456 process_file_template([ _final_apk_path ], | 1457 process_file_template([ _final_apk_path ], |
1457 "{{source_dir}}/{{source_name_part}}") | 1458 "{{source_dir}}/{{source_name_part}}") |
1458 _final_apk_path_no_ext = _final_apk_path_no_ext_list[0] | 1459 _final_apk_path_no_ext = _final_apk_path_no_ext_list[0] |
1459 assert(_final_apk_path_no_ext != "") # Mark as used. | 1460 assert(_final_apk_path_no_ext != "") # Mark as used. |
1460 | 1461 |
1461 _install_script_name = "install_$_template_name" | 1462 _install_script_name = "install_$_template_name" |
1462 if (defined(invoker.install_script_name)) { | 1463 if (defined(invoker.install_script_name)) { |
1463 _install_script_name = invoker.install_script_name | 1464 _install_script_name = invoker.install_script_name |
1464 } | 1465 } |
1465 _incremental_install_script_path = | 1466 _incremental_install_script_path = |
1466 "${root_out_dir}/bin/${_install_script_name}_incremental" | 1467 "${root_out_dir}/bin/${_install_script_name}" |
1468 if (!incremental_apk_by_default) { | |
1469 _incremental_install_script_path = | |
1470 "${_incremental_install_script_path}_incremental" | |
1471 } | |
1467 | 1472 |
1468 _version_code = android_default_version_code | 1473 _version_code = android_default_version_code |
1469 if (defined(invoker.version_code)) { | 1474 if (defined(invoker.version_code)) { |
1470 _version_code = invoker.version_code | 1475 _version_code = invoker.version_code |
1471 } | 1476 } |
1472 | 1477 |
1473 _version_name = android_default_version_name | 1478 _version_name = android_default_version_name |
1474 if (defined(invoker.version_name)) { | 1479 if (defined(invoker.version_name)) { |
1475 _version_name = invoker.version_name | 1480 _version_name = invoker.version_name |
1476 } | 1481 } |
(...skipping 713 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
2190 } | 2195 } |
2191 if (_create_language_splits) { | 2196 if (_create_language_splits) { |
2192 args += [ "--split=${_rebased_apk_path_no_ext}-language-*.apk" ] | 2197 args += [ "--split=${_rebased_apk_path_no_ext}-language-*.apk" ] |
2193 } | 2198 } |
2194 if (_load_library_from_apk) { | 2199 if (_load_library_from_apk) { |
2195 args += [ "--dont-even-try=Incremental builds do not work with load_libr ary_from_apk. Try setting is_component_build=true in your GN args." ] | 2200 args += [ "--dont-even-try=Incremental builds do not work with load_libr ary_from_apk. Try setting is_component_build=true in your GN args." ] |
2196 } | 2201 } |
2197 } | 2202 } |
2198 | 2203 |
2199 group(target_name) { | 2204 group(target_name) { |
2200 forward_variables_from(invoker, | 2205 _incremental_allowed = |
2201 [ | 2206 !(defined(invoker.never_incremental) && invoker.never_incremental) |
2202 "data", | 2207 if (_incremental_allowed && incremental_apk_by_default) { |
2203 "data_deps", | 2208 deps = [ |
2204 ]) | 2209 ":${target_name}_incremental", |
2205 public_deps = _final_deps | 2210 ] |
2211 } else { | |
2212 forward_variables_from(invoker, | |
2213 [ | |
2214 "data", | |
2215 "data_deps", | |
2216 ]) | |
2217 public_deps = _final_deps | |
2206 | 2218 |
2207 # Make the proguard .mapping file easy to find by putting it beside the .a pk. | 2219 # Make the proguard .mapping file easy to find by putting it beside the .apk. |
2208 if (_proguard_enabled) { | 2220 if (_proguard_enabled) { |
2209 deps = [ | 2221 deps = [ |
2210 ":$_copy_proguard_mapping_target", | 2222 ":$_copy_proguard_mapping_target", |
2211 ] | 2223 ] |
2224 } | |
2212 } | 2225 } |
2213 } | 2226 } |
2214 group("${target_name}_incremental") { | 2227 group("${target_name}_incremental") { |
agrieve
2016/12/14 15:53:03
Realized too - we should not define this target wh
estevenson
2016/12/14 22:26:03
Done.
| |
2215 forward_variables_from(invoker, | 2228 forward_variables_from(invoker, |
2216 [ | 2229 [ |
2217 "data", | 2230 "data", |
2218 "data_deps", | 2231 "data_deps", |
2219 ]) | 2232 ]) |
2220 if (!defined(data_deps)) { | 2233 if (!defined(data_deps)) { |
2221 data_deps = [] | 2234 data_deps = [] |
2222 } | 2235 } |
2223 | 2236 |
2224 # device/commands is used by the installer script to push files via .zip. | 2237 # device/commands is used by the installer script to push files via .zip. |
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
2275 # ] | 2288 # ] |
2276 # } | 2289 # } |
2277 template("instrumentation_test_apk") { | 2290 template("instrumentation_test_apk") { |
2278 assert(defined(invoker.apk_name)) | 2291 assert(defined(invoker.apk_name)) |
2279 testonly = true | 2292 testonly = true |
2280 _apk_target_name = "${target_name}__apk" | 2293 _apk_target_name = "${target_name}__apk" |
2281 _test_runner_target_name = "${target_name}__test_runner_script" | 2294 _test_runner_target_name = "${target_name}__test_runner_script" |
2282 _install_script_name = "install_$target_name" | 2295 _install_script_name = "install_$target_name" |
2283 _dist_ijar_path = | 2296 _dist_ijar_path = |
2284 "$root_build_dir/test.lib.java/" + invoker.apk_name + ".jar" | 2297 "$root_build_dir/test.lib.java/" + invoker.apk_name + ".jar" |
2298 _incremental_test_runner_target_name = | |
2299 "${_test_runner_target_name}_incremental" | |
2300 _incremental_test_name = "${invoker.target_name}_incremental" | |
2301 if (incremental_apk_by_default) { | |
2302 _incremental_test_runner_target_name = _test_runner_target_name | |
2303 _incremental_test_name = invoker.target_name | |
2304 } | |
2285 | 2305 |
2286 test_runner_script(_test_runner_target_name) { | 2306 if (!incremental_apk_by_default) { |
2307 test_runner_script(_test_runner_target_name) { | |
2308 forward_variables_from(invoker, | |
2309 [ | |
2310 "additional_apks", | |
2311 "apk_under_test", | |
2312 "data", | |
2313 "data_deps", | |
2314 "deps", | |
2315 "ignore_all_data_deps", | |
2316 "public_deps", | |
2317 ]) | |
2318 test_name = invoker.target_name | |
2319 test_type = "instrumentation" | |
2320 apk_target = ":$_apk_target_name" | |
2321 test_jar = _dist_ijar_path | |
2322 } | |
2323 } | |
2324 test_runner_script(_incremental_test_runner_target_name) { | |
2287 forward_variables_from(invoker, | 2325 forward_variables_from(invoker, |
2288 [ | 2326 [ |
2289 "additional_apks", | 2327 "additional_apks", |
2290 "apk_under_test", | |
2291 "data", | |
2292 "data_deps", | |
2293 "deps", | |
2294 "ignore_all_data_deps", | |
2295 "public_deps", | |
2296 ]) | |
2297 test_name = invoker.target_name | |
2298 test_type = "instrumentation" | |
2299 apk_target = ":$_apk_target_name" | |
2300 test_jar = _dist_ijar_path | |
2301 } | |
2302 | |
2303 test_runner_script("${_test_runner_target_name}_incremental") { | |
2304 forward_variables_from(invoker, | |
2305 [ | |
2306 "additional_apks", | |
2307 "apk_under_test", | 2328 "apk_under_test", |
2308 "data", | 2329 "data", |
2309 "data_deps", | 2330 "data_deps", |
2310 "deps", | 2331 "deps", |
2311 "ignore_all_data_deps", | 2332 "ignore_all_data_deps", |
2312 "public_deps", | 2333 "public_deps", |
2313 ]) | 2334 ]) |
2314 test_name = "${invoker.target_name}_incremental" | 2335 test_name = _incremental_test_name |
2315 test_type = "instrumentation" | 2336 test_type = "instrumentation" |
2316 apk_target = ":$_apk_target_name" | 2337 apk_target = ":$_apk_target_name" |
2317 test_jar = _dist_ijar_path | 2338 test_jar = _dist_ijar_path |
2318 incremental_install = true | 2339 incremental_install = true |
2319 } | 2340 } |
2320 | 2341 |
2321 android_apk(_apk_target_name) { | 2342 android_apk(_apk_target_name) { |
2322 deps = [] | 2343 deps = [] |
2323 data_deps = [] | 2344 data_deps = [] |
2324 forward_variables_from(invoker, "*") | 2345 forward_variables_from(invoker, "*") |
(...skipping 22 matching lines...) Expand all Loading... | |
2347 | 2368 |
2348 dist_ijar_path = _dist_ijar_path | 2369 dist_ijar_path = _dist_ijar_path |
2349 if (defined(invoker.run_findbugs_override)) { | 2370 if (defined(invoker.run_findbugs_override)) { |
2350 # Only allow findbugs when there are java files. | 2371 # Only allow findbugs when there are java files. |
2351 run_findbugs_override = | 2372 run_findbugs_override = |
2352 invoker.run_findbugs_override && defined(invoker.java_files) | 2373 invoker.run_findbugs_override && defined(invoker.java_files) |
2353 } | 2374 } |
2354 } | 2375 } |
2355 | 2376 |
2356 group(target_name) { | 2377 group(target_name) { |
2357 public_deps = [ | 2378 if (incremental_apk_by_default) { |
2358 ":$_apk_target_name", | 2379 deps = [ |
2359 ":$_test_runner_target_name", | 2380 ":${target_name}_incremental", |
2381 ] | |
2382 } else { | |
2383 public_deps = [ | |
2384 ":$_apk_target_name", | |
2385 ":$_test_runner_target_name", | |
2360 | 2386 |
2361 # Required by test runner to enumerate test list. | 2387 # Required by test runner to enumerate test list. |
2362 ":${_apk_target_name}_dist_ijar", | 2388 ":${_apk_target_name}_dist_ijar", |
2363 ] | 2389 ] |
2364 if (defined(invoker.apk_under_test)) { | 2390 if (defined(invoker.apk_under_test)) { |
2365 public_deps += [ invoker.apk_under_test ] | 2391 public_deps += [ invoker.apk_under_test ] |
2392 } | |
2366 } | 2393 } |
2367 } | 2394 } |
2368 | 2395 |
2369 # TODO: Delete once recipes no longer use this target. | 2396 # TODO: Delete once recipes no longer use this target. |
2370 group("${target_name}_run") { | 2397 group("${target_name}_run") { |
2371 public_deps = [ | 2398 public_deps = [ |
2372 ":${invoker.target_name}", | 2399 ":${invoker.target_name}", |
2373 ] | 2400 ] |
2374 } | 2401 } |
2375 group("${target_name}_incremental") { | 2402 group("${target_name}_incremental") { |
2376 public_deps = [ | 2403 public_deps = [ |
2404 ":$_incremental_test_runner_target_name", | |
2377 ":${_apk_target_name}_dist_ijar", | 2405 ":${_apk_target_name}_dist_ijar", |
2378 ":${_apk_target_name}_incremental", | 2406 ":${_apk_target_name}_incremental", |
2379 ":${_test_runner_target_name}_incremental", | |
2380 ] | 2407 ] |
2381 if (defined(invoker.apk_under_test)) { | 2408 if (defined(invoker.apk_under_test)) { |
2382 public_deps += [ "${invoker.apk_under_test}_incremental" ] | 2409 public_deps += [ "${invoker.apk_under_test}_incremental" ] |
2383 } | 2410 } |
2384 } | 2411 } |
2385 } | 2412 } |
2386 | 2413 |
2387 # Declare an Android gtest apk | 2414 # Declare an Android gtest apk |
2388 # | 2415 # |
2389 # This target creates an Android apk for running gtest-based unittests. | 2416 # This target creates an Android apk for running gtest-based unittests. |
(...skipping 392 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
2782 # because in practice they seem to contain classes required to be in the | 2809 # because in practice they seem to contain classes required to be in the |
2783 # classpath. | 2810 # classpath. |
2784 deps += _subjar_targets | 2811 deps += _subjar_targets |
2785 } | 2812 } |
2786 if (defined(_res_target_name)) { | 2813 if (defined(_res_target_name)) { |
2787 deps += [ ":$_res_target_name" ] | 2814 deps += [ ":$_res_target_name" ] |
2788 } | 2815 } |
2789 } | 2816 } |
2790 } | 2817 } |
2791 } | 2818 } |
OLD | NEW |