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("//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 Loading... |
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 Loading... |
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 Loading... |
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 Loading... |
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 Loading... |
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 Loading... |
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 } |
OLD | NEW |