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

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

Issue 1133013003: Enable proguard for apks (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@javac-no-java
Patch Set: Created 5 years, 7 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 side-by-side diff with in-line comments
Download patch
Index: build/config/android/internal_rules.gni
diff --git a/build/config/android/internal_rules.gni b/build/config/android/internal_rules.gni
index 616e4f958febb16e3f59bacad3670e996bd8f838..2d3f528d278932d7d8cdf5520f4128ef82623512 100644
--- a/build/config/android/internal_rules.gni
+++ b/build/config/android/internal_rules.gni
@@ -15,17 +15,16 @@ android_sdk_jar = "$android_sdk/android.jar"
rebased_android_sdk_jar = rebase_path(android_sdk_jar, root_build_dir)
template("android_lint") {
- set_sources_assignment_filter([])
- if (defined(invoker.testonly)) {
- testonly = invoker.testonly
- }
-
- jar_path = invoker.jar_path
- android_manifest = invoker.android_manifest
- java_files = invoker.java_files
- base_path = "$target_gen_dir/$target_name"
-
action(target_name) {
+ set_sources_assignment_filter([])
+ if (defined(invoker.testonly)) {
+ testonly = invoker.testonly
+ }
+ jar_path = invoker.jar_path
+ android_manifest = invoker.android_manifest
+ java_files = invoker.java_files
+ base_path = "$target_gen_dir/$target_name"
+
script = "//build/android/gyp/lint.py"
result_path = base_path + "/result.xml"
config_path = base_path + "/config.xml"
@@ -62,6 +61,49 @@ template("android_lint") {
}
}
+template("proguard") {
+ action(target_name) {
+ set_sources_assignment_filter([])
+ if (defined(invoker.testonly)) {
+ testonly = invoker.testonly
+ }
+ script = "//build/android/gyp/proguard.py"
+ _proguard_jar_path = "$android_sdk_root/tools/proguard/lib/proguard.jar"
+ _output_jar_path = invoker.output_jar_path
+
+ _output_jar_path = invoker.output_jar_path
newt (away) 2015/05/29 01:43:04 duplicate line
+ inputs = [
+ android_sdk_jar,
+ _proguard_jar_path,
+ ]
+ if (defined(invoker.inputs)) {
+ inputs += invoker.inputs
+ }
+ depfile = "${target_gen_dir}/${target_name}.d"
+ outputs = [
+ depfile,
+ _output_jar_path,
+ "$_output_jar_path.dump",
+ "$_output_jar_path.seeds",
+ "$_output_jar_path.mapping",
+ "$_output_jar_path.usage",
+ ]
+ args = [
+ "--depfile",
+ rebase_path(depfile, root_build_dir),
+ "--proguard-path",
+ rebase_path(_proguard_jar_path, root_build_dir),
+ "--output-path",
+ rebase_path(_output_jar_path, root_build_dir),
+ "--classpath",
+ rebased_android_sdk_jar,
+ ]
+ if (defined(invoker.args)) {
+ args += invoker.args
+ }
+ }
+}
+
template("findbugs") {
jar_path = invoker.jar_path
@@ -105,9 +147,8 @@ template("dex") {
if (defined(invoker.testonly)) {
testonly = invoker.testonly
}
-
- assert(defined(invoker.output))
action(target_name) {
+ assert(defined(invoker.output))
script = "//build/android/gyp/dex.py"
depfile = "$target_gen_dir/$target_name.d"
if (defined(invoker.sources)) {
@@ -196,21 +237,21 @@ template("zip") {
# See build/android/gyp/write_build_config.py and
# build/android/gyp/util/build_utils.py:ExpandFileArgs
template("write_build_config") {
- set_sources_assignment_filter([])
- if (defined(invoker.testonly)) {
- testonly = invoker.testonly
- }
+ action(target_name) {
+ set_sources_assignment_filter([])
+ if (defined(invoker.testonly)) {
+ testonly = invoker.testonly
+ }
- assert(defined(invoker.type))
- assert(defined(invoker.build_config))
+ assert(defined(invoker.type))
+ assert(defined(invoker.build_config))
- type = invoker.type
- build_config = invoker.build_config
+ type = invoker.type
+ build_config = invoker.build_config
- assert(type == "android_apk" || type == "java_library" ||
- type == "android_resources" || type == "deps_dex")
+ assert(type == "android_apk" || type == "java_library" ||
+ type == "android_resources" || type == "deps_dex")
- action(target_name) {
script = "//build/android/gyp/write_build_config.py"
depfile = "$target_gen_dir/$target_name.d"
inputs = []
@@ -341,6 +382,14 @@ template("write_build_config") {
"--readelf-path=$rebased_android_readelf",
]
}
+
+ if (defined(invoker.proguard_enabled) && invoker.proguard_enabled) {
+ args += [
+ "--proguard-enabled",
+ "--proguard-info",
+ rebase_path(invoker.proguard_info, root_build_dir),
+ ]
+ }
}
if (defined(invoker.srcjar)) {
@@ -365,37 +414,22 @@ template("process_java_prebuilt") {
assert(invoker.build_config != "")
if (defined(invoker.proguard_preprocess) && invoker.proguard_preprocess) {
- _proguard_jar_path = "$android_sdk_root/tools/proguard/lib/proguard.jar"
- _proguard_config_path = invoker.proguard_config
_build_config = invoker.build_config
_rebased_build_config = rebase_path(_build_config, root_build_dir)
- action("${target_name}__proguard_process") {
- script = "//build/android/gyp/proguard.py"
+ _proguard_config_path = invoker.proguard_config
+ proguard("${target_name}__proguard_process") {
inputs = [
- android_sdk_jar,
- _proguard_jar_path,
_build_config,
_input_jar_path,
_proguard_config_path,
]
- depfile = "${target_gen_dir}/${target_name}.d"
- outputs = [
- depfile,
- _output_jar_path,
- ]
+ output_jar_path = _output_jar_path
+ _rebased_input_paths = [ rebase_path(_input_jar_path, root_build_dir) ]
+ _rebased_proguard_configs =
+ [ rebase_path(_proguard_config_path, root_build_dir) ]
args = [
- "--depfile",
- rebase_path(depfile, root_build_dir),
- "--proguard-path",
- rebase_path(_proguard_jar_path, root_build_dir),
- "--input-path",
- rebase_path(_input_jar_path, root_build_dir),
- "--output-path",
- rebase_path(_output_jar_path, root_build_dir),
- "--proguard-config",
- rebase_path(_proguard_config_path, root_build_dir),
- "--classpath",
- rebased_android_sdk_jar,
+ "--input-paths=$_rebased_input_paths",
+ "--proguard-configs=$_rebased_proguard_configs",
"--classpath=@FileArg($_rebased_build_config:javac:classpath)",
]
}
@@ -1168,6 +1202,14 @@ template("process_resources") {
]
}
+ if (defined(invoker.proguard_file)) {
+ outputs += [ invoker.proguard_file ]
+ args += [
+ "--proguard-file",
+ rebase_path(invoker.proguard_file, root_build_dir),
+ ]
+ }
+
if (defined(invoker.args)) {
args += invoker.args
}

Powered by Google App Engine
This is Rietveld 408576698