summaryrefslogtreecommitdiffstats
path: root/build/java.gypi
diff options
context:
space:
mode:
authorcjhopman@chromium.org <cjhopman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-08-15 00:12:07 +0000
committercjhopman@chromium.org <cjhopman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-08-15 00:12:07 +0000
commit582a8575e5259762d5cb7b517b928ed7fc75ca11 (patch)
tree05084b8b749aa740a9afde426f0326ec600cc60d /build/java.gypi
parent8ce89cd31f3a2361a03d0451f75f14a97e311638 (diff)
downloadchromium_src-582a8575e5259762d5cb7b517b928ed7fc75ca11.zip
chromium_src-582a8575e5259762d5cb7b517b928ed7fc75ca11.tar.gz
chromium_src-582a8575e5259762d5cb7b517b928ed7fc75ca11.tar.bz2
Add support for proguard preprocessing.
* Adds support for running proguard on our libraries before they are added to the final release APK. * Start using the proguard preprocessing for third_party/guava. BUG=272790 NOTRY=true TBR=darin@chromium.org Review URL: https://chromiumcodereview.appspot.com/23213002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@217706 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'build/java.gypi')
-rw-r--r--build/java.gypi48
1 files changed, 46 insertions, 2 deletions
diff --git a/build/java.gypi b/build/java.gypi
index 1635c71..5318e2a 100644
--- a/build/java.gypi
+++ b/build/java.gypi
@@ -70,6 +70,21 @@
'intermediate_dir': '<(SHARED_INTERMEDIATE_DIR)/<(_target_name)',
'classes_dir': '<(intermediate_dir)/classes',
'compile_stamp': '<(intermediate_dir)/compile.stamp',
+ 'proguard_config%': '',
+ 'proguard_preprocess%': '0',
+ 'variables': {
+ 'variables': {
+ 'proguard_preprocess%': 0,
+ },
+ 'conditions': [
+ ['proguard_preprocess == 1', {
+ 'javac_jar_path': '<(intermediate_dir)/<(_target_name).pre.jar'
+ }, {
+ 'javac_jar_path': '<(PRODUCT_DIR)/lib.java/<(jar_name)'
+ }],
+ ],
+ },
+ 'javac_jar_path': '<(javac_jar_path)',
},
# This all_dependent_settings is used for java targets only. This will add the
# jar path to the classpath of dependent java targets.
@@ -218,6 +233,35 @@
},
],
}],
+ ['proguard_preprocess == 1', {
+ 'actions': [
+ {
+ 'action_name': 'proguard_<(_target_name)',
+ 'message': 'Proguard preprocessing <(_target_name) jar',
+ 'inputs': [
+ '<(android_sdk_root)/tools/proguard/bin/proguard.sh',
+ '<(DEPTH)/build/android/gyp/util/build_utils.py',
+ '<(DEPTH)/build/android/gyp/proguard.py',
+ '<(javac_jar_path)',
+ '<(proguard_config)',
+ ],
+ 'outputs': [
+ '<(jar_path)',
+ ],
+ 'action': [
+ 'python', '<(DEPTH)/build/android/gyp/proguard.py',
+ '--proguard-path=<(android_sdk_root)/tools/proguard/bin/proguard.sh',
+ '--input-path=<(javac_jar_path)',
+ '--output-path=<(jar_path)',
+ '--proguard-config=<(proguard_config)',
+ '--classpath=<(android_sdk_jar) >(input_jars_paths)',
+
+ # TODO(newt): remove this once http://crbug.com/177552 is fixed in ninja.
+ '--ignore=>!(echo \'>(_inputs)\' | md5sum)',
+ ]
+ },
+ ],
+ }],
],
'actions': [
{
@@ -263,12 +307,12 @@
'<(compile_stamp)',
],
'outputs': [
- '<(jar_path)',
+ '<(javac_jar_path)',
],
'action': [
'python', '<(DEPTH)/build/android/gyp/jar.py',
'--classes-dir=<(classes_dir)',
- '--jar-path=<(jar_path)',
+ '--jar-path=<(javac_jar_path)',
'--excluded-classes=<(jar_excluded_classes)',
# TODO(newt): remove this once http://crbug.com/177552 is fixed in ninja.