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

Unified Diff: build/java.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: Created 7 years, 5 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/java.gypi
diff --git a/build/java.gypi b/build/java.gypi
index ec8431b92da2e05417a7e716c1eb0d9ad2b69435..297dee71b469f90925caf716ae46cda698c992fe 100644
--- a/build/java.gypi
+++ b/build/java.gypi
@@ -59,6 +59,7 @@
'jar_excluded_classes': [ '*/R.class', '*/R##*.class' ],
'additional_input_paths': [],
'dex_path': '<(PRODUCT_DIR)/lib.java/<(_target_name).dex.jar',
+ 'emma_device_jar': '<(android_sdk_root)/tools/lib/emma_device.jar',
'generated_src_dirs': ['>@(generated_R_dirs)'],
'generated_R_dirs': [],
'has_java_resources%': 0,
@@ -70,6 +71,13 @@
'intermediate_dir': '<(SHARED_INTERMEDIATE_DIR)/<(_target_name)',
'classes_dir': '<(intermediate_dir)/classes',
'compile_stamp': '<(intermediate_dir)/compile.stamp',
+ 'conditions': [
+ ['coverage == 1', {
+ 'classes_final_dir': '<(intermediate_dir)/classes_instr',
+ }, {
+ 'classes_final_dir': '<(intermediate_dir)/classes',
+ }]
+ ]
},
# This all_dependent_settings is used for java targets only. This will add the
# jar path to the classpath of dependent java targets.
@@ -214,6 +222,34 @@
},
],
}],
+ ['coverage == 1', {
+ 'actions': [
+ {
+ 'action_name': 'emma_instr_<(_target_name)',
+ 'message': 'Instrumenting <(_target_name) classes',
+ 'inputs': [
+ '<(compile_stamp)',
+ '<(DEPTH)/build/android/ant/apk-instr.xml',
+ '<(DEPTH)/build/android/gyp/ant.py',
+ '<(DEPTH)/build/android/gyp/util/build_utils.py',
+ ],
+ 'outputs': [
+ '<(intermediate_dir)/coverage.em',
+ '<(classes_final_dir)',
+ ],
+ 'action': [
+ 'python', '<(DEPTH)/build/android/gyp/ant.py',
+ '-DCLASSES_DIR=<(classes_dir)',
+ '-DCLASSES_INSTR_DIR=<(classes_final_dir)',
+ '-DEMMA_COVERAGE_FILE=<(intermediate_dir)/coverage.em',
+ '-DANDROID_SDK_ROOT=<(android_sdk_root)',
+ '-Dbasedir=.',
+ '-buildfile',
+ '<(DEPTH)/build/android/ant/apk-instr.xml',
+ ]
+ },
+ ],
+ }],
],
'actions': [
{
@@ -252,11 +288,17 @@
{
'action_name': 'jar_<(_target_name)',
'message': 'Creating <(_target_name) jar',
+ 'conditions': [
+ ['coverage == 1', {
+ 'inputs': [ '<(intermediate_dir)/coverage.em', ]
+ }, {
+ 'inputs': [ '<(compile_stamp)' ]
+ }]
+ ],
'inputs': [
'<(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_path)',

Powered by Google App Engine
This is Rietveld 408576698