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

Unified Diff: build/config/android/internal_rules.gni

Issue 778093004: GN + Android: extract android_standalone_library rule. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix write_build_config.py. Created 6 years 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « build/android/gyp/write_build_config.py ('k') | build/config/android/rules.gni » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: build/config/android/internal_rules.gni
diff --git a/build/config/android/internal_rules.gni b/build/config/android/internal_rules.gni
index ce6e4281883753a475433042f1727a28f64afdac..37727692965b6eb46ec368d23ab3bd5223129ca7 100644
--- a/build/config/android/internal_rules.gni
+++ b/build/config/android/internal_rules.gni
@@ -66,12 +66,13 @@ template("dex") {
testonly = invoker.testonly
}
- assert(defined(invoker.sources))
assert(defined(invoker.output))
action(target_name) {
script = "//build/android/gyp/dex.py"
depfile = "$target_gen_dir/$target_name.d"
- sources = invoker.sources
+ if (defined(invoker.sources)) {
+ sources = invoker.sources
+ }
outputs = [
depfile,
invoker.output,
@@ -103,7 +104,9 @@ template("dex") {
args += invoker.args
}
- args += rebase_path(invoker.sources, root_build_dir)
+ if (defined(invoker.sources)) {
+ args += rebase_path(invoker.sources, root_build_dir)
+ }
}
}
@@ -163,7 +166,7 @@ template("write_build_config") {
build_config = invoker.build_config
assert(type == "android_apk" || type == "java_library" ||
- type == "android_resources")
+ type == "android_resources" || type == "deps_dex")
action(target_name) {
script = "//build/android/gyp/write_build_config.py"
@@ -201,11 +204,12 @@ template("write_build_config") {
is_java_library = type == "java_library"
is_apk = type == "android_apk"
is_android_resources = type == "android_resources"
+ is_deps_dex = type == "deps_dex"
- supports_android = is_apk || is_android_resources ||
+ supports_android = is_apk || is_android_resources || is_deps_dex ||
(is_java_library && defined(invoker.supports_android) &&
invoker.supports_android)
- requires_android = is_apk || is_android_resources ||
+ requires_android = is_apk || is_android_resources || is_deps_dex ||
(is_java_library && defined(invoker.requires_android) &&
invoker.requires_android)
@@ -216,6 +220,7 @@ template("write_build_config") {
assert(is_java_library || true)
assert(is_apk || true)
assert(is_android_resources || true)
+ assert(is_deps_dex || true)
if (is_java_library || is_apk) {
args += [
@@ -224,7 +229,7 @@ template("write_build_config") {
]
}
- if (is_apk || (is_java_library && supports_android)) {
+ if (is_apk || is_deps_dex || (is_java_library && supports_android)) {
args += [
"--dex-path",
rebase_path(invoker.dex_path, root_build_dir),
@@ -898,22 +903,6 @@ template("java_library_impl") {
]
output = _dex_path
}
-
- if (defined(invoker.standalone_dex_path)) {
- _final_deps += [ ":${_template_name}__standalone_dex" ]
- _rebased_build_config = rebase_path(_build_config, root_build_dir)
- dex("${_template_name}__standalone_dex") {
- sources = [
- _jar_path,
- ]
- inputs = [
- _build_config,
- ]
- output = invoker.standalone_dex_path
- dex_arg_key = "${_rebased_build_config}:final_dex:dependency_dex_files"
- args = [ "--inputs=@FileArg($dex_arg_key)" ]
- }
- }
}
group(target_name) {
@@ -1061,3 +1050,25 @@ template("copy_ex") {
}
}
}
+
+# Produces a single .dex.jar out of a set of Java dependencies.
+template("deps_dex") {
+ build_config = "$target_gen_dir/${target_name}.build_config"
+ write_build_config("${target_name}__build_config") {
+ type = "deps_dex"
+ deps = invoker.deps
+
+ build_config = build_config
+ dex_path = invoker.dex_path
+ }
+
+ rebased_build_config = rebase_path(build_config, root_build_dir)
+ dex(target_name) {
+ inputs = [
+ build_config,
+ ]
+ output = invoker.dex_path
+ dex_arg_key = "${rebased_build_config}:final_dex:dependency_dex_files"
+ args = [ "--inputs=@FileArg($dex_arg_key)" ]
+ }
+}
« no previous file with comments | « build/android/gyp/write_build_config.py ('k') | build/config/android/rules.gni » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698