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 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 1186 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1197 if (defined(invoker.testonly)) { | 1197 if (defined(invoker.testonly)) { |
1198 testonly = invoker.testonly | 1198 testonly = invoker.testonly |
1199 } | 1199 } |
1200 | 1200 |
1201 assert(defined(invoker.final_apk_path) || defined(invoker.apk_name)) | 1201 assert(defined(invoker.final_apk_path) || defined(invoker.apk_name)) |
1202 assert(defined(invoker.android_manifest)) | 1202 assert(defined(invoker.android_manifest)) |
1203 gen_dir = "$target_gen_dir/$target_name" | 1203 gen_dir = "$target_gen_dir/$target_name" |
1204 base_path = "$gen_dir/$target_name" | 1204 base_path = "$gen_dir/$target_name" |
1205 _build_config = "$target_gen_dir/$target_name.build_config" | 1205 _build_config = "$target_gen_dir/$target_name.build_config" |
1206 resources_zip_path = "$base_path.resources.zip" | 1206 resources_zip_path = "$base_path.resources.zip" |
1207 all_resources_zip_path = "$base_path.resources.all.zip" | 1207 _all_resources_zip_path = "$base_path.resources.all.zip" |
1208 jar_path = "$base_path.jar" | 1208 jar_path = "$base_path.jar" |
1209 final_dex_path = "$gen_dir/classes.dex" | 1209 final_dex_path = "$gen_dir/classes.dex" |
1210 _template_name = target_name | 1210 _template_name = target_name |
1211 _final_apk_path = "" | 1211 _final_apk_path = "" |
1212 if (defined(invoker.final_apk_path)) { | 1212 if (defined(invoker.final_apk_path)) { |
1213 _final_apk_path = invoker.final_apk_path | 1213 _final_apk_path = invoker.final_apk_path |
1214 } else if (defined(invoker.apk_name)) { | 1214 } else if (defined(invoker.apk_name)) { |
1215 _final_apk_path = "$root_build_dir/apks/" + invoker.apk_name + ".apk" | 1215 _final_apk_path = "$root_build_dir/apks/" + invoker.apk_name + ".apk" |
1216 } | 1216 } |
1217 _dist_jar_path_list = | 1217 _dist_jar_path_list = |
1218 process_file_template( | 1218 process_file_template( |
1219 [ _final_apk_path ], | 1219 [ _final_apk_path ], |
1220 "$root_build_dir/test.lib.java/{{source_name_part}}.jar") | 1220 "$root_build_dir/test.lib.java/{{source_name_part}}.jar") |
1221 _dist_jar_path = _dist_jar_path_list[0] | 1221 _dist_jar_path = _dist_jar_path_list[0] |
1222 | 1222 |
1223 _native_libs = [] | 1223 _native_libs = [] |
1224 | 1224 |
1225 _version_code = "1" | |
1226 if (defined(invoker.version_code)) { | |
1227 _version_code = invoker.version_code | |
1228 } | |
1229 | |
1230 _version_name = "Developer Build" | |
1231 if (defined(invoker.version_name)) { | |
1232 _version_name = invoker.version_name | |
1233 } | |
1225 _keystore_path = android_default_keystore_path | 1234 _keystore_path = android_default_keystore_path |
1226 _keystore_name = android_default_keystore_name | 1235 _keystore_name = android_default_keystore_name |
1227 _keystore_password = android_default_keystore_password | 1236 _keystore_password = android_default_keystore_password |
1228 | 1237 |
1229 if (defined(invoker.keystore_path)) { | 1238 if (defined(invoker.keystore_path)) { |
1230 _keystore_path = invoker.keystore_path | 1239 _keystore_path = invoker.keystore_path |
1231 _keystore_name = invoker.keystore_name | 1240 _keystore_name = invoker.keystore_name |
1232 _keystore_password = invoker.keystore_password | 1241 _keystore_password = invoker.keystore_password |
1233 } | 1242 } |
1234 | 1243 |
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1280 } | 1289 } |
1281 | 1290 |
1282 _native_lib_version_name = "" | 1291 _native_lib_version_name = "" |
1283 if (defined(invoker.native_lib_version_name)) { | 1292 if (defined(invoker.native_lib_version_name)) { |
1284 _native_lib_version_name = invoker.native_lib_version_name | 1293 _native_lib_version_name = invoker.native_lib_version_name |
1285 } | 1294 } |
1286 } | 1295 } |
1287 | 1296 |
1288 _android_manifest = invoker.android_manifest | 1297 _android_manifest = invoker.android_manifest |
1289 _rebased_build_config = rebase_path(_build_config, root_build_dir) | 1298 _rebased_build_config = rebase_path(_build_config, root_build_dir) |
1299 _create_abi_split = | |
1300 defined(invoker.create_abi_split) && invoker.create_abi_split | |
1301 | |
1302 # Assert to avoid error: | |
1303 # You set the variable "create_abi_split" here and it was unused before it | |
1304 # went out of scope. | |
cjhopman
2015/05/16 01:31:10
I'd just do:
# Mark _create_abi_split as used
ass
agrieve
2015/05/16 02:21:40
It's not obvious to my why that would be better.
cjhopman
2015/05/16 02:29:07
I think such a short comment is more typical when
agrieve
2015/05/17 02:06:10
Fair enough! :)
| |
1305 assert(_create_abi_split || !_create_abi_split) | |
1290 | 1306 |
1291 write_build_config("${_template_name}__build_config") { | 1307 write_build_config("${_template_name}__build_config") { |
1292 type = "android_apk" | 1308 type = "android_apk" |
1293 dex_path = final_dex_path | 1309 dex_path = final_dex_path |
1294 resources_zip = resources_zip_path | 1310 resources_zip = resources_zip_path |
1295 build_config = _build_config | 1311 build_config = _build_config |
1296 android_manifest = _android_manifest | 1312 android_manifest = _android_manifest |
1297 | 1313 |
1298 if (defined(invoker.deps)) { | 1314 if (defined(invoker.deps)) { |
1299 deps = invoker.deps | 1315 deps = invoker.deps |
1300 } | 1316 } |
1301 | 1317 |
1302 if (defined(invoker.apk_under_test)) { | 1318 if (defined(invoker.apk_under_test)) { |
1303 apk_under_test = invoker.apk_under_test | 1319 apk_under_test = invoker.apk_under_test |
1304 } | 1320 } |
1305 | 1321 |
1306 native_libs = _native_libs | 1322 native_libs = _native_libs |
1307 } | 1323 } |
1308 | 1324 |
1309 final_deps = [] | 1325 final_deps = [] |
1310 | 1326 |
1311 final_deps += [ ":${_template_name}__process_resources" ] | 1327 final_deps += [ ":${_template_name}__process_resources" ] |
1312 process_resources("${_template_name}__process_resources") { | 1328 process_resources("${_template_name}__process_resources") { |
1313 srcjar_path = "${target_gen_dir}/${target_name}.srcjar" | 1329 srcjar_path = "${target_gen_dir}/${target_name}.srcjar" |
1314 r_text_path = "${target_gen_dir}/${target_name}_R.txt" | 1330 r_text_path = "${target_gen_dir}/${target_name}_R.txt" |
1315 android_manifest = _android_manifest | 1331 android_manifest = _android_manifest |
1316 resource_dirs = [ "//build/android/ant/empty/res" ] | 1332 resource_dirs = [ "//build/android/ant/empty/res" ] |
1317 zip_path = resources_zip_path | 1333 zip_path = resources_zip_path |
1334 all_resources_zip_path = _all_resources_zip_path | |
1318 generate_constant_ids = true | 1335 generate_constant_ids = true |
1319 build_config = _build_config | 1336 build_config = _build_config |
1320 | 1337 |
1321 if (defined(invoker.include_all_resources)) { | 1338 if (defined(invoker.include_all_resources)) { |
1322 include_all_resources = invoker.include_all_resources | 1339 include_all_resources = invoker.include_all_resources |
1323 } | 1340 } |
1324 } | 1341 } |
1325 _srcjar_deps += [ ":${_template_name}__process_resources" ] | 1342 _srcjar_deps += [ ":${_template_name}__process_resources" ] |
1326 | 1343 |
1327 if (_native_libs != []) { | 1344 if (_native_libs != []) { |
(...skipping 136 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1464 inputs += [ android_gdbserver ] | 1481 inputs += [ android_gdbserver ] |
1465 args += [ "--libraries=$rebased_gdbserver" ] | 1482 args += [ "--libraries=$rebased_gdbserver" ] |
1466 } | 1483 } |
1467 } | 1484 } |
1468 } | 1485 } |
1469 | 1486 |
1470 final_deps += [ ":${_template_name}__create" ] | 1487 final_deps += [ ":${_template_name}__create" ] |
1471 create_apk("${_template_name}__create") { | 1488 create_apk("${_template_name}__create") { |
1472 apk_path = _final_apk_path | 1489 apk_path = _final_apk_path |
1473 android_manifest = _android_manifest | 1490 android_manifest = _android_manifest |
1474 resources_zip = all_resources_zip_path | 1491 resources_zip = _all_resources_zip_path |
1475 dex_path = final_dex_path | 1492 dex_path = final_dex_path |
1476 load_library_from_apk = _load_library_from_apk | 1493 load_library_from_apk = _load_library_from_apk |
1477 | 1494 |
1478 version_code = "1" | 1495 version_code = _version_code |
1479 if (defined(invoker.version_code)) { | 1496 version_name = _version_name |
1480 version_code = invoker.version_code | |
1481 } | |
1482 | |
1483 version_name = "Developer Build" | |
1484 if (defined(invoker.version_name)) { | |
1485 version_name = invoker.version_name | |
1486 } | |
1487 | 1497 |
1488 keystore_name = _keystore_name | 1498 keystore_name = _keystore_name |
1489 keystore_path = _keystore_path | 1499 keystore_path = _keystore_path |
1490 keystore_password = _keystore_password | 1500 keystore_password = _keystore_password |
1491 | 1501 |
1492 deps = [] | 1502 deps = [] |
1493 if (defined(invoker.asset_location)) { | 1503 if (defined(invoker.asset_location)) { |
1494 asset_location = invoker.asset_location | 1504 asset_location = invoker.asset_location |
1495 | 1505 |
1496 # We don't know the exact dependencies that create the assets in | 1506 # We don't know the exact dependencies that create the assets in |
1497 # |asset_location|; we depend on all caller deps until a better solution | 1507 # |asset_location|; we depend on all caller deps until a better solution |
1498 # is figured out (http://crbug.com/433330). | 1508 # is figured out (http://crbug.com/433330). |
1499 if (defined(invoker.deps)) { | 1509 if (defined(invoker.deps)) { |
1500 deps += invoker.deps | 1510 deps += invoker.deps |
1501 } | 1511 } |
1502 } | 1512 } |
1503 | 1513 |
1504 if (_native_libs != []) { | 1514 if (_native_libs != [] && !_create_abi_split) { |
1505 native_libs_dir = _native_libs_dir | 1515 native_libs_dir = _native_libs_dir |
1506 deps += [ ":${_template_name}__prepare_native" ] | 1516 deps += [ ":${_template_name}__prepare_native" ] |
1507 } | 1517 } |
1508 } | 1518 } |
1509 | 1519 |
1520 if (_native_libs != [] && _create_abi_split) { | |
1521 _manifest_rule = "${_template_name}__split_manifest_abi_${android_app_abi}" | |
1522 generate_split_manifest(_manifest_rule) { | |
1523 main_manifest = _android_manifest | |
1524 out_manifest = | |
1525 "$gen_dir/split-manifests/${android_app_abi}/AndroidManifest.xml" | |
1526 split_name = "abi_${android_app_abi}" | |
1527 } | |
1528 | |
1529 _apk_rule = "${_template_name}__split_apk_abi_${android_app_abi}" | |
1530 final_deps += [ ":$_apk_rule" ] | |
1531 create_apk(_apk_rule) { | |
1532 _split_paths = process_file_template( | |
1533 [ _final_apk_path ], | |
1534 "{{source_dir}}/{{source_name_part}}-abi-${android_app_abi}.apk") | |
1535 apk_path = _split_paths[0] | |
1536 base_path = "$gen_dir/$_apk_rule" | |
1537 | |
1538 manifest_outputs = get_target_outputs(":${_manifest_rule}") | |
1539 android_manifest = manifest_outputs[1] | |
1540 load_library_from_apk = _load_library_from_apk | |
1541 | |
1542 version_code = _version_code | |
1543 version_name = _version_name | |
1544 | |
1545 keystore_name = _keystore_name | |
1546 keystore_path = _keystore_path | |
1547 keystore_password = _keystore_password | |
1548 | |
1549 native_libs_dir = _native_libs_dir | |
1550 deps = [ | |
1551 ":${_template_name}__prepare_native", | |
1552 ] | |
1553 } | |
1554 } | |
1555 | |
1510 group(target_name) { | 1556 group(target_name) { |
1511 deps = final_deps | 1557 deps = final_deps |
1512 if (defined(invoker.datadeps)) { | 1558 if (defined(invoker.datadeps)) { |
1513 datadeps = invoker.datadeps | 1559 datadeps = invoker.datadeps |
1514 } | 1560 } |
1515 } | 1561 } |
1516 } | 1562 } |
1517 | 1563 |
1518 # Declare an Android gtest apk | 1564 # Declare an Android gtest apk |
1519 # | 1565 # |
(...skipping 293 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1813 template("uiautomator_test") { | 1859 template("uiautomator_test") { |
1814 set_sources_assignment_filter([]) | 1860 set_sources_assignment_filter([]) |
1815 if (defined(invoker.testonly)) { | 1861 if (defined(invoker.testonly)) { |
1816 testonly = invoker.testonly | 1862 testonly = invoker.testonly |
1817 } | 1863 } |
1818 assert(target_name != "") | 1864 assert(target_name != "") |
1819 assert(invoker.deps != [] || true) | 1865 assert(invoker.deps != [] || true) |
1820 group(target_name) { | 1866 group(target_name) { |
1821 } | 1867 } |
1822 } | 1868 } |
OLD | NEW |