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

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

Issue 2562063003: Add incremental_apk_by_default GN arg. (Closed)
Patch Set: Rebase + add additional_apk comment Created 4 years 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 # 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
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
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
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
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
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
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 }
OLDNEW
« no previous file with comments | « build/config/android/config.gni ('k') | chrome/android/webapk/libs/runtime_library/javatests/apk_with_webapk_service/BUILD.gn » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698