Loading core/Makefile +22 −6 Original line number Diff line number Diff line Loading @@ -2686,20 +2686,36 @@ $(APPS_ZIP): $(INSTALLED_SYSTEMIMAGE) zip -qjX $@ $$apps_to_zip; \ fi #------------------------------------------------------------------ # A zip of emma code coverage meta files. Generated for fully emma # instrumented build. # ifeq (true,$(EMMA_INSTRUMENT)) #------------------------------------------------------------------ # An archive of classes for use in generating code-coverage reports # These are the uninstrumented versions of any classes that were # to be instrumented. # Any dependencies are set up later in build/core/main.mk. ifeq ($(ANDROID_COMPILE_WITH_JACK),false) JACOCO_REPORT_CLASSES_ALL := $(PRODUCT_OUT)/jacoco-report-classes-all.jar $(JACOCO_REPORT_CLASSES_ALL) : @echo "Collecting uninstrumented classes" $(hide) find $(TARGET_COMMON_OUT_ROOT) $(HOST_COMMON_OUT_ROOT) -name "jacoco-report-classes.jar" | \ zip -@ -0 -q -X $@ # Meaning of these options: # -@ scan stdin for file paths to add to the zip # -0 don't do any compression # -q supress most output # -X skip storing extended file attributes else EMMA_META_ZIP := $(PRODUCT_OUT)/emma_meta.zip # the dependency will be set up later in build/core/main.mk. $(EMMA_META_ZIP) : @echo "Collecting Emma coverage meta files." $(hide) find $(TARGET_COMMON_OUT_ROOT) $(HOST_COMMON_OUT_ROOT) -name "coverage.em" | \ zip -@ -qX $@ endif endif # EMMA_INSTRUMENT=true #------------------------------------------------------------------ # A zip of Proguard obfuscation dictionary files. # Only for apps_only build. Loading core/clear_vars.mk +2 −0 Original line number Diff line number Diff line Loading @@ -85,6 +85,8 @@ LOCAL_FINDBUGS_FLAGS:= LOCAL_FORCE_STATIC_EXECUTABLE:= LOCAL_FULL_LIBS_MANIFEST_FILES:= LOCAL_FULL_MANIFEST_FILE:= LOCAL_FULL_CLASSES_JACOCO_JAR:= LOCAL_FULL_CLASSES_PRE_JACOCO_JAR:= LOCAL_GCNO_FILES:= LOCAL_GENERATED_SOURCES:= # Group static libraries with "-Wl,--start-group" and "-Wl,--end-group" when linking. Loading core/config.mk +1 −1 Original line number Diff line number Diff line Loading @@ -669,7 +669,7 @@ RELOCATION_PACKER := prebuilts/misc/$(BUILD_OS)-$(HOST_PREBUILT_ARCH)/relocation FINDBUGS_DIR := external/owasp/sanitizer/tools/findbugs/bin FINDBUGS := $(FINDBUGS_DIR)/findbugs EMMA_JAR := external/emma/lib/emma$(COMMON_JAVA_PACKAGE_SUFFIX) JACOCO_CLI_JAR := $(HOST_OUT_JAVA_LIBRARIES)/jacoco-cli$(COMMON_JAVA_PACKAGE_SUFFIX) # Tool to merge AndroidManifest.xmls ANDROID_MANIFEST_MERGER := $(JAVA) -classpath prebuilts/devtools/tools/lib/manifest-merger.jar com.android.manifmerger.Main merge Loading core/definitions.mk +0 −6 Original line number Diff line number Diff line Loading @@ -2523,12 +2523,6 @@ $(if $(PRIVATE_JAR_EXCLUDE_PACKAGES), $(hide) echo unsupported options JAR_EXCLU $(if $(PRIVATE_JAR_MANIFEST), $(hide) echo unsupported options JAR_MANIFEST in $@; exit 53) endef define transform-classes.jar-to-emma $(hide) $(JAVA) -classpath $(EMMA_JAR) emma instr -outmode fullcopy -outfile \ $(PRIVATE_EMMA_COVERAGE_FILE) -ip $< -d $(PRIVATE_EMMA_INTERMEDIATES_DIR) \ $(addprefix -ix , $(PRIVATE_EMMA_COVERAGE_FILTER)) endef define desugar-classpath $(filter-out -classpath -bootclasspath "",$(subst :,$(space),$(1))) endef Loading core/host_java_library.mk +10 −25 Original line number Diff line number Diff line Loading @@ -33,16 +33,11 @@ endif full_classes_compiled_jar := $(intermediates.COMMON)/classes-full-debug.jar full_classes_jarjar_jar := $(intermediates.COMMON)/classes-jarjar.jar emma_intermediates_dir := $(intermediates.COMMON)/emma_out # emma is hardcoded to use the leaf name of its input for the output file -- # only the output directory can be changed full_classes_emma_jar := $(emma_intermediates_dir)/lib/$(notdir $(full_classes_jarjar_jar)) full_classes_jar := $(intermediates.COMMON)/classes.jar LOCAL_INTERMEDIATE_TARGETS += \ $(full_classes_compiled_jar) \ $(full_classes_jarjar_jar) \ $(full_classes_emma_jar) ####################################### include $(BUILD_SYSTEM)/base_rules.mk Loading Loading @@ -95,23 +90,13 @@ else full_classes_jarjar_jar := $(full_classes_compiled_jar) endif ifeq (true,$(LOCAL_EMMA_INSTRUMENT)) $(full_classes_emma_jar): PRIVATE_EMMA_COVERAGE_FILE := $(intermediates.COMMON)/coverage.em $(full_classes_emma_jar): PRIVATE_EMMA_INTERMEDIATES_DIR := $(emma_intermediates_dir) ifdef LOCAL_EMMA_COVERAGE_FILTER $(full_classes_emma_jar): PRIVATE_EMMA_COVERAGE_FILTER := $(LOCAL_EMMA_COVERAGE_FILTER) else # by default, avoid applying emma instrumentation onto emma classes itself, # otherwise there will be exceptions thrown $(full_classes_emma_jar): PRIVATE_EMMA_COVERAGE_FILTER := *,-emma,-emmarun,-com.vladium.* endif # this rule will generate both $(PRIVATE_EMMA_COVERAGE_FILE) and # $(full_classes_emma_jar) $(full_classes_emma_jar) : $(full_classes_jarjar_jar) | $(EMMA_JAR) $(transform-classes.jar-to-emma) else # LOCAL_EMMA_INSTRUMENT full_classes_emma_jar := $(full_classes_jarjar_jar) endif # LOCAL_EMMA_INSTRUMENT $(eval $(call copy-one-file,$(full_classes_emma_jar),$(LOCAL_BUILT_MODULE))) $(eval $(call copy-one-file,$(full_classes_emma_jar),$(full_classes_jar))) LOCAL_FULL_CLASSES_PRE_JACOCO_JAR := $(full_classes_jarjar_jar) ####################################### include $(BUILD_SYSTEM)/jacoco.mk ####################################### $(eval $(call copy-one-file,$(LOCAL_FULL_CLASSES_JACOCO_JAR),$(LOCAL_BUILT_MODULE))) $(eval $(call copy-one-file,$(LOCAL_FULL_CLASSES_JACOCO_JAR),$(full_classes_jar))) Loading
core/Makefile +22 −6 Original line number Diff line number Diff line Loading @@ -2686,20 +2686,36 @@ $(APPS_ZIP): $(INSTALLED_SYSTEMIMAGE) zip -qjX $@ $$apps_to_zip; \ fi #------------------------------------------------------------------ # A zip of emma code coverage meta files. Generated for fully emma # instrumented build. # ifeq (true,$(EMMA_INSTRUMENT)) #------------------------------------------------------------------ # An archive of classes for use in generating code-coverage reports # These are the uninstrumented versions of any classes that were # to be instrumented. # Any dependencies are set up later in build/core/main.mk. ifeq ($(ANDROID_COMPILE_WITH_JACK),false) JACOCO_REPORT_CLASSES_ALL := $(PRODUCT_OUT)/jacoco-report-classes-all.jar $(JACOCO_REPORT_CLASSES_ALL) : @echo "Collecting uninstrumented classes" $(hide) find $(TARGET_COMMON_OUT_ROOT) $(HOST_COMMON_OUT_ROOT) -name "jacoco-report-classes.jar" | \ zip -@ -0 -q -X $@ # Meaning of these options: # -@ scan stdin for file paths to add to the zip # -0 don't do any compression # -q supress most output # -X skip storing extended file attributes else EMMA_META_ZIP := $(PRODUCT_OUT)/emma_meta.zip # the dependency will be set up later in build/core/main.mk. $(EMMA_META_ZIP) : @echo "Collecting Emma coverage meta files." $(hide) find $(TARGET_COMMON_OUT_ROOT) $(HOST_COMMON_OUT_ROOT) -name "coverage.em" | \ zip -@ -qX $@ endif endif # EMMA_INSTRUMENT=true #------------------------------------------------------------------ # A zip of Proguard obfuscation dictionary files. # Only for apps_only build. Loading
core/clear_vars.mk +2 −0 Original line number Diff line number Diff line Loading @@ -85,6 +85,8 @@ LOCAL_FINDBUGS_FLAGS:= LOCAL_FORCE_STATIC_EXECUTABLE:= LOCAL_FULL_LIBS_MANIFEST_FILES:= LOCAL_FULL_MANIFEST_FILE:= LOCAL_FULL_CLASSES_JACOCO_JAR:= LOCAL_FULL_CLASSES_PRE_JACOCO_JAR:= LOCAL_GCNO_FILES:= LOCAL_GENERATED_SOURCES:= # Group static libraries with "-Wl,--start-group" and "-Wl,--end-group" when linking. Loading
core/config.mk +1 −1 Original line number Diff line number Diff line Loading @@ -669,7 +669,7 @@ RELOCATION_PACKER := prebuilts/misc/$(BUILD_OS)-$(HOST_PREBUILT_ARCH)/relocation FINDBUGS_DIR := external/owasp/sanitizer/tools/findbugs/bin FINDBUGS := $(FINDBUGS_DIR)/findbugs EMMA_JAR := external/emma/lib/emma$(COMMON_JAVA_PACKAGE_SUFFIX) JACOCO_CLI_JAR := $(HOST_OUT_JAVA_LIBRARIES)/jacoco-cli$(COMMON_JAVA_PACKAGE_SUFFIX) # Tool to merge AndroidManifest.xmls ANDROID_MANIFEST_MERGER := $(JAVA) -classpath prebuilts/devtools/tools/lib/manifest-merger.jar com.android.manifmerger.Main merge Loading
core/definitions.mk +0 −6 Original line number Diff line number Diff line Loading @@ -2523,12 +2523,6 @@ $(if $(PRIVATE_JAR_EXCLUDE_PACKAGES), $(hide) echo unsupported options JAR_EXCLU $(if $(PRIVATE_JAR_MANIFEST), $(hide) echo unsupported options JAR_MANIFEST in $@; exit 53) endef define transform-classes.jar-to-emma $(hide) $(JAVA) -classpath $(EMMA_JAR) emma instr -outmode fullcopy -outfile \ $(PRIVATE_EMMA_COVERAGE_FILE) -ip $< -d $(PRIVATE_EMMA_INTERMEDIATES_DIR) \ $(addprefix -ix , $(PRIVATE_EMMA_COVERAGE_FILTER)) endef define desugar-classpath $(filter-out -classpath -bootclasspath "",$(subst :,$(space),$(1))) endef Loading
core/host_java_library.mk +10 −25 Original line number Diff line number Diff line Loading @@ -33,16 +33,11 @@ endif full_classes_compiled_jar := $(intermediates.COMMON)/classes-full-debug.jar full_classes_jarjar_jar := $(intermediates.COMMON)/classes-jarjar.jar emma_intermediates_dir := $(intermediates.COMMON)/emma_out # emma is hardcoded to use the leaf name of its input for the output file -- # only the output directory can be changed full_classes_emma_jar := $(emma_intermediates_dir)/lib/$(notdir $(full_classes_jarjar_jar)) full_classes_jar := $(intermediates.COMMON)/classes.jar LOCAL_INTERMEDIATE_TARGETS += \ $(full_classes_compiled_jar) \ $(full_classes_jarjar_jar) \ $(full_classes_emma_jar) ####################################### include $(BUILD_SYSTEM)/base_rules.mk Loading Loading @@ -95,23 +90,13 @@ else full_classes_jarjar_jar := $(full_classes_compiled_jar) endif ifeq (true,$(LOCAL_EMMA_INSTRUMENT)) $(full_classes_emma_jar): PRIVATE_EMMA_COVERAGE_FILE := $(intermediates.COMMON)/coverage.em $(full_classes_emma_jar): PRIVATE_EMMA_INTERMEDIATES_DIR := $(emma_intermediates_dir) ifdef LOCAL_EMMA_COVERAGE_FILTER $(full_classes_emma_jar): PRIVATE_EMMA_COVERAGE_FILTER := $(LOCAL_EMMA_COVERAGE_FILTER) else # by default, avoid applying emma instrumentation onto emma classes itself, # otherwise there will be exceptions thrown $(full_classes_emma_jar): PRIVATE_EMMA_COVERAGE_FILTER := *,-emma,-emmarun,-com.vladium.* endif # this rule will generate both $(PRIVATE_EMMA_COVERAGE_FILE) and # $(full_classes_emma_jar) $(full_classes_emma_jar) : $(full_classes_jarjar_jar) | $(EMMA_JAR) $(transform-classes.jar-to-emma) else # LOCAL_EMMA_INSTRUMENT full_classes_emma_jar := $(full_classes_jarjar_jar) endif # LOCAL_EMMA_INSTRUMENT $(eval $(call copy-one-file,$(full_classes_emma_jar),$(LOCAL_BUILT_MODULE))) $(eval $(call copy-one-file,$(full_classes_emma_jar),$(full_classes_jar))) LOCAL_FULL_CLASSES_PRE_JACOCO_JAR := $(full_classes_jarjar_jar) ####################################### include $(BUILD_SYSTEM)/jacoco.mk ####################################### $(eval $(call copy-one-file,$(LOCAL_FULL_CLASSES_JACOCO_JAR),$(LOCAL_BUILT_MODULE))) $(eval $(call copy-one-file,$(LOCAL_FULL_CLASSES_JACOCO_JAR),$(full_classes_jar)))