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

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

Issue 1137313003: Add use_apk_split parameter to java_apk.gypi / android_apk (gn) (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@package_resources
Patch Set: Address style nits. Created 5 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
« no previous file with comments | « build/android/finalize_apk_action.gypi ('k') | build/java_apk.gypi » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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("//base/android/linker/config.gni") 5 import("//base/android/linker/config.gni")
6 import("//build/config/android/config.gni") 6 import("//build/config/android/config.gni")
7 import("//build/config/android/internal_rules.gni") 7 import("//build/config/android/internal_rules.gni")
8 import("//tools/grit/grit_rule.gni") 8 import("//tools/grit/grit_rule.gni")
9 import("//tools/relocation_packer/config.gni") 9 import("//tools/relocation_packer/config.gni")
10 10
(...skipping 1190 matching lines...) Expand 10 before | Expand all | Expand 10 after
1201 if (defined(invoker.testonly)) { 1201 if (defined(invoker.testonly)) {
1202 testonly = invoker.testonly 1202 testonly = invoker.testonly
1203 } 1203 }
1204 1204
1205 assert(defined(invoker.final_apk_path) || defined(invoker.apk_name)) 1205 assert(defined(invoker.final_apk_path) || defined(invoker.apk_name))
1206 assert(defined(invoker.android_manifest)) 1206 assert(defined(invoker.android_manifest))
1207 gen_dir = "$target_gen_dir/$target_name" 1207 gen_dir = "$target_gen_dir/$target_name"
1208 base_path = "$gen_dir/$target_name" 1208 base_path = "$gen_dir/$target_name"
1209 _build_config = "$target_gen_dir/$target_name.build_config" 1209 _build_config = "$target_gen_dir/$target_name.build_config"
1210 resources_zip_path = "$base_path.resources.zip" 1210 resources_zip_path = "$base_path.resources.zip"
1211 all_resources_zip_path = "$base_path.resources.all.zip" 1211 _all_resources_zip_path = "$base_path.resources.all.zip"
1212 jar_path = "$base_path.jar" 1212 jar_path = "$base_path.jar"
1213 final_dex_path = "$gen_dir/classes.dex" 1213 final_dex_path = "$gen_dir/classes.dex"
1214 _template_name = target_name 1214 _template_name = target_name
1215 _final_apk_path = "" 1215 _final_apk_path = ""
1216 if (defined(invoker.final_apk_path)) { 1216 if (defined(invoker.final_apk_path)) {
1217 _final_apk_path = invoker.final_apk_path 1217 _final_apk_path = invoker.final_apk_path
1218 } else if (defined(invoker.apk_name)) { 1218 } else if (defined(invoker.apk_name)) {
1219 _final_apk_path = "$root_build_dir/apks/" + invoker.apk_name + ".apk" 1219 _final_apk_path = "$root_build_dir/apks/" + invoker.apk_name + ".apk"
1220 } 1220 }
1221 _dist_jar_path_list = 1221 _dist_jar_path_list =
1222 process_file_template( 1222 process_file_template(
1223 [ _final_apk_path ], 1223 [ _final_apk_path ],
1224 "$root_build_dir/test.lib.java/{{source_name_part}}.jar") 1224 "$root_build_dir/test.lib.java/{{source_name_part}}.jar")
1225 _dist_jar_path = _dist_jar_path_list[0] 1225 _dist_jar_path = _dist_jar_path_list[0]
1226 1226
1227 _native_libs = [] 1227 _native_libs = []
1228 1228
1229 _version_code = "1"
1230 if (defined(invoker.version_code)) {
1231 _version_code = invoker.version_code
1232 }
1233
1234 _version_name = "Developer Build"
1235 if (defined(invoker.version_name)) {
1236 _version_name = invoker.version_name
1237 }
1229 _keystore_path = android_default_keystore_path 1238 _keystore_path = android_default_keystore_path
1230 _keystore_name = android_default_keystore_name 1239 _keystore_name = android_default_keystore_name
1231 _keystore_password = android_default_keystore_password 1240 _keystore_password = android_default_keystore_password
1232 1241
1233 if (defined(invoker.keystore_path)) { 1242 if (defined(invoker.keystore_path)) {
1234 _keystore_path = invoker.keystore_path 1243 _keystore_path = invoker.keystore_path
1235 _keystore_name = invoker.keystore_name 1244 _keystore_name = invoker.keystore_name
1236 _keystore_password = invoker.keystore_password 1245 _keystore_password = invoker.keystore_password
1237 } 1246 }
1238 1247
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
1284 } 1293 }
1285 1294
1286 _native_lib_version_name = "" 1295 _native_lib_version_name = ""
1287 if (defined(invoker.native_lib_version_name)) { 1296 if (defined(invoker.native_lib_version_name)) {
1288 _native_lib_version_name = invoker.native_lib_version_name 1297 _native_lib_version_name = invoker.native_lib_version_name
1289 } 1298 }
1290 } 1299 }
1291 1300
1292 _android_manifest = invoker.android_manifest 1301 _android_manifest = invoker.android_manifest
1293 _rebased_build_config = rebase_path(_build_config, root_build_dir) 1302 _rebased_build_config = rebase_path(_build_config, root_build_dir)
1303 _create_abi_split =
1304 defined(invoker.create_abi_split) && invoker.create_abi_split
1305
1306 # Help GN understand that _create_abi_split is not unused (bug in GN).
1307 assert(_create_abi_split || true)
1294 1308
1295 write_build_config("${_template_name}__build_config") { 1309 write_build_config("${_template_name}__build_config") {
1296 type = "android_apk" 1310 type = "android_apk"
1297 dex_path = final_dex_path 1311 dex_path = final_dex_path
1298 resources_zip = resources_zip_path 1312 resources_zip = resources_zip_path
1299 build_config = _build_config 1313 build_config = _build_config
1300 android_manifest = _android_manifest 1314 android_manifest = _android_manifest
1301 1315
1302 if (defined(invoker.deps)) { 1316 if (defined(invoker.deps)) {
1303 deps = invoker.deps 1317 deps = invoker.deps
1304 } 1318 }
1305 1319
1306 if (defined(invoker.apk_under_test)) { 1320 if (defined(invoker.apk_under_test)) {
1307 apk_under_test = invoker.apk_under_test 1321 apk_under_test = invoker.apk_under_test
1308 } 1322 }
1309 1323
1310 native_libs = _native_libs 1324 native_libs = _native_libs
1311 } 1325 }
1312 1326
1313 final_deps = [] 1327 final_deps = []
1314 1328
1315 final_deps += [ ":${_template_name}__process_resources" ] 1329 final_deps += [ ":${_template_name}__process_resources" ]
1316 process_resources("${_template_name}__process_resources") { 1330 process_resources("${_template_name}__process_resources") {
1317 srcjar_path = "${target_gen_dir}/${target_name}.srcjar" 1331 srcjar_path = "${target_gen_dir}/${target_name}.srcjar"
1318 r_text_path = "${target_gen_dir}/${target_name}_R.txt" 1332 r_text_path = "${target_gen_dir}/${target_name}_R.txt"
1319 android_manifest = _android_manifest 1333 android_manifest = _android_manifest
1320 resource_dirs = [ "//build/android/ant/empty/res" ] 1334 resource_dirs = [ "//build/android/ant/empty/res" ]
1321 zip_path = resources_zip_path 1335 zip_path = resources_zip_path
1336 all_resources_zip_path = _all_resources_zip_path
1322 generate_constant_ids = true 1337 generate_constant_ids = true
1323 build_config = _build_config 1338 build_config = _build_config
1324 1339
1325 if (defined(invoker.include_all_resources)) { 1340 if (defined(invoker.include_all_resources)) {
1326 include_all_resources = invoker.include_all_resources 1341 include_all_resources = invoker.include_all_resources
1327 } 1342 }
1328 } 1343 }
1329 _srcjar_deps += [ ":${_template_name}__process_resources" ] 1344 _srcjar_deps += [ ":${_template_name}__process_resources" ]
1330 1345
1331 if (_native_libs != []) { 1346 if (_native_libs != []) {
(...skipping 136 matching lines...) Expand 10 before | Expand all | Expand 10 after
1468 inputs += [ android_gdbserver ] 1483 inputs += [ android_gdbserver ]
1469 args += [ "--libraries=$rebased_gdbserver" ] 1484 args += [ "--libraries=$rebased_gdbserver" ]
1470 } 1485 }
1471 } 1486 }
1472 } 1487 }
1473 1488
1474 final_deps += [ ":${_template_name}__create" ] 1489 final_deps += [ ":${_template_name}__create" ]
1475 create_apk("${_template_name}__create") { 1490 create_apk("${_template_name}__create") {
1476 apk_path = _final_apk_path 1491 apk_path = _final_apk_path
1477 android_manifest = _android_manifest 1492 android_manifest = _android_manifest
1478 resources_zip = all_resources_zip_path 1493 resources_zip = _all_resources_zip_path
1479 dex_path = final_dex_path 1494 dex_path = final_dex_path
1480 load_library_from_apk = _load_library_from_apk 1495 load_library_from_apk = _load_library_from_apk
1481 1496
1482 version_code = "1" 1497 version_code = _version_code
1483 if (defined(invoker.version_code)) { 1498 version_name = _version_name
1484 version_code = invoker.version_code
1485 }
1486
1487 version_name = "Developer Build"
1488 if (defined(invoker.version_name)) {
1489 version_name = invoker.version_name
1490 }
1491 1499
1492 keystore_name = _keystore_name 1500 keystore_name = _keystore_name
1493 keystore_path = _keystore_path 1501 keystore_path = _keystore_path
1494 keystore_password = _keystore_password 1502 keystore_password = _keystore_password
1495 1503
1496 deps = [] 1504 deps = []
1497 if (defined(invoker.asset_location)) { 1505 if (defined(invoker.asset_location)) {
1498 asset_location = invoker.asset_location 1506 asset_location = invoker.asset_location
1499 1507
1500 # We don't know the exact dependencies that create the assets in 1508 # We don't know the exact dependencies that create the assets in
1501 # |asset_location|; we depend on all caller deps until a better solution 1509 # |asset_location|; we depend on all caller deps until a better solution
1502 # is figured out (http://crbug.com/433330). 1510 # is figured out (http://crbug.com/433330).
1503 if (defined(invoker.deps)) { 1511 if (defined(invoker.deps)) {
1504 deps += invoker.deps 1512 deps += invoker.deps
1505 } 1513 }
1506 } 1514 }
1507 1515
1508 if (_native_libs != []) { 1516 if (_native_libs != [] && !_create_abi_split) {
1509 native_libs_dir = _native_libs_dir 1517 native_libs_dir = _native_libs_dir
1510 deps += [ ":${_template_name}__prepare_native" ] 1518 deps += [ ":${_template_name}__prepare_native" ]
1511 } 1519 }
1512 } 1520 }
1513 1521
1522 if (_native_libs != [] && _create_abi_split) {
1523 _manifest_rule = "${_template_name}__split_manifest_abi_${android_app_abi}"
1524 generate_split_manifest(_manifest_rule) {
1525 main_manifest = _android_manifest
1526 out_manifest =
1527 "$gen_dir/split-manifests/${android_app_abi}/AndroidManifest.xml"
1528 split_name = "abi_${android_app_abi}"
1529 }
1530
1531 _apk_rule = "${_template_name}__split_apk_abi_${android_app_abi}"
1532 final_deps += [ ":$_apk_rule" ]
1533 create_apk(_apk_rule) {
1534 _split_paths = process_file_template(
1535 [ _final_apk_path ],
1536 "{{source_dir}}/{{source_name_part}}-abi-${android_app_abi}.apk")
1537 apk_path = _split_paths[0]
1538 base_path = "$gen_dir/$_apk_rule"
1539
1540 manifest_outputs = get_target_outputs(":${_manifest_rule}")
1541 android_manifest = manifest_outputs[1]
1542 load_library_from_apk = _load_library_from_apk
1543
1544 version_code = _version_code
1545 version_name = _version_name
1546
1547 keystore_name = _keystore_name
1548 keystore_path = _keystore_path
1549 keystore_password = _keystore_password
1550
1551 native_libs_dir = _native_libs_dir
1552 deps = [
1553 ":${_template_name}__prepare_native",
1554 ]
1555 }
1556 }
1557
1514 group(target_name) { 1558 group(target_name) {
1515 deps = final_deps 1559 deps = final_deps
1516 if (defined(invoker.datadeps)) { 1560 if (defined(invoker.datadeps)) {
1517 datadeps = invoker.datadeps 1561 datadeps = invoker.datadeps
1518 } 1562 }
1519 } 1563 }
1520 } 1564 }
1521 1565
1522 # Declare an Android gtest apk 1566 # Declare an Android gtest apk
1523 # 1567 #
(...skipping 295 matching lines...) Expand 10 before | Expand all | Expand 10 after
1819 template("uiautomator_test") { 1863 template("uiautomator_test") {
1820 set_sources_assignment_filter([]) 1864 set_sources_assignment_filter([])
1821 if (defined(invoker.testonly)) { 1865 if (defined(invoker.testonly)) {
1822 testonly = invoker.testonly 1866 testonly = invoker.testonly
1823 } 1867 }
1824 assert(target_name != "") 1868 assert(target_name != "")
1825 assert(invoker.deps != [] || true) 1869 assert(invoker.deps != [] || true)
1826 group(target_name) { 1870 group(target_name) {
1827 } 1871 }
1828 } 1872 }
OLDNEW
« no previous file with comments | « build/android/finalize_apk_action.gypi ('k') | build/java_apk.gypi » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698