Chromium Code Reviews| 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 |