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

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

Issue 1288023003: Create *_managed targets for android_apk()s (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: more forwarded vars Created 5 years, 4 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
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("//build/toolchain/toolchain.gni") 8 import("//build/toolchain/toolchain.gni")
9 import("//third_party/android_platform/config.gni") 9 import("//third_party/android_platform/config.gni")
10 import("//tools/grit/grit_rule.gni") 10 import("//tools/grit/grit_rule.gni")
(...skipping 1490 matching lines...) Expand 10 before | Expand all | Expand 10 after
1501 deps += invoker.deps 1501 deps += invoker.deps
1502 } 1502 }
1503 1503
1504 if (defined(invoker.apk_under_test)) { 1504 if (defined(invoker.apk_under_test)) {
1505 apk_under_test = invoker.apk_under_test 1505 apk_under_test = invoker.apk_under_test
1506 } 1506 }
1507 1507
1508 native_libs = _native_libs 1508 native_libs = _native_libs
1509 } 1509 }
1510 1510
1511 final_deps = [] 1511 _final_deps = []
1512 _managed_final_deps = []
1512 1513
1513 process_resources_target = "${_template_name}__process_resources" 1514 process_resources_target = "${_template_name}__process_resources"
1514 final_deps += [ ":$process_resources_target" ]
1515 process_resources(process_resources_target) { 1515 process_resources(process_resources_target) {
1516 srcjar_path = "${target_gen_dir}/${target_name}.srcjar" 1516 srcjar_path = "${target_gen_dir}/${target_name}.srcjar"
1517 r_text_path = "${target_gen_dir}/${target_name}_R.txt" 1517 r_text_path = "${target_gen_dir}/${target_name}_R.txt"
1518 android_manifest = _android_manifest 1518 android_manifest = _android_manifest
1519 resource_dirs = [ "//build/android/ant/empty/res" ] 1519 resource_dirs = [ "//build/android/ant/empty/res" ]
1520 zip_path = resources_zip_path 1520 zip_path = resources_zip_path
1521 all_resources_zip_path = _all_resources_zip_path 1521 all_resources_zip_path = _all_resources_zip_path
1522 generate_constant_ids = true 1522 generate_constant_ids = true
1523 1523
1524 if (defined(invoker.include_all_resources)) { 1524 if (defined(invoker.include_all_resources)) {
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
1566 defines += [ "ENABLE_CHROMIUM_LINKER_LIBRARY_IN_ZIP_FILE" ] 1566 defines += [ "ENABLE_CHROMIUM_LINKER_LIBRARY_IN_ZIP_FILE" ]
1567 } 1567 }
1568 if (_enable_chromium_linker_tests) { 1568 if (_enable_chromium_linker_tests) {
1569 defines += [ "ENABLE_CHROMIUM_LINKER_TESTS" ] 1569 defines += [ "ENABLE_CHROMIUM_LINKER_TESTS" ]
1570 } 1570 }
1571 } 1571 }
1572 _srcjar_deps += [ ":${_template_name}__native_libraries_java" ] 1572 _srcjar_deps += [ ":${_template_name}__native_libraries_java" ]
1573 } 1573 }
1574 1574
1575 java_target = "${_template_name}__java" 1575 java_target = "${_template_name}__java"
1576 final_deps += [ ":$java_target" ]
1577 java_library_impl(java_target) { 1576 java_library_impl(java_target) {
1578 supports_android = true 1577 supports_android = true
1579 requires_android = true 1578 requires_android = true
1580 override_build_config = _build_config 1579 override_build_config = _build_config
1581 deps = _android_manifest_deps + [ ":$build_config_target" ] 1580 deps = _android_manifest_deps + [ ":$build_config_target" ]
1582 1581
1583 android_manifest = _android_manifest 1582 android_manifest = _android_manifest
1584 chromium_code = true 1583 chromium_code = true
1585 if (defined(invoker.java_files)) { 1584 if (defined(invoker.java_files)) {
1586 java_files = invoker.java_files 1585 java_files = invoker.java_files
1587 } else if (defined(invoker.DEPRECATED_java_in_dir)) { 1586 } else if (defined(invoker.DEPRECATED_java_in_dir)) {
1588 DEPRECATED_java_in_dir = invoker.DEPRECATED_java_in_dir 1587 DEPRECATED_java_in_dir = invoker.DEPRECATED_java_in_dir
1589 } else { 1588 } else {
1590 java_files = [] 1589 java_files = []
1591 } 1590 }
1592 srcjar_deps = _srcjar_deps 1591 srcjar_deps = _srcjar_deps
1593 dex_path = base_path + ".dex.jar" 1592 dex_path = base_path + ".dex.jar"
1594 1593
1595 if (defined(invoker.deps)) { 1594 if (defined(invoker.deps)) {
1596 deps += invoker.deps 1595 deps += invoker.deps
1597 } 1596 }
1598 } 1597 }
1599 1598
1600 if (_dist_jar_path != "") { 1599 if (_dist_jar_path != "") {
1601 create_dist_target = "${_template_name}__create_dist_jar" 1600 create_dist_target = "${_template_name}__create_dist_jar"
1602 final_deps += [ ":$create_dist_target" ] 1601 _final_deps += [ ":$create_dist_target" ]
1602 _managed_final_deps += [ ":$create_dist_target" ]
1603 1603
1604 # TODO(cjhopman): This is only ever needed to calculate the list of tests to 1604 # TODO(cjhopman): This is only ever needed to calculate the list of tests to
1605 # run. See build/android/pylib/instrumentation/test_jar.py. We should be 1605 # run. See build/android/pylib/instrumentation/test_jar.py. We should be
1606 # able to just do that calculation at build time instead. 1606 # able to just do that calculation at build time instead.
1607 action(create_dist_target) { 1607 action(create_dist_target) {
1608 script = "//build/android/gyp/create_dist_jar.py" 1608 script = "//build/android/gyp/create_dist_jar.py"
1609 depfile = "$target_gen_dir/$target_name.d" 1609 depfile = "$target_gen_dir/$target_name.d"
1610 inputs = [ 1610 inputs = [
1611 _build_config, 1611 _build_config,
1612 ] 1612 ]
(...skipping 11 matching lines...) Expand all
1624 inputs += [ jar_path ] 1624 inputs += [ jar_path ]
1625 _rebased_jar_path = rebase_path([ jar_path ], root_build_dir) 1625 _rebased_jar_path = rebase_path([ jar_path ], root_build_dir)
1626 args += [ "--inputs=$_rebased_jar_path" ] 1626 args += [ "--inputs=$_rebased_jar_path" ]
1627 deps = [ 1627 deps = [
1628 ":$build_config_target", # Generates the build config file. 1628 ":$build_config_target", # Generates the build config file.
1629 ":$java_target", # Generates the jar file. 1629 ":$java_target", # Generates the jar file.
1630 ] 1630 ]
1631 } 1631 }
1632 } 1632 }
1633 1633
1634 final_deps += [ ":$final_dex_target_name" ]
1635 dex("$final_dex_target_name") { 1634 dex("$final_dex_target_name") {
1636 deps = [ 1635 deps = [
1637 ":$build_config_target", 1636 ":$build_config_target",
1638 ":$java_target", 1637 ":$java_target",
1639 ] 1638 ]
1640 sources = [ 1639 sources = [
1641 jar_path, 1640 jar_path,
1642 ] 1641 ]
1643 inputs = [ 1642 inputs = [
1644 _build_config, 1643 _build_config,
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
1700 } 1699 }
1701 1700
1702 if (is_debug) { 1701 if (is_debug) {
1703 rebased_gdbserver = rebase_path([ android_gdbserver ], root_build_dir) 1702 rebased_gdbserver = rebase_path([ android_gdbserver ], root_build_dir)
1704 inputs += [ android_gdbserver ] 1703 inputs += [ android_gdbserver ]
1705 args += [ "--libraries=$rebased_gdbserver" ] 1704 args += [ "--libraries=$rebased_gdbserver" ]
1706 } 1705 }
1707 } 1706 }
1708 } 1707 }
1709 1708
1710 final_deps += [ ":${_template_name}__create" ] 1709 _final_deps += [ ":${_template_name}__create" ]
1710 _managed_final_deps += [ ":${_template_name}__create_managed" ]
1711 create_apk("${_template_name}__create") { 1711 create_apk("${_template_name}__create") {
1712 apk_path = _final_apk_path 1712 apk_path = _final_apk_path
1713 android_manifest = _android_manifest 1713 android_manifest = _android_manifest
1714 resources_zip = _all_resources_zip_path 1714 resources_zip = _all_resources_zip_path
1715 dex_path = final_dex_path 1715 dex_path = final_dex_path
1716 load_library_from_apk = _load_library_from_apk 1716 load_library_from_apk = _load_library_from_apk
1717 create_density_splits = _create_density_splits 1717 create_density_splits = _create_density_splits
1718 if (defined(invoker.language_splits)) { 1718 if (defined(invoker.language_splits)) {
1719 language_splits = invoker.language_splits 1719 language_splits = invoker.language_splits
1720 } 1720 }
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
1764 _manifest_rule = "${_template_name}__split_manifest_abi_${android_app_abi}" 1764 _manifest_rule = "${_template_name}__split_manifest_abi_${android_app_abi}"
1765 generate_split_manifest(_manifest_rule) { 1765 generate_split_manifest(_manifest_rule) {
1766 main_manifest = _android_manifest 1766 main_manifest = _android_manifest
1767 out_manifest = 1767 out_manifest =
1768 "$gen_dir/split-manifests/${android_app_abi}/AndroidManifest.xml" 1768 "$gen_dir/split-manifests/${android_app_abi}/AndroidManifest.xml"
1769 split_name = "abi_${android_app_abi}" 1769 split_name = "abi_${android_app_abi}"
1770 deps = _android_manifest_deps 1770 deps = _android_manifest_deps
1771 } 1771 }
1772 1772
1773 _apk_rule = "${_template_name}__split_apk_abi_${android_app_abi}" 1773 _apk_rule = "${_template_name}__split_apk_abi_${android_app_abi}"
1774 final_deps += [ ":$_apk_rule" ] 1774 _final_deps += [ ":$_apk_rule" ]
1775 _managed_final_deps += [ ":${_apk_rule}_managed" ]
1775 create_apk(_apk_rule) { 1776 create_apk(_apk_rule) {
1776 _split_paths = process_file_template( 1777 _split_paths = process_file_template(
1777 [ _final_apk_path ], 1778 [ _final_apk_path ],
1778 "{{source_dir}}/{{source_name_part}}-abi-${android_app_abi}.apk") 1779 "{{source_dir}}/{{source_name_part}}-abi-${android_app_abi}.apk")
1779 apk_path = _split_paths[0] 1780 apk_path = _split_paths[0]
1780 base_path = "$gen_dir/$_apk_rule" 1781 base_path = "$gen_dir/$_apk_rule"
1781 1782
1782 manifest_outputs = get_target_outputs(":${_manifest_rule}") 1783 manifest_outputs = get_target_outputs(":${_manifest_rule}")
1783 android_manifest = manifest_outputs[1] 1784 android_manifest = manifest_outputs[1]
1784 load_library_from_apk = _load_library_from_apk 1785 load_library_from_apk = _load_library_from_apk
1785 1786
1786 version_code = _version_code 1787 version_code = _version_code
1787 version_name = _version_name 1788 version_name = _version_name
1788 1789
1789 keystore_name = _keystore_name 1790 keystore_name = _keystore_name
1790 keystore_path = _keystore_path 1791 keystore_path = _keystore_path
1791 keystore_password = _keystore_password 1792 keystore_password = _keystore_password
1792 1793
1793 native_libs_dir = _native_libs_dir 1794 native_libs_dir = _native_libs_dir
1794 deps = [ 1795 deps = [
1795 ":${_template_name}__prepare_native", 1796 ":${_template_name}__prepare_native",
1796 ":${_manifest_rule}", 1797 ":${_manifest_rule}",
1797 ] 1798 ]
1798 } 1799 }
1799 } 1800 }
1800 1801
1801 group(target_name) { 1802 group(target_name) {
1802 deps = final_deps 1803 deps = _final_deps
1803 if (defined(invoker.data_deps)) { 1804 if (defined(invoker.data_deps)) {
1804 data_deps = invoker.data_deps 1805 data_deps = invoker.data_deps
1805 } 1806 }
1807 }
1808 group("${target_name}_managed") {
1809 deps = _managed_final_deps
1810 if (defined(invoker.data_deps)) {
1811 data_deps = invoker.data_deps
1812 }
1806 } 1813 }
1807 } 1814 }
1808 1815
1809 # Declare an Android instrumentation test apk 1816 # Declare an Android instrumentation test apk
1810 # 1817 #
1811 # This target creates an Android instrumentation test apk. 1818 # This target creates an Android instrumentation test apk.
1812 # 1819 #
1813 # Variables 1820 # Variables
1814 # android_manifest: Path to AndroidManifest.xml. 1821 # android_manifest: Path to AndroidManifest.xml.
1815 # data_deps: List of dependencies needed at runtime. These will be built but 1822 # data_deps: List of dependencies needed at runtime. These will be built but
(...skipping 410 matching lines...) Expand 10 before | Expand all | Expand 10 after
2226 template("uiautomator_test") { 2233 template("uiautomator_test") {
2227 set_sources_assignment_filter([]) 2234 set_sources_assignment_filter([])
2228 if (defined(invoker.testonly)) { 2235 if (defined(invoker.testonly)) {
2229 testonly = invoker.testonly 2236 testonly = invoker.testonly
2230 } 2237 }
2231 assert(target_name != "") 2238 assert(target_name != "")
2232 assert(invoker.deps != [] || true) 2239 assert(invoker.deps != [] || true)
2233 group(target_name) { 2240 group(target_name) {
2234 } 2241 }
2235 } 2242 }
OLDNEW
« build/config/android/internal_rules.gni ('K') | « build/config/android/internal_rules.gni ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698