diff options
author | cjhopman@chromium.org <cjhopman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-08-15 00:12:07 +0000 |
---|---|---|
committer | cjhopman@chromium.org <cjhopman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-08-15 00:12:07 +0000 |
commit | 582a8575e5259762d5cb7b517b928ed7fc75ca11 (patch) | |
tree | 05084b8b749aa740a9afde426f0326ec600cc60d /build/java.gypi | |
parent | 8ce89cd31f3a2361a03d0451f75f14a97e311638 (diff) | |
download | chromium_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.gypi | 48 |
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. |