GN: Some small changes to support chrome android internal stuff
This actually hooks up (i.e. passes from invoker) several variables controlling apk creation (version name, version code, use_relocation_packer, use_chromium_linker, unzip_libraries_from_apk). Adds support for overriding some configuration in the private repo. Adds support for public_configs in grit_rule.gni. Adds some junit targets (these are built as android libraries currently instead of host libraries, but that just means we do a bit extra work that we don't really need). BUG=359249 Review URL: https://codereview.chromium.org/659703002 Cr-Original-Commit-Position: refs/heads/master@{#301039} Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src Cr-Mirrored-Commit: ca675d3ec565477b2e3bae8b0709a412d029fa21
This commit is contained in:
Родитель
4fb6ebcbca
Коммит
aca1725e50
|
@ -5,12 +5,25 @@
|
|||
# This file contains common system config stuff for the Android build.
|
||||
|
||||
if (is_android) {
|
||||
has_chrome_android_internal = exec_script("//build/dir_exists.py",
|
||||
[ rebase_path("//clank", root_build_dir) ],
|
||||
"string") == "True"
|
||||
|
||||
if (has_chrome_android_internal) {
|
||||
import("//clank/config.gni")
|
||||
} else {
|
||||
default_android_sdk_root = "//third_party/android_tools/sdk"
|
||||
default_android_sdk_version = "21"
|
||||
default_android_sdk_build_tools_version = "21.0.0"
|
||||
}
|
||||
|
||||
declare_args() {
|
||||
# Absolute directory containing the Android source code.
|
||||
android_src = ""
|
||||
|
||||
android_sdk_root = "//third_party/android_tools/sdk"
|
||||
android_sdk_version = "21"
|
||||
android_sdk_root = default_android_sdk_root
|
||||
android_sdk_version = default_android_sdk_version
|
||||
android_sdk_build_tools_version = default_android_sdk_build_tools_version
|
||||
|
||||
# This is set when building the Android WebView inside the Android build
|
||||
# system, using the 'android' gyp backend. The WebView code is still built
|
||||
|
@ -32,7 +45,6 @@ if (is_android) {
|
|||
"You must specify android_src for an Android WebView build.")
|
||||
}
|
||||
|
||||
|
||||
# Host stuff -----------------------------------------------------------------
|
||||
|
||||
# Defines the name the Android build gives to the current host CPU
|
||||
|
@ -68,7 +80,7 @@ if (is_android) {
|
|||
android_sdk = "${android_sdk_root}/platforms/android-${android_sdk_version}"
|
||||
|
||||
android_sdk_tools = "${android_sdk_root}/tools"
|
||||
android_sdk_build_tools = "${android_sdk_root}/build-tools/21.0.0"
|
||||
android_sdk_build_tools = "${android_sdk_root}/build-tools/$android_sdk_build_tools_version"
|
||||
|
||||
# Path to the SDK's android.jar
|
||||
android_sdk_jar = "$android_sdk/android.jar"
|
||||
|
|
|
@ -253,8 +253,8 @@ template("create_apk") {
|
|||
_asset_location = invoker.asset_location
|
||||
}
|
||||
|
||||
_version_code = "1"
|
||||
_version_name = "Developer Build"
|
||||
_version_code = invoker.version_code
|
||||
_version_name = invoker.version_name
|
||||
|
||||
_base_apk_path = _base_path + ".apk_intermediates"
|
||||
|
||||
|
@ -557,7 +557,7 @@ template("android_java_library") {
|
|||
if (defined(invoker.testonly)) { testonly = invoker.testonly }
|
||||
|
||||
assert(defined(invoker.java_files) || defined(invoker.DEPRECATED_java_in_dir)
|
||||
|| defined(invoker.srcjars))
|
||||
|| defined(invoker.srcjars) || defined(invoker.srcjar_deps))
|
||||
assert(defined(invoker.build_config))
|
||||
assert(defined(invoker.jar_path))
|
||||
assert(defined(invoker.dex_path))
|
||||
|
|
|
@ -420,6 +420,8 @@ template("jinja_template_resources") {
|
|||
_build_config = _base_path + ".build_config"
|
||||
|
||||
write_build_config("${target_name}__build_config") {
|
||||
build_config = _build_config
|
||||
resources_zip = _resources_zip
|
||||
type = "android_resources"
|
||||
}
|
||||
|
||||
|
@ -679,7 +681,7 @@ template("android_library") {
|
|||
if (defined(invoker.testonly)) { testonly = invoker.testonly }
|
||||
|
||||
assert(defined(invoker.java_files) || defined(invoker.DEPRECATED_java_in_dir)
|
||||
|| defined(invoker.srcjars))
|
||||
|| defined(invoker.srcjars) || defined(invoker.srcjar_deps))
|
||||
_base_path = "$target_gen_dir/$target_name"
|
||||
_build_config = _base_path + ".build_config"
|
||||
_jar_path = _base_path + ".jar"
|
||||
|
@ -989,6 +991,12 @@ template("android_apk") {
|
|||
"$root_build_dir/lib.stripped/libchromium_android_linker.so"
|
||||
]
|
||||
}
|
||||
|
||||
_enable_relocation_packing = false
|
||||
if (_use_chromium_linker && defined(invoker.enable_relocation_packing) &&
|
||||
invoker.enable_relocation_packing) {
|
||||
_enable_relocation_packing = true
|
||||
}
|
||||
}
|
||||
|
||||
_rebased_build_config = rebase_path(build_config, root_build_dir)
|
||||
|
@ -1157,6 +1165,16 @@ template("android_apk") {
|
|||
dex_path = final_dex_path
|
||||
load_library_from_apk = _load_library_from_apk
|
||||
|
||||
version_code = "1"
|
||||
if (defined(invoker.version_code)) {
|
||||
version_code = invoker.version_code
|
||||
}
|
||||
|
||||
version_name = "Developer Build"
|
||||
if (defined(invoker.version_name)) {
|
||||
version_name = invoker.version_name
|
||||
}
|
||||
|
||||
if (defined(invoker.asset_location)) {
|
||||
asset_location = invoker.asset_location
|
||||
}
|
||||
|
|
|
@ -330,6 +330,10 @@ template("grit") {
|
|||
deps = [ ":$grit_custom_target" ]
|
||||
public_configs = [ ":$grit_config" ]
|
||||
|
||||
if (defined(invoker.public_configs)) {
|
||||
public_configs += invoker.public_configs
|
||||
}
|
||||
|
||||
if (defined(invoker.visibility)) {
|
||||
visibility = invoker.visibility
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче