Skip to content

Commit

Permalink
Move JVMCI download to ant
Browse files Browse the repository at this point in the history
- remove it from .travis.yml
- use the new libs/jvmci folder in ./som launcher
- remove “known” locations to guess where a GRAAL/JVMCI_BIN is
- adapt order to find JVMCI bin to use more relevant/explicit settings first

Signed-off-by: Stefan Marr <git@stefan-marr.de>
  • Loading branch information
smarr committed Jun 30, 2019
1 parent bbd9b41 commit f3a1a8f
Show file tree
Hide file tree
Showing 3 changed files with 41 additions and 45 deletions.
22 changes: 0 additions & 22 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,6 @@ env:
- secure: PrFbSr/qjhVXrpiOzrcEMUZrnjEWJmvx5DC9QdaAmnUKpG9/7mJBQVgNziVj+GWfW84WJpkOsQf+I2lx7/cQsWQKad/t8wtypl30wGesSTpAgl5fCiKLOBAbOghKXir+WIaxtcATPPffur9OLh3ogEcmIQbVi682YUKmA5zF11JZdpCR4QONc/u+DqB29FuHru/cFiesYP0Oz82A+M0UtMcYsurKIxdKMD4YK/uSG892PUrcZU6STXlukhgQuy3PitSWkYV2KGxXMVKzWGM7dJvRggN05r/S871pscuRwZ+Doxqr9b17B3umCHi3i4KXmNH+Esb0p1mvegs0iS/b7RyA5SENre+H24n3SOeXTa3wSpTnF90XxQrDEBbY5wV7lN7MJG+pHxkOvoZt6pS3f7x2VYR8Joa4J+Gf6IDvxZMiCd1v3N1kc9ygyvJmHf5wDmLMdupk0/frojApDXfJT6bqiVL3S0FqZpXSPGAsKYf8wfn30Xz/YUBsnfUQ/a21Zz52+OTqPbt32Hf1FGYIEJSkZJUN90Q8rHVJt9zPg37xKCDuf6bxlvT040KSzuuXtizLkOnHq2rhg4Oad/JTw3d4NzPoRVzUI9qDKPrA7RdUAjmrB04Z1f3g/I6w3h2B9JTSFAzBcMZ5NYZhIqE31GQukgStaqC98y32/zo9xFs=
- secure: "WalAXxkaD+B+mMBN+1QXrsQVl90984+giSLl7dgPwTPdQ/Ka/8AlX4n53HATztgmjwgJbM+Y53YhoSR6Zaj8CRUL6WhXGwNA2q7Xma8q0WNmX8LmoBsJlw44G50yGQOv20vTRw4SqPJp58f4PQanAAs4iPuNBOMGYji4eg60pC1bV5ZNyB5HalxQQQR5PyV647Ooa4WmP3YYLlx4FWqhh33kM3pt9RUOw8ZmVYwOqZ54qJur8Tl3Hp33R7rQ/YMNIenR1wnRunNlV/g8O8xLzUM2qjW1p+XKK08SVI/EyDn1ZtNxyzuhBp1OYxwPVLD28I4r6e/nIEr8+HnBeaUX3y43AjL6x/rzr4KTyPeCNhOYLgcdLM3A5tO/ae+KPKWXBXOwkmxjq7aF6v1Qj5uC/X1Vyb8u6EZETbrx7yNymBHyWpqM4OfljCFyU1c1JjOjsEkhWzE9YoNzhG2bMTBbpUz1gSA/6UCqjhK+3LzneTR/ZmN4RmMlsqTM98E6SMiaGGhqTENIu1UwuPpzl4pv0LJdGoxvR+2aIOZrUI/mD8iuqNoy/gQGU36OiuKencbAVjXBOJXjZueW/VcJ4ivX6Ch4rnFONLKvL2z04cu9tD8IJQfJEmjEieSI44ZCh0LXrMZRJ9bjLpIbhnRbtZ4LP6eBCOtxOwiyKIoueN1y8Fk="

- JVMCI_VERSION="jvmci-20-b03"
- JDK8_UPDATE_VERSION="212_1"

notifications:
slack:
secure: I4ZII92TFLy6vlyX98ns7BaFwA4Qo/o7Av2fnUQW6FfW13EF7Taregu20BIYFFMsiigXCAtvPjqH4HVLpZgK6gZXhbCuI8kl15ZsfRWXcgGSfGZw2De8YS845+QXjc0fq0i46IAVWIey/ImfJrmP7aqjQfWS3XRRpz1kVf7A3/UYghn4GYfJ4VvCglU+LI6qa5lbEXeZAWR0Ndelhuwj7cBSWlLNM2PEmhnf4FsOVQ986S0nmlmjybkYu2NmO+tBmoydjLr5cLt3U9maiLruJ/01ebxfML37W1GOGRUqkSc2G95TohKyiTkluL/HqBMiXXD7cXkuldpTLREnrdQqImyvqu5nq0Tr8vOjJ776LCHDFHv//CkBF1W8n7H9QHwEQonq+Hu2iPOec23Os0b1SlqLVc+1Fy88G7KkvFN430ugiJBzW5+Qk9TUE8CBwL4FixeO3nv0UYleigjGgrpYRL+yWPqwxEMQAWZN6W2YGY10rPYT0eooukEbmNphWzz/vFO4UCphMSMt6SLoN7r3br7DYLRUevdK8vrIUb1LUQPGMYf7WIdMnckme7y+oJ3SR2YO6+vs3EyQsF1AdJqpbvag0/AbWHFVi2vfwrvKZwperPLtXE+EXh8B+Ck62gcYsTyUuMpoEws/+DqHUFByOgDbPDFBmFYwPWCoZh4h3Rw=
Expand Down Expand Up @@ -56,25 +53,6 @@ before_install:
install: |
printf "travis_fold:start:downloads\nLoad JDK and/or Eclipse\n"
if [ "$TRAVIS_OS_NAME" = "linux" ]
then
JDK_TAR=${TRAVIS_BUILD_DIR}/../jdk.tar.gz
wget --progress=bar:force https://github.com/graalvm/openjdk8-jvmci-builder/releases/download/${JVMCI_VERSION}/openjdk-8u${JDK8_UPDATE_VERSION}-${JVMCI_VERSION}-linux-amd64.tar.gz -O ${JDK_TAR}
mkdir -p ${TRAVIS_BUILD_DIR}/jdk-jvmci
tar -C ${TRAVIS_BUILD_DIR}/jdk-jvmci -xzf ${JDK_TAR} --strip 1
export JVMCI_HOME=${TRAVIS_BUILD_DIR}/jdk-jvmci
export JVMCI_BIN=${JVMCI_HOME}/bin/java
fi
if [ "$TRAVIS_OS_NAME" = "osx" ]
then
JDK_TAR=${TRAVIS_BUILD_DIR}/../jdk.tar.gz
wget --progress=bar:force https://github.com/graalvm/openjdk8-jvmci-builder/releases/download/${JVMCI_VERSION}/openjdk-8u${JDK8_UPDATE_VERSION}-${JVMCI_VERSION}-darwin-amd64.tar.gz -O ${JDK_TAR}
mkdir -p ${TRAVIS_BUILD_DIR}/jdk-jvmci
tar -C ${TRAVIS_BUILD_DIR}/jdk-jvmci -xzf ${JDK_TAR} --strip 1
export JVMCI_HOME=${TRAVIS_BUILD_DIR}/jdk-jvmci/Contents/Home
export JVMCI_BIN=${JVMCI_HOME}/bin/java
fi
if [ "$TASK" = "checkstyle" ]
then
Expand Down
29 changes: 25 additions & 4 deletions build.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,9 @@
xmlns:unless="ant:unless"
xmlns:if="ant:if"
xmlns:jacoco="antlib:org.jacoco.ant">

<property name="jvmci.version" value="jvmci-20-b04" />
<property name="jdk8.version" value="212" />

<macrodef name="travis">
<attribute name="target" />
Expand All @@ -21,6 +24,9 @@
<condition property="kernel" value="darwin-amd64" else="linux-amd64">
<os family="mac"/>
</condition>
<condition property="home.ext" value="/Contents/Home" else="">
<os family="mac"/>
</condition>

<travis target="env" start="Environment" />
<echo>
Expand Down Expand Up @@ -52,6 +58,7 @@
<property name="somns-deps.version" value="0.3.6" />
<property name="checkstyle.version" value="8.11" />
<property name="jacoco.version" value="0.8.0" />
<property name="jvmci.home" location="${lib.dir}/jvmci${home.ext}" />

<!-- <property name="lib.url" value="https://dl.bintray.com/smarr/SOM" /> -->
<property name="lib.url" value="http://stefan-marr.de/dev" />
Expand Down Expand Up @@ -133,14 +140,14 @@
</exec>
</target>

<target name="truffle-libs" unless="skip.truffle" depends="truffle-submodule">
<target name="truffle-libs" unless="skip.truffle" depends="jvmci-libs,truffle-submodule">
<travis target="truffle-libs" start="Build Truffle" />
<exec executable="${mx.cmd}" dir="${svm.dir}" failonerror="true">
<arg value="--dynamicimports"/>
<arg value="../truffle,../tools,../compiler,../sdk"/>
<arg value="build"/>
<arg value="--no-native" unless:true="${build.native}" />
<env key="JAVA_HOME" value="${env.JVMCI_HOME}" />
<env key="JAVA_HOME" value="${jvmci.home}" />
</exec>
<travis target="truffle-libs" />
</target>
Expand All @@ -166,6 +173,20 @@
<arg value="eclipseinit"/>
</exec>
</target>

<target name="jvmci-libs">
<get src="https://github.com/graalvm/openjdk8-jvmci-builder/releases/download/${jvmci.version}/openjdk-8u${jdk8.version}-${jvmci.version}-${kernel}.tar.gz"
usetimestamp="true"
dest="${lib.dir}/jvmci.tar.gz" />
<mkdir dir="${lib.dir}/jvmci" />
<exec executable="tar" dir="${basedir}">
<arg line="-C ${lib.dir}/jvmci -xzf ${lib.dir}/jvmci.tar.gz --strip 1"/>
</exec>
</target>

<target name="jvmci-home">
<echo>${jvmci.home}</echo>
</target>

<target name="som-libs">
<travis target="som-libs" start="Get Libs" />
Expand Down Expand Up @@ -490,11 +511,11 @@
<target name="tests" depends="core-tests,serialization-tests,replay-tests,coverage">
</target>

<target name="native" depends="libs,compile-som">
<target name="native" depends="libs,jvmci-libs,compile-som">
<travis target="native" start="Build Native Image" />

<exec executable="${mx.cmd}" dir="${svm.dir}">
<env key="JAVA_HOME" value="${env.JVMCI_HOME}" />
<env key="JAVA_HOME" value="${jvmci.home}" />
<arg line="native-image" />
<arg line="--macro:truffle --no-fallback --initialize-at-build-time -H:+ReportExceptionStackTraces" />
<arg line="-H:-ThrowUnsafeOffsetErrors" />
Expand Down
35 changes: 16 additions & 19 deletions som
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,6 @@ JVMCI_BIN = os.getenv('JVMCI_BIN', None)
GRAAL_HOME = os.getenv('GRAAL_HOME', None)
GRAAL_FLAGS = os.getenv('GRAAL_FLAGS', None)

GRAAL_LOCATIONS = ['~/.local/graal-core/',
BASE_DIR + '/../graal/graal-jvmci-8']

##
## Defining Argument Parsing
##
Expand Down Expand Up @@ -153,27 +150,27 @@ if args.dynamic_metrics:
if args.java_interpreter:
args.interpreter = True

graal_home = GRAAL_HOME
# Determine JVM to be used
java_bin = None

if JAVA_HOME:
java_bin = JAVA_HOME + '/bin/java'
if JVMCI_BIN:
java_bin = JVMCI_BIN
if not java_bin and GRAAL_HOME and os.path.isfile(graal_home + '/bin/java'):
java_bin = graal_home + '/bin/java'

if not java_bin:
# use local JVMCI, which ant already needed
local_jvmci_bin = BASE_DIR + '/libs/jvmci'
if sys.platform == 'darwin':
local_jvmci_bin += '/Contents/Home'
local_jvmci_bin += '/bin/java'
if os.path.isfile(local_jvmci_bin):
java_bin = local_jvmci_bin

if not java_bin and JAVA_HOME:
java_bin = JAVA_HOME + '/bin/java'

if not java_bin:
if not graal_home:
# search known Graal locations
for d in GRAAL_LOCATIONS:
d = os.path.expanduser(d)
if os.path.isdir(d):
graal_home = d
break

if graal_home and os.path.isdir(graal_home + '/bin'):
java_bin = graal_home + '/bin/java'

if java_bin is graal_home or not os.path.isfile(java_bin):
java_bin = "java"

JAVA_MAJOR_VERSION = None
Expand All @@ -187,7 +184,7 @@ try:
except:
pass

if java_bin == "java" and (not JAVA_MAJOR_VERSION or JAVA_MAJOR_VERSION < 9):
if not args.interpreter and not java_bin.startswith(BASE_DIR + '/libs/jvmci') and (not JAVA_MAJOR_VERSION or JAVA_MAJOR_VERSION < 9):
print "No compatible JDK found. Please set the GRAAL_HOME or JVMCI_BIN environment variables."
sys.exit(1)

Expand Down

0 comments on commit f3a1a8f

Please sign in to comment.