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:
cjhopman 2014-10-23 20:50:45 -07:00 коммит произвёл Commit bot
Родитель 4fb6ebcbca
Коммит aca1725e50
4 изменённых файлов: 42 добавлений и 8 удалений

Просмотреть файл

@ -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
}