summaryrefslogtreecommitdiffstats
path: root/core/host_dalvik_static_java_library.mk
diff options
context:
space:
mode:
authorYohann Roussel <yroussel@google.com>2014-09-08 14:45:14 +0200
committerYohann Roussel <yroussel@google.com>2014-12-02 18:11:13 +0100
commitb4c49cba57dafdcdfb693a549c5a1dc1beb71c25 (patch)
tree779bcaabb70535105c12058aa2a77d40be5a10a3 /core/host_dalvik_static_java_library.mk
parent7fcb9209ac5823973053d954cf283a4485ad97de (diff)
downloadbuild-b4c49cba57dafdcdfb693a549c5a1dc1beb71c25.zip
build-b4c49cba57dafdcdfb693a549c5a1dc1beb71c25.tar.gz
build-b4c49cba57dafdcdfb693a549c5a1dc1beb71c25.tar.bz2
Compile using Jack.
This allows to compile dex targeted java sources using Jack and Jill. Default is still to compile with the legacy toolchain. Default can be switched to the new toolchain by setting environement variable: export ANDROID_COMPILE_WITH_JACK=true Toolchain can also be forced for one module by defining LOCAL_USE_JACK:=true # false in the mk portion defining the module. Jack execution environement can be controlled with: Global variable ANDROID_JACK_VM allow to change the jvm executing Jack. Global variable ANDROID_JACK_VM_ARGS allows to change default args given to the jvm. Global variable ANDROID_JACK_EXTRA_ARGS allows to define some default args to give to Jack LOCAL_JACK_VM_ARGS allows to override default args given to the jvm for the module. LOCAL_JACK_EXTRA_ARGS allows to override default args passed to Jack. Change-Id: Ib81a0fd5f86a51d1e0edbb81cc791d828a05dd29
Diffstat (limited to 'core/host_dalvik_static_java_library.mk')
-rw-r--r--core/host_dalvik_static_java_library.mk17
1 files changed, 17 insertions, 0 deletions
diff --git a/core/host_dalvik_static_java_library.mk b/core/host_dalvik_static_java_library.mk
index 3ae74e4..bb12e7e 100644
--- a/core/host_dalvik_static_java_library.mk
+++ b/core/host_dalvik_static_java_library.mk
@@ -23,6 +23,23 @@
USE_CORE_LIB_BOOTCLASSPATH := true
LOCAL_JAVA_LIBRARIES += core-libart-hostdex
+intermediates.COMMON := $(call intermediates-dir-for,JAVA_LIBRARIES,$(LOCAL_MODULE),true,COMMON,)
+full_classes_jack := $(intermediates.COMMON)/classes.jack
+LOCAL_INTERMEDIATE_TARGETS += \
+ $(full_classes_jack)
+
include $(BUILD_SYSTEM)/host_java_library.mk
+# proguard is not supported
+# *.proto files are not supported
+$(full_classes_jack): PRIVATE_JACK_FLAGS := $(LOCAL_JACK_FLAGS)
+$(full_classes_jack): PRIVATE_JARJAR_RULES := $(LOCAL_JARJAR_RULES)
+$(full_classes_jack): \
+ PRIVATE_JACK_INTERMEDIATES_DIR := $(intermediates.COMMON)/jayces
+$(full_classes_jack): $(java_sources) $(java_resource_sources) $(full_jack_lib_deps) \
+ $(jar_manifest_file) $(layers_file) $(LOCAL_MODULE_MAKEFILE) \
+ $(LOCAL_ADDITIONAL_DEPENDENCIES) $(LOCAL_JARJAR_RULES) \
+ $(JACK_JAR)
+ @echo Building with Jack: $@
+ $(java-to-jack)
USE_CORE_LIB_BOOTCLASSPATH :=