Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4dad8898 authored by Sebastien Hertz's avatar Sebastien Hertz Committed by Gerrit Code Review
Browse files

Merge "Support code coverage with Jack"

parents fedafc87 dfce8ad4
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -1979,6 +1979,7 @@ else \
fi; \
$(call call-jack) \
    $(strip $(PRIVATE_JACK_FLAGS)) \
    $(strip $(PRIVATE_JACK_COVERAGE_OPTIONS)) \
    $(if $(NO_OPTIMIZE_DX), \
        -D jack.dex.optimize="false") \
    $(if $(PRIVATE_RMTYPEDEFS), \
+13 −0
Original line number Diff line number Diff line
@@ -496,7 +496,11 @@ common_proguard_flags := \
ifeq ($(filter nosystem,$(LOCAL_PROGUARD_ENABLED)),)
common_proguard_flags += -include $(BUILD_SYSTEM)/proguard.flags
ifeq ($(LOCAL_EMMA_INSTRUMENT),true)
ifdef LOCAL_JACK_ENABLED
common_proguard_flags += -include $(BUILD_SYSTEM)/proguard.jacoco.flags
else
common_proguard_flags += -include $(BUILD_SYSTEM)/proguard.emma.flags
endif # LOCAL_JACK_ENABLED
endif
# If this is a test package, add proguard keep flags for tests.
ifneq ($(LOCAL_INSTRUMENTATION_FOR)$(filter tests,$(LOCAL_MODULE_TAGS)),)
@@ -667,6 +671,15 @@ $(built_dex).toc: $(full_classes_jack)
else #LOCAL_IS_STATIC_JAVA_LIBRARY
$(built_dex_intermediate): PRIVATE_CLASSES_JACK := $(full_classes_jack)

ifeq ($(LOCAL_EMMA_INSTRUMENT),true)
$(built_dex_intermediate): PRIVATE_JACK_COVERAGE_OPTIONS := \
    -D jack.coverage="true" \
    -D jack.coverage.metadata.file=$(intermediates.COMMON)/coverage.em \
    -D jack.coverage.jacoco.package=$(JACOCO_PACKAGE_NAME)
else
$(built_dex_intermediate): PRIVATE_JACK_COVERAGE_OPTIONS :=
endif

$(built_dex_intermediate): $(jack_all_deps) | setup-jack-server
	@echo Building with Jack: $@
	$(jack-java-to-dex)
+5 −0
Original line number Diff line number Diff line
@@ -47,7 +47,12 @@ endif
ifeq (true,$(EMMA_INSTRUMENT))
ifeq (true,$(LOCAL_EMMA_INSTRUMENT))
ifeq (true,$(EMMA_INSTRUMENT_STATIC))
ifdef LOCAL_JACK_ENABLED
# Jack supports coverage with Jacoco
LOCAL_STATIC_JAVA_LIBRARIES += jacocoagent
else
LOCAL_STATIC_JAVA_LIBRARIES += emma
endif # LOCAL_JACK_ENABLED
endif # LOCAL_EMMA_INSTRUMENT
endif # EMMA_INSTRUMENT_STATIC
else
+5 −0
Original line number Diff line number Diff line
@@ -334,6 +334,11 @@ include build/core/pdk_config.mk
# Install and start Jack server
-include $(TOPDIR)prebuilts/sdk/tools/jack_server_setup.mk

#
# -----------------------------------------------------------------
# Jacoco package name for Jack
-include $(TOPDIR)external/jacoco/config.mk

# -----------------------------------------------------------------
###
### In this section we set up the things that are different
+10 −0
Original line number Diff line number Diff line
@@ -186,12 +186,22 @@ endif # EMMA_INSTRUMENT is true

ifeq (true,$(LOCAL_EMMA_INSTRUMENT))
ifeq (true,$(EMMA_INSTRUMENT_STATIC))
ifdef LOCAL_JACK_ENABLED
# Jack supports coverage with Jacoco
LOCAL_STATIC_JAVA_LIBRARIES += jacocoagent
else
LOCAL_STATIC_JAVA_LIBRARIES += emma
endif # LOCAL_JACK_ENABLED
else
ifdef LOCAL_SDK_VERSION
ifdef TARGET_BUILD_APPS
# In unbundled build merge the emma library into the apk.
ifdef LOCAL_JACK_ENABLED
# Jack supports coverage with Jacoco
LOCAL_STATIC_JAVA_LIBRARIES += jacocoagent
else
LOCAL_STATIC_JAVA_LIBRARIES += emma
endif # LOCAL_JACK_ENABLED
else
# If build against the SDK in full build, core.jar is not used,
# we have to use prebiult emma.jar to make Proguard happy;
Loading