-
Notifications
You must be signed in to change notification settings - Fork 8
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
2 changed files
with
118 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,42 @@ | ||
#!/bin/bash | ||
|
||
pushd "${WORKSPACE}" || exit 1 | ||
export MAVEN_REPO=${HOME}/.m2/repository | ||
export MANDREL_REPO=${WORKSPACE}/mandrel | ||
export JAVA_HOME=/usr/java/${OPENJDK} | ||
export MX_HOME=${WORKSPACE}/mx | ||
export PATH=${JAVA_HOME}/bin:${MX_HOME}:${PATH} | ||
pushd mandrel | ||
export MANDREL_VERSION="${MANDREL_VERSION_SUBSTRING} $( git log --pretty=format:%h -n1)" | ||
export MANDREL_VERSION_UNTIL_SPACE="$( echo ${MANDREL_VERSION} | sed -e 's/\([^ ]*\).*/\1/;t' )" | ||
export JAVA_VERSION="$(java --version | sed -e 's/.*build \([^) ]*\)).*/\1/;t;d' )" | ||
export MANDREL_HOME=${WORKSPACE}/mandrel-java11-${MANDREL_VERSION_UNTIL_SPACE} | ||
popd | ||
${JAVA_HOME}/bin/java -ea build.java --maven-local-repository ${MAVEN_REPO} \ | ||
--mandrel-repo ${MANDREL_REPO} --mx-home ${MX_HOME} \ | ||
--mandrel-version ${MANDREL_VERSION} --mandrel-home ${MANDREL_HOME} \ | ||
--archive-suffix tar.gz | ||
TAR_NAME="$( ls mandrel-*.tar.gz )" | ||
sha1sum ${TAR_NAME}>${TAR_NAME}.sha1 | ||
sha256sum ${TAR_NAME}>${TAR_NAME}.sha256 | ||
cat >./MANDREL.md <<EOL | ||
This is a dev build of Mandrel from https://github.com/graalvm/mandrel. | ||
Mandrel ${MANDREL_VERSION} | ||
OpenJDK used: ${JAVA_VERSION} | ||
EOL | ||
if [[ ! -e "${MANDREL_HOME}/bin/native-image" ]]; then | ||
echo "Cannot find native-image tool. Quitting..." | ||
exit 1 | ||
fi | ||
cat >./Hello.java <<EOL | ||
public class Hello { | ||
public static void main(String[] args) { | ||
System.out.println("Hello."); | ||
} | ||
} | ||
EOL | ||
export JAVA_HOME=${MANDREL_HOME} | ||
export PATH=${JAVA_HOME}/bin:${PATH} | ||
javac Hello.java | ||
native-image Hello | ||
if [[ "`./hello`" == "Hello." ]]; then echo Done; else echo Native image fail;exit 1;fi |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,76 @@ | ||
@echo off | ||
|
||
pushd %WORKSPACE% | ||
|
||
set PYTHONHTTPSVERIFY=0 | ||
set "JAVA_HOME=C:\Program Files\AdoptOpenJDK\%OPENJDK%" | ||
set "PATH=%JAVA_HOME%\bin;%PATH%" | ||
set MAVEN_REPO=C:\tmp\.m2\repository | ||
set "MANDREL_REPO=%WORKSPACE%\mandrel" | ||
set "MX_HOME=%WORKSPACE%\mx" | ||
|
||
pushd mandrel | ||
for /F "tokens=*" %%i in ('"git log --pretty=format:%%h -n1"') do set VER=%%i | ||
set "MANDREL_VERSION=%MANDREL_VERSION_SUBSTRING% %VER%" | ||
for /f "tokens=1 delims= " %%a IN ("%MANDREL_VERSION%") do set MANDREL_VERSION_UNTIL_SPACE=%%a | ||
for /f "tokens=6" %%g in ('java --version 2^>^&1 ^| findstr /R "Runtime.*build "') do set JAVA_VERSION=%%g | ||
set JAVA_VERSION=%JAVA_VERSION:~0,-1% | ||
set MANDREL_HOME=%WORKSPACE%\mandrel-java11-%MANDREL_VERSION_UNTIL_SPACE% | ||
popd | ||
|
||
echo XXX MANDREL_VERSION_SUBSTRING: %MANDREL_VERSION_SUBSTRING% | ||
echo XXX MANDREL_VERSION: %MANDREL_VERSION% | ||
echo XXX MANDREL_VERSION_UNTIL_SPACE: %MANDREL_VERSION_UNTIL_SPACE% | ||
echo XXX JAVA_VERSION: %JAVA_VERSION% | ||
echo XXX MANDREL_HOME: %MANDREL_HOME% | ||
echo XXX MX_HOME: %MX_HOME% | ||
echo XXX MAVEN_REPO: %MAVEN_REPO% | ||
echo XXX MANDREL_REPO: %MANDREL_REPO% | ||
echo XXX JAVA_HOME: %JAVA_HOME% | ||
|
||
call vcvars64 | ||
IF NOT %ERRORLEVEL% == 0 ( exit 1 ) | ||
|
||
"%JAVA_HOME%\bin\java" -ea build.java --maven-local-repository "%MAVEN_REPO%" --mandrel-repo "%MANDREL_REPO%" --mx-home "%MX_HOME%" --mandrel-version "%MANDREL_VERSION%" --mandrel-home "%MANDREL_HOME%" --archive-suffix zip | ||
IF NOT %ERRORLEVEL% == 0 ( exit 1 ) | ||
|
||
for /f "tokens=5" %%g in ('dir mandrel-*.zip ^| findstr /R mandrel-.*.zip') do set ZIP_NAME=%%g | ||
powershell -c "$hash=(Get-FileHash %ZIP_NAME% -Algorithm SHA1).Hash;echo \"$hash %ZIP_NAME%\"">%ZIP_NAME%.sha1 | ||
IF NOT %ERRORLEVEL% == 0 ( exit 1 ) | ||
|
||
powershell -c "$hash=(Get-FileHash %ZIP_NAME% -Algorithm SHA256).Hash;echo \"$hash %ZIP_NAME%\"">%ZIP_NAME%.sha256 | ||
IF NOT %ERRORLEVEL% == 0 ( exit 1 ) | ||
|
||
( | ||
echo This is a dev build of Mandrel from https://github.com/graalvm/mandrel. | ||
echo Mandrel %MANDREL_VERSION% | ||
echo OpenJDK used: %JAVA_VERSION% | ||
) >MANDREL.md | ||
|
||
if not exist "%MANDREL_HOME%\bin\native-image.cmd" ( | ||
echo "Cannot find native-image tool. Quitting..." | ||
exit 1 | ||
) else ( | ||
echo "native-image.cmd is present, good." | ||
) | ||
|
||
( | ||
echo|set /p=" public class Hello {" | ||
echo|set /p=" public static void main(String[] args) {" | ||
echo|set /p=" System.out.println("Hello.");" | ||
echo|set /p=" }" | ||
echo|set /p=" }" | ||
) >Hello.java | ||
|
||
set "JAVA_HOME=%MANDREL_HOME%" | ||
set "PATH=%JAVA_HOME%\bin;%PATH%" | ||
javac Hello.java | ||
native-image Hello | ||
|
||
for /F "tokens=*" %%i in ('hello.exe') do set HELLO_OUT=%%i | ||
if "%HELLO_OUT%" == "Hello." ( | ||
echo Done | ||
) else ( | ||
echo Native image fail | ||
exit 1 | ||
) |