From ccfa02677573d3378f6dbe867b13c6cee479e25e Mon Sep 17 00:00:00 2001 From: Lucas Werkmeister Date: Fri, 24 Mar 2017 18:35:53 +0100 Subject: [PATCH] Add ceylon bootstrap --- .ceylon/bootstrap/ceylon-bootstrap.jar | Bin 0 -> 35510 bytes .ceylon/bootstrap/ceylon-bootstrap.properties | 3 + ceylonb | 81 +++++++++++ ceylonb.bat | 132 ++++++++++++++++++ 4 files changed, 216 insertions(+) create mode 100644 .ceylon/bootstrap/ceylon-bootstrap.jar create mode 100644 .ceylon/bootstrap/ceylon-bootstrap.properties create mode 100755 ceylonb create mode 100644 ceylonb.bat diff --git a/.ceylon/bootstrap/ceylon-bootstrap.jar b/.ceylon/bootstrap/ceylon-bootstrap.jar new file mode 100644 index 0000000000000000000000000000000000000000..4c1fcb287f04c78c26fb1f894e03724162084677 GIT binary patch literal 35510 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 literal 0 HcmV?d00001 diff --git a/.ceylon/bootstrap/ceylon-bootstrap.properties b/.ceylon/bootstrap/ceylon-bootstrap.properties new file mode 100644 index 00000000..573c7a0a --- /dev/null +++ b/.ceylon/bootstrap/ceylon-bootstrap.properties @@ -0,0 +1,3 @@ +#Generated by 'ceylon bootstrap' +#Fri Mar 24 18:35:23 CET 2017 +distribution=https\://ceylon-lang.org/download/dist/1_3_2-SNAPSHOT diff --git a/ceylonb b/ceylonb new file mode 100755 index 00000000..b6133e6a --- /dev/null +++ b/ceylonb @@ -0,0 +1,81 @@ +#!/bin/sh + +# resolve links - $0 may be a softlink +PRG="$0" +while [ -h "$PRG" ]; do + ls="$(ls -ld "$PRG")" + link="${ls##*-> }" # remove largest prefix: yields link target (behind ->) + if [ "$link" != "${link#/}" ]; then # remove prefix / if present + # path was absolute + PRG="$link" + else + # was not + PRG="$(dirname "$PRG")/$link" + fi +done + +DIR="$(dirname "$PRG")" + +# Check if we should use a distribution bootstrap +if [ -f "$DIR/.ceylon/bootstrap/ceylon-bootstrap.properties" ] && [ -f "$DIR/.ceylon/bootstrap/ceylon-bootstrap.jar" ]; then + # Using bootstrap + LIB="$DIR/.ceylon/bootstrap" +else + # Normal execution + CEYLON_HOME="$DIR/.." + LIB="$CEYLON_HOME/lib" + + if [ "$1" = "--show-home" ]; then + echo "$CEYLON_HOME" + exit + fi +fi + +if [ -z "$JAVA_HOME" ]; then + JAVA="java" +else + JAVA="$JAVA_HOME/bin/java" +fi + +# Make sure we have java installed +if ! hash java 2>&- +then + echo >&2 "Java not found, you must install Java in order to compile and run Ceylon programs" + echo >&2 "Go to http://www.java.com/getjava/ to download the latest version of Java" + exit 1 +fi + +#JAVA_DEBUG_OPTS="-Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=y" + +if [ "$PRESERVE_JAVA_OPTS" != "true" ]; then + PREPEND_JAVA_OPTS="$JAVA_DEBUG_OPTS" + if [ -n "$COLUMNS" ]; then + CEYL_COLS="$COLUMNS" + elif stty size 2>/dev/null >/dev/null; then + CEYL_COLS="$(stty size 2>/dev/null | cut -d' ' -f2)" + else + CEYL_COLS="$(tput 2>/dev/null cols)" + fi + PREPEND_JAVA_OPTS="$PREPEND_JAVA_OPTS -Dcom.redhat.ceylon.common.tool.terminal.width=$CEYL_COLS" + PREPEND_JAVA_OPTS="$PREPEND_JAVA_OPTS -Dcom.redhat.ceylon.common.tool.progname=$(basename "$PRG")" +fi +for arg; do + case $arg in + --java=*) JAVA_OPTS="$JAVA_OPTS ${arg#--java=}";; + [!-]*) break;; + esac +done +JAVA_OPTS="$PREPEND_JAVA_OPTS $JAVA_OPTS" + +BOOTSTRAP="$LIB/ceylon-bootstrap.jar" + +# Check for cygwin, convert bootstrap path to Windows format +case "`uname`" in + CYGWIN*) [ -n "$LIB" ] && BOOTSTRAP=`cygpath -w "$BOOTSTRAP"` +esac + +exec "$JAVA" \ + $JAVA_OPTS \ + -jar "$BOOTSTRAP" \ + "$@" + diff --git a/ceylonb.bat b/ceylonb.bat new file mode 100644 index 00000000..74c45475 --- /dev/null +++ b/ceylonb.bat @@ -0,0 +1,132 @@ +@echo off +setlocal ENABLEDELAYEDEXPANSION + +:: Check if we should use a distribution bootstrap +pushd "%~dp0" +set "DIR=%CD%" +popd +if NOT exist "%DIR%\.ceylon\bootstrap\ceylon-bootstrap.properties" ( + goto :normal +) +if NOT exist "%DIR%\.ceylon\bootstrap\ceylon-bootstrap.jar" ( + goto :normal +) + +:: Using bootstrap +set "LIB=%DIR%\.ceylon\bootstrap" + +goto :endbs + +:normal + +:: Normal execution + +:: Find CEYLON_HOME +pushd "%~dp0.." +set "CEYLON_HOME=%CD%" +popd +set "LIB=%CEYLON_HOME%\lib" + +if "%~1" == "--show-home" ( + @echo %CEYLON_HOME% + exit /b 1 +) + +:endbs + +:: Find Java + +:: Only check the registry if JAVA_HOME is not already set +IF NOT "%JAVA_HOME%" == "" ( + goto :javaend +) + +:: Find Java in the registry +set "KEY_NAME=HKLM\SOFTWARE\JavaSoft\Java Runtime Environment" +set "KEY_NAME2=HKLM\SOFTWARE\Wow6432Node\JavaSoft\Java Runtime Environment" + +:: get the current version +FOR /F "usebackq skip=2 tokens=3" %%A IN (`REG QUERY "%KEY_NAME%" /v CurrentVersion 2^>nul`) DO ( + set "ValueValue=%%A" +) + +if "%ValueValue%" NEQ "" ( + set "JAVA_CURRENT=%KEY_NAME%\%ValueValue%" +) else ( + rem Try again for 64bit systems + + FOR /F "usebackq skip=2 tokens=3" %%A IN (`REG QUERY "%KEY_NAME2%" /v CurrentVersion 2^>nul`) DO ( + set "JAVA_CURRENT=%KEY_NAME2%\%%A" + ) +) + +if "%ValueValue%" NEQ "" ( + set "JAVA_CURRENT=%KEY_NAME%\%ValueValue%" +) else ( + rem Try again for 64bit systems from a 32-bit process + + FOR /F "usebackq skip=2 tokens=3" %%A IN (`REG QUERY "%KEY_NAME%" /v CurrentVersion /reg:64 2^>nul`) DO ( + set "JAVA_CURRENT=%KEY_NAME%\%%A" + ) +) + +if "%JAVA_CURRENT%" == "" ( + @echo Java not found, you must install Java in order to compile and run Ceylon programs + @echo Go to http://www.java.com/getjava/ to download the latest version of Java + exit /b 1 +) + +:: get the javahome +FOR /F "usebackq skip=2 tokens=3*" %%A IN (`REG QUERY "%JAVA_CURRENT%" /v JavaHome 2^>nul`) DO ( + set "JAVA_HOME=%%A %%B" +) + +if "%JAVA_HOME%" EQU "" ( + rem Try again for 64bit systems from a 32-bit process + FOR /F "usebackq skip=2 tokens=3*" %%A IN (`REG QUERY "%JAVA_CURRENT%" /v JavaHome /reg:64 2^>nul`) DO ( + set "JAVA_HOME=%%A %%B" + ) +) + +:javaend + +set "JAVA=%JAVA_HOME%\bin\java.exe" + +:: Check that Java executable actually exists +if not exist "%JAVA%" ( + @echo "Cannot find java.exe at %JAVA%, check that your JAVA_HOME variable is pointing to the right place" + exit /b 1 +) + +rem set JAVA_DEBUG_OPTS="-Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=y" + +if NOT "%PRESERVE_JAVA_OPTS%" == "true" ( + set PREPEND_JAVA_OPTS=%JAVA_DEBUG_OPTS% + rem Other java opts go here +) + +rem Find any --java options and add their values to JAVA_OPTS +for %%x in (%*) do ( + set ARG=%%~x + if "!ARG:~0,7!" EQU "--java=" ( + set OPT=!ARG:~7! + set "JAVA_OPTS=!JAVA_OPTS! !OPT!" + ) else if "!ARG!" EQU "--java" ( + @echo Error: use --java options with an equal sign and quotes, eg: "--java=-Xmx500m" + exit /b 1 + ) else if "!ARG:~0,1!" NEQ "-" ( + goto :breakloop + ) +) +:breakloop + +set "JAVA_OPTS=%PREPEND_JAVA_OPTS% %JAVA_OPTS%" + +"%JAVA%" ^ + %JAVA_OPTS% ^ + -jar "%LIB%\ceylon-bootstrap.jar" ^ + %* + +endlocal + +if %errorlevel% neq 0 exit /B %errorlevel%