Fix java version detection when _JAVA_OPTIONS is set.
_JAVA_OPTIONS is an environment variable that can be used to affect the behavior of java and javac. It is currently required to get Android to build on some configurations, where the default Java heap size is too small. Unfortunately, if _JAVA_OPTIONS is set, both java and javac will output its value to the console as the first line on every invocation, including trivial ones like java -version. This will confuse main.mk’s version detection, which only looks at the first line of output. Tweak the version detection to run grep before head, so that the _JAVA_OPTIONS line is filtered by the grep. Change-Id: I69aee52b56d27711b7d3087ec6b3ebab07ffc3af
This commit is contained in:
parent
1c380c13d9
commit
bb406bf4c0
12
core/main.mk
12
core/main.mk
|
@ -180,12 +180,12 @@ endif # if requires_openjdk
|
|||
# EXPERIMENTAL_USE_JAVA7 is set, 1.6 otherwise.
|
||||
ifneq ($(EXPERIMENTAL_USE_JAVA7),)
|
||||
required_version := "1.7.x"
|
||||
java_version := $(shell java -version 2>&1 | head -n 1 | grep '^java .*[ "]1\.7[\. "$$]')
|
||||
javac_version := $(shell javac -version 2>&1 | head -n 1 | grep '[ "]1\.7[\. "$$]')
|
||||
java_version := $(shell java -version 2>&1 | grep '^java .*[ "]1\.7[\. "$$]' | head -n 1)
|
||||
javac_version := $(shell javac -version 2>&1 | grep '[ "]1\.7[\. "$$]' | head -n 1 )
|
||||
else # if EXPERIMENTAL_USE_JAVA7
|
||||
required_version := "1.6.x"
|
||||
java_version := $(shell java -version 2>&1 | head -n 1 | grep '^java .*[ "]1\.6[\. "$$]')
|
||||
javac_version := $(shell javac -version 2>&1 | head -n 1 | grep '[ "]1\.6[\. "$$]')
|
||||
java_version := $(shell java -version 2>&1 | grep '^java .*[ "]1\.6[\. "$$]' | head -n 1)
|
||||
javac_version := $(shell javac -version 2>&1 | grep '[ "]1\.6[\. "$$]' | head -n 1)
|
||||
endif # if EXPERIMENTAL_USE_JAVA7
|
||||
|
||||
ifeq ($(strip $(java_version)),)
|
||||
|
@ -193,7 +193,7 @@ $(info ************************************************************)
|
|||
$(info You are attempting to build with the incorrect version)
|
||||
$(info of java.)
|
||||
$(info $(space))
|
||||
$(info Your version is: $(shell java -version 2>&1 | head -n 1).)
|
||||
$(info Your version is: $(shell java -version 2>&1 | grep '^java' | head -n 1).)
|
||||
$(info The required version is: $(required_version))
|
||||
$(info $(space))
|
||||
$(info Please follow the machine setup instructions at)
|
||||
|
@ -208,7 +208,7 @@ $(info ************************************************************)
|
|||
$(info You are attempting to build with the incorrect version)
|
||||
$(info of javac.)
|
||||
$(info $(space))
|
||||
$(info Your version is: $(shell javac -version 2>&1 | head -n 1).)
|
||||
$(info Your version is: $(shell javac -version 2>&1 | grep '^javac' | head -n 1).)
|
||||
$(info The required version is: $(required_java_version))
|
||||
$(info $(space))
|
||||
$(info Please follow the machine setup instructions at)
|
||||
|
|
Loading…
Reference in New Issue