Always start jack server before first call to jack
Also install and update the server if necessary.
The target start-jack-server produces no file so it's always built.
Since the dependency is "order only", it doesn't cause force rebuilt of
jack targets after start-jack-server execution.
Bug: 25443108
Change-Id: I1608d87d186694d47307e00337b1905f0b8079c4
diff --git a/core/host_dalvik_java_library.mk b/core/host_dalvik_java_library.mk
index 59ecf4e..62ef452 100644
--- a/core/host_dalvik_java_library.mk
+++ b/core/host_dalvik_java_library.mk
@@ -126,7 +126,7 @@
$(built_dex): PRIVATE_JACK_VERSION := $(LOCAL_JACK_VERSION)
$(built_dex): $(java_sources) $(java_resource_sources) $(full_jack_lib_deps) \
$(jar_manifest_file) $(proto_java_sources_file_stamp) $(LOCAL_MODULE_MAKEFILE_DEP) \
- $(LOCAL_ADDITIONAL_DEPENDENCIES) $(JACK)
+ $(LOCAL_ADDITIONAL_DEPENDENCIES) $(JACK) | setup-jack-server
@echo Building with Jack: $@
$(jack-java-to-dex)
diff --git a/core/host_dalvik_static_java_library.mk b/core/host_dalvik_static_java_library.mk
index 6248e1a..6a680b4 100644
--- a/core/host_dalvik_static_java_library.mk
+++ b/core/host_dalvik_static_java_library.mk
@@ -49,7 +49,7 @@
$(full_classes_jack): $(java_sources) $(java_resource_sources) $(full_jack_lib_deps) \
$(jar_manifest_file) $(layers_file) $(LOCAL_MODULE_MAKEFILE_DEP) \
$(LOCAL_ADDITIONAL_DEPENDENCIES) $(LOCAL_JARJAR_RULES) \
- $(JACK)
+ $(JACK) | setup-jack-server
@echo Building with Jack: $@
$(java-to-jack)
diff --git a/core/java.mk b/core/java.mk
index f9305df..a6ff6f5 100644
--- a/core/java.mk
+++ b/core/java.mk
@@ -652,14 +652,14 @@
$(LOCAL_MODULE_MAKEFILE_DEP) $(JACK)
ifeq ($(LOCAL_IS_STATIC_JAVA_LIBRARY),true)
-$(full_classes_jack): $(jack_all_deps)
+$(full_classes_jack): $(jack_all_deps) | setup-jack-server
@echo Building with Jack: $@
$(java-to-jack)
else #LOCAL_IS_STATIC_JAVA_LIBRARY
$(built_dex_intermediate): PRIVATE_CLASSES_JACK := $(full_classes_jack)
-$(built_dex_intermediate): $(jack_all_deps)
+$(built_dex_intermediate): $(jack_all_deps) | setup-jack-server
@echo Building with Jack: $@
$(jack-java-to-dex)
@@ -678,7 +678,7 @@
$(noshrob_classes_jack): PRIVATE_JACK_INCREMENTAL_DIR :=
endif
$(noshrob_classes_jack): PRIVATE_JACK_PROGUARD_FLAGS :=
-$(noshrob_classes_jack): $(jack_all_deps)
+$(noshrob_classes_jack): $(jack_all_deps) | setup-jack-server
@echo Building with Jack: $@
$(java-to-jack)
endif # full_classes_jar is defined
diff --git a/core/main.mk b/core/main.mk
index 2bd3163..004a376 100644
--- a/core/main.mk
+++ b/core/main.mk
@@ -319,6 +319,11 @@
-include $(TOPDIR)prebuilts/sdk/tools/jack_versions.mk
-include $(TOPDIR)prebuilts/sdk/tools/jack_for_module.mk
+#
+# -----------------------------------------------------------------
+# Install and start Jack server
+-include $(TOPDIR)prebuilts/sdk/tools/jack_server_setup.mk
+
# -----------------------------------------------------------------
###
### In this section we set up the things that are different
diff --git a/core/prebuilt_internal.mk b/core/prebuilt_internal.mk
index da76eb9..2dd392b 100644
--- a/core/prebuilt_internal.mk
+++ b/core/prebuilt_internal.mk
@@ -322,7 +322,7 @@
ifeq ($(LOCAL_MODULE_CLASS),JAVA_LIBRARIES)
$(intermediates.COMMON)/classes.jack : PRIVATE_JILL_FLAGS:=$(LOCAL_JILL_FLAGS)
$(intermediates.COMMON)/classes.jack : $(my_src_jar) $(LOCAL_MODULE_MAKEFILE_DEP) \
- $(LOCAL_ADDITIONAL_DEPENDENCIES) $(JILL_JAR) $(JACK)
+ $(LOCAL_ADDITIONAL_DEPENDENCIES) $(JILL_JAR) $(JACK) | setup-jack-server
$(transform-jar-to-jack)
endif # JAVA_LIBRARIES