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

Unified Diff: build/java_apk.gypi

Issue 20210002: [Android] Sets up a coverage system for java using EMMA (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fixes dex/obfuscate actions slightly Created 7 years, 4 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
« build/common.gypi ('K') | « build/java.gypi ('k') | content/content.gyp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: build/java_apk.gypi
diff --git a/build/java_apk.gypi b/build/java_apk.gypi
index e388690f767a9941d92b944f4d09ffba3ce71ac9..6c4baf9a7b651d5863559c111fcf861506a5fe80 100644
--- a/build/java_apk.gypi
+++ b/build/java_apk.gypi
@@ -87,15 +87,18 @@
'native_libraries_template_data_file': '<(native_libraries_template_data_dir)/native_libraries_array.h',
'native_libraries_template_data_stamp': '<(intermediate_dir)/native_libraries_template_data.stamp',
'compile_stamp': '<(intermediate_dir)/compile.stamp',
+ 'instr_stamp': '<(intermediate_dir)/instr.stamp',
'jar_stamp': '<(intermediate_dir)/jar.stamp',
'obfuscate_stamp': '<(intermediate_dir)/obfuscate.stamp',
'strip_stamp': '<(intermediate_dir)/strip.stamp',
'classes_dir': '<(intermediate_dir)/classes',
+ 'classes_final_dir': '<(intermediate_dir)/classes_instr',
'javac_includes': [],
'jar_excluded_classes': [],
'jar_path': '<(PRODUCT_DIR)/lib.java/<(jar_name)',
'obfuscated_jar_path': '<(intermediate_dir)/obfuscated.jar',
'dex_path': '<(intermediate_dir)/classes.dex',
+ 'emma_device_jar': '<(android_sdk_root)/tools/lib/emma_device.jar',
'android_manifest_path%': '<(java_in_dir)/AndroidManifest.xml',
'push_stamp': '<(intermediate_dir)/push.stamp',
'link_stamp': '<(intermediate_dir)/link.stamp',
@@ -461,20 +464,55 @@
],
},
{
+ 'action_name': 'instr_classes_<(_target_name)',
+ 'message': 'Instrumenting <(_target_name) classes',
+ 'variables': {
+ 'conditions': [
+ ['emma_instrument != 0', {
+ 'instr_action': 'instrument_classes',
+ 'extra_instr_args': [
+ '--coverage-file=<(intermediate_dir)/coverage.em',
+ '--sources-file=<(intermediate_dir)/emma_sources.txt',
+ '--sources=<(java_in_dir)/src >(additional_src_dirs) >(generated_src_dirs)',
+ ]
+ }, {
+ 'instr_action': 'copy',
+ 'extra_instr_args': [],
+ }]
+ ]
+ },
+ 'inputs': [
+ '<(compile_stamp)',
+ '<(DEPTH)/build/android/gyp/util/build_utils.py',
+ '<(DEPTH)/build/android/gyp/instr.py',
+ ],
+ 'outputs': [
+ '<(instr_stamp)',
+ ],
+ 'action': [
+ 'python', '<(DEPTH)/build/android/gyp/instr.py',
+ '<(instr_action)',
+ '--input-path=<(classes_dir)',
+ '--output-path=<(classes_final_dir)',
+ '--stamp=<(instr_stamp)',
+ '<@(extra_instr_args)',
+ ]
+ },
+ {
'action_name': 'jar_<(_target_name)',
'message': 'Creating <(_target_name) jar',
'inputs': [
+ '<(instr_stamp)',
'<(DEPTH)/build/android/gyp/util/build_utils.py',
'<(DEPTH)/build/android/gyp/util/md5_check.py',
'<(DEPTH)/build/android/gyp/jar.py',
- '<(compile_stamp)',
],
'outputs': [
'<(jar_stamp)',
],
'action': [
'python', '<(DEPTH)/build/android/gyp/jar.py',
- '--classes-dir=<(classes_dir)',
+ '--classes-dir=<(classes_final_dir)',
'--jar-path=<(jar_path)',
'--excluded-classes=<(jar_excluded_classes)',
'--stamp=<(jar_stamp)',
@@ -491,7 +529,7 @@
'<(DEPTH)/build/android/ant/create-test-jar.js',
'<(DEPTH)/build/android/gyp/util/build_utils.py',
'<(DEPTH)/build/android/gyp/ant.py',
- '<(compile_stamp)',
+ '<(instr_stamp)',
'>@(proguard_flags_paths)',
],
'outputs': [
@@ -536,10 +574,13 @@
'input_paths': [ '<(obfuscate_stamp)' ],
'proguard_enabled_input_path': '<(obfuscated_jar_path)',
}],
+ ['emma_instrument != 0', {
+ 'dex_input_paths': [ '<(emma_device_jar)' ],
+ }],
],
- 'input_paths': [ '<(compile_stamp)' ],
+ 'input_paths': [ '<(instr_stamp)' ],
'dex_input_paths': [ '>@(library_dexed_jars_paths)' ],
- 'dex_generated_input_dirs': [ '<(classes_dir)' ],
+ 'dex_generated_input_dirs': [ '<(classes_final_dir)' ],
'output_path': '<(dex_path)',
},
'includes': [ 'android/dex_action.gypi' ],
@@ -622,6 +663,7 @@
'-DOUT_DIR=<(intermediate_dir)',
'-DSOURCE_DIR=<(source_dir)',
'-DUNSIGNED_APK_PATH=<(unsigned_apk_path)',
+ '-DEMMA_INSTRUMENT=<(emma_instrument)',
'-Dbasedir=.',
'-buildfile',
« build/common.gypi ('K') | « build/java.gypi ('k') | content/content.gyp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698