Use Jack to check build
Run jack with no outputs as a quick check for compilation errors and use
a timestamp to store that check was made.
Bug: 19069325
(cherry picked from commit 43084d9f49a994a7eaebd3c94758d0ebf4c74b6e)
Change-Id: I9b84b503b28cfdfa245f91da0061ee3a79386b28
diff --git a/core/java.mk b/core/java.mk
index 4485af6..77a2614 100644
--- a/core/java.mk
+++ b/core/java.mk
@@ -119,6 +119,7 @@
full_classes_jack := $(intermediates.COMMON)/classes.jack
# intermediate Jack library without shrink and obfuscation
noshrob_classes_jack := $(intermediates.COMMON)/classes.noshrob.jack
+jack_check_timestamp := $(intermediates.COMMON)/jack.check.timestamp
LOCAL_INTERMEDIATE_TARGETS += \
$(full_classes_compiled_jar) \
@@ -129,6 +130,7 @@
$(built_dex_intermediate) \
$(full_classes_jack) \
$(noshrob_classes_jack) \
+ $(jack_check_timestamp) \
$(built_dex) \
$(full_classes_stubs_jar)
@@ -323,9 +325,13 @@
# command line.
ifndef LOCAL_CHECKED_MODULE
ifdef full_classes_jar
+ifdef LOCAL_JACK_ENABLED
+LOCAL_CHECKED_MODULE := $(jack_check_timestamp)
+else
LOCAL_CHECKED_MODULE := $(full_classes_compiled_jar)
endif
endif
+endif
#######################################
include $(BUILD_SYSTEM)/base_rules.mk
@@ -630,9 +636,13 @@
ifeq ($(LOCAL_JACK_ENABLED),incremental)
$(LOCAL_INTERMEDIATE_TARGETS): \
PRIVATE_JACK_INCREMENTAL_DIR := $(intermediates.COMMON)/jack-incremental
+$(noshrob_classes_jack): PRIVATE_JACK_INCREMENTAL_DIR := $(intermediates.COMMON)/jack-noshrob-incremental
+$(jack_check_timestamp): PRIVATE_JACK_INCREMENTAL_DIR := $(intermediates.COMMON)/jack-check-incremental
else
$(LOCAL_INTERMEDIATE_TARGETS): \
PRIVATE_JACK_INCREMENTAL_DIR :=
+$(noshrob_classes_jack): PRIVATE_JACK_INCREMENTAL_DIR :=
+$(jack_check_timestamp): PRIVATE_JACK_INCREMENTAL_DIR :=
endif
ifdef full_classes_jar
@@ -665,6 +675,10 @@
$(proto_java_sources_file_stamp) $(LOCAL_ADDITIONAL_DEPENDENCIES) $(LOCAL_JARJAR_RULES) \
$(JACK)
+$(jack_check_timestamp): $(jack_all_deps)
+ @echo Checking build with Jack: $@
+ $(jack-check-java)
+
ifeq ($(LOCAL_IS_STATIC_JAVA_LIBRARY),true)
$(full_classes_jack): $(jack_all_deps) | setup-jack-server
@echo Building with Jack: $@
@@ -702,11 +716,6 @@
endif #LOCAL_IS_STATIC_JAVA_LIBRARY
$(noshrob_classes_jack): PRIVATE_JACK_INTERMEDIATES_DIR := $(intermediates.COMMON)/jack-noshrob-rsc
-ifeq ($(LOCAL_JACK_ENABLED),incremental)
-$(noshrob_classes_jack): PRIVATE_JACK_INCREMENTAL_DIR := $(intermediates.COMMON)/jack-noshrob-incremental
-else
-$(noshrob_classes_jack): PRIVATE_JACK_INCREMENTAL_DIR :=
-endif
$(noshrob_classes_jack): PRIVATE_JACK_PROGUARD_FLAGS :=
$(noshrob_classes_jack): $(jack_all_deps) | setup-jack-server
@echo Building with Jack: $@