Use new flag for emma instrumented build and limit to apps only

Based on existing setup, when EMMA_INSTRUMENT is used on a full
build, all Java modules will be processed with emma instrument
unless otherwise marked in their own Makefiles.

For the purpose of collecting code coverage, emma-instrument
all Java modules aren't that useful, instead, instrumenting all
the app packages is more useful. This change adds a new flag
EMMA_FULL_APP_INSTRUMENT, which can be used with a full build
to instrument all app packages.

Change-Id: Ie143fed49c23402b21f6cccac2ef25741726be45
This commit is contained in:
Guang Zhu
2012-08-06 16:11:05 -07:00
parent b0cc9aae50
commit 79f68bc925

View File

@@ -76,6 +76,21 @@ intermediates := $(call local-intermediates-dir)
intermediates.COMMON := $(call local-intermediates-dir,COMMON)
# Emma source code coverage
ifeq ($(EMMA_FULL_APP_INSTRUMENT),true)
# doing a full emma instrument here, i.e. all app packages instrumented
EMMA_INSTRUMENT := true
# do not instrument modules that are not app packages
ifneq ($(LOCAL_MODULE_CLASS),APPS)
LOCAL_NO_EMMA_INSTRUMENT := true
LOCAL_NO_EMMA_COMPILE := true
endif
# do not instrument modules that are marked tests
ifeq ($(LOCAL_MODULE_TAGS),tests)
LOCAL_NO_EMMA_INSTRUMENT := true
LOCAL_NO_EMMA_COMPILE := true
endif
endif
ifneq ($(EMMA_INSTRUMENT),true)
LOCAL_NO_EMMA_INSTRUMENT := true
LOCAL_NO_EMMA_COMPILE := true