Revert "Revert "Allow java targets to support 1.8 source / target""

Reapply build changes for Java 8. Must be submitted with
changes in development/build.

This reverts commit 8db0d9724faf8e4ff0d2ced10b7ff479ed13fa77.

Change-Id: Id2bef692997876c34f6c58b7b0512f4478da1985
diff --git a/core/clear_vars.mk b/core/clear_vars.mk
index 656f327..069fbf9 100644
--- a/core/clear_vars.mk
+++ b/core/clear_vars.mk
@@ -342,6 +342,7 @@
 LOCAL_CLANG_64:=
 LOCAL_INIT_RC_32:=
 LOCAL_INIT_RC_64:=
+LOCAL_JAVA_LANGUAGE_VERSION:=
 
 # Trim MAKEFILE_LIST so that $(call my-dir) doesn't need to
 # iterate over thousands of entries every time.
diff --git a/core/combo/javac.mk b/core/combo/javac.mk
index 70dae13..7f66ea8 100644
--- a/core/combo/javac.mk
+++ b/core/combo/javac.mk
@@ -14,7 +14,7 @@
 ANDROID_COMPILE_WITH_JACK := true
 endif
 
-common_jdk_flags := -source 1.7 -target 1.7 -Xmaxerrs 9999999
+common_jdk_flags := -Xmaxerrs 9999999
 
 # Use the indexer wrapper to index the codebase instead of the javac compiler
 ifeq ($(ALTERNATE_JAVAC),)
diff --git a/core/java_common.mk b/core/java_common.mk
index 5e0dfa0..08e5ee7 100644
--- a/core/java_common.mk
+++ b/core/java_common.mk
@@ -1,6 +1,14 @@
 # Common to host and target Java modules.
 
 ###########################################################
+## Java version
+###########################################################
+ifeq (,$(LOCAL_JAVA_LANGUAGE_VERSION))
+  LOCAL_JAVA_LANGUAGE_VERSION := 1.7
+endif
+LOCAL_JAVACFLAGS += -source $(LOCAL_JAVA_LANGUAGE_VERSION) -target $(LOCAL_JAVA_LANGUAGE_VERSION)
+
+###########################################################
 ## .proto files: Compile proto files to .java
 ###########################################################
 proto_sources := $(filter %.proto,$(LOCAL_SRC_FILES))
@@ -267,6 +275,8 @@
 ifdef LOCAL_JACK_ENABLED
 ifdef need_compile_java
 
+LOCAL_JACK_FLAGS += -D jack.java.source.version=$(LOCAL_JAVA_LANGUAGE_VERSION)
+
 full_static_jack_libs := \
     $(foreach lib,$(LOCAL_STATIC_JAVA_LIBRARIES), \
       $(call intermediates-dir-for, \