diff options
author | michelou <michelou@epfl.ch> | 2007-06-18 08:26:33 +0000 |
---|---|---|
committer | michelou <michelou@epfl.ch> | 2007-06-18 08:26:33 +0000 |
commit | a6ffdf699226a145b06ef542ca44575ed3b5245d (patch) | |
tree | 90b5133beac667e6a64b939576d1481c887262a5 | |
parent | 41d984037ab6eff6f5931bdadff833df569c17f5 (diff) | |
download | scala-a6ffdf699226a145b06ef542ca44575ed3b5245d.tar.gz scala-a6ffdf699226a145b06ef542ca44575ed3b5245d.tar.bz2 scala-a6ffdf699226a145b06ef542ca44575ed3b5245d.zip |
removed .NET specifics from Scala commands
-rw-r--r-- | build.xml | 39 | ||||
-rw-r--r-- | src/compiler/scala/tools/ant/templates/tool-unix.tmpl | 5 | ||||
-rw-r--r-- | src/compiler/scala/tools/ant/templates/tool-windows.tmpl | 10 | ||||
-rw-r--r-- | src/compiler/scala/tools/nsc/Main.scala | 8 | ||||
-rw-r--r-- | src/compiler/scala/tools/nsc/Properties.scala | 11 | ||||
-rw-r--r-- | src/compiler/scala/tools/nsc/backend/msil/GenMSIL.scala | 29 | ||||
-rwxr-xr-x | src/mono/bin/scala.net | 60 | ||||
-rwxr-xr-x | src/mono/bin/scala.net.bat | 81 | ||||
-rwxr-xr-x | src/mono/bin/scalac.net | 86 | ||||
-rwxr-xr-x | src/mono/bin/scalac.net.bat | 116 |
10 files changed, 408 insertions, 37 deletions
@@ -53,6 +53,7 @@ PROPERTIES <property name="examples.dir" value="${build.dir}/examples"/> <property name="cldc.dir" value="${build.dir}/cldc"/> <property name="msil.dir" value="${build.dir}/msil"/> + <property name="mono.dir" value="${src.dir}/mono"/> <!-- Sets location and structure of the distribution --> <property name="dist.dir" value="${basedir}/dists"/> <property name="lib.jar.name" value="scala-library.jar"/> @@ -737,7 +738,7 @@ MSIL </target> - <target name="msil" depends="setup.quick, msil.sources"> + <target name="msil.dll" depends="setup.quick, msil.sources"> <quick srcdir="${msil.dir}/src" usepredefs="no" target="msil" assemname="${msil.dir}/predef" assemrefs="${lib.dir}"> <include name="scala/Predef.scala"/> @@ -780,6 +781,42 @@ MSIL </exec> </target> + <target name="msil" depends="msil.dll"> + <copy todir="${quick.dir}/bin"> + <fileset + dir="${mono.dir}/bin" + includes="*.bat,*.net" + /> + <filterset> + <filter token="VERSION" value="${version.number}"/> + <filter token="COPYRIGHT" value="${copyright.string}"/> + <filter token="NAME" value="Scala code runner"/> + </filterset> + </copy> + <if><isset property="os.win"/> + <then> + <copy todir="${quick.dir}/lib"> + <fileset dir="${msil.dir}" includes="*.dll"/> + <fileset dir="${lib.dir}" includes="*.dll"/> + </copy> + </then> + <else> + <symlink + link="${quick.dir}/lib/predef.dll" + resource="${msil.dir}/predef.dll" + overwrite="yes" failonerror="no"/> + <symlink + link="${quick.dir}/lib/scalaruntime.dll" + resource="${lib.dir}/scalaruntime.dll" + overwrite="yes" failonerror="no"/> + <symlink + link="${quick.dir}/lib/mscorlib.dll" + resource="${lib.dir}/mscorlib.dll" + overwrite="yes" failonerror="no"/> + </else> + </if> + </target> + <!-- =========================================================================== TEST ============================================================================ --> diff --git a/src/compiler/scala/tools/ant/templates/tool-unix.tmpl b/src/compiler/scala/tools/ant/templates/tool-unix.tmpl index 913a747e48..2233056bb3 100644 --- a/src/compiler/scala/tools/ant/templates/tool-unix.tmpl +++ b/src/compiler/scala/tools/ant/templates/tool-unix.tmpl @@ -70,7 +70,4 @@ if $cygwin; then BOOT_CLASSPATH=`cygpath --path --$format "$BOOT_CLASSPATH"` fi -ILASM=`which ilasm 2>/dev/null` -[ -x "$ILASM" ] || ILASM="" - -${JAVACMD:=java} ${JAVA_OPTS:=@javaflags@} -Xbootclasspath/a:"$BOOT_CLASSPATH" -cp "$EXTENSION_CLASSPATH" -Dscala.home="$SCALA_HOME" -Denv.classpath="$CLASSPATH" -Dilasm.tool="$ILASM" @properties@ @class@ @toolflags@ "$@@" +${JAVACMD:=java} ${JAVA_OPTS:=@javaflags@} -Xbootclasspath/a:"$BOOT_CLASSPATH" -cp "$EXTENSION_CLASSPATH" -Dscala.home="$SCALA_HOME" -Denv.classpath="$CLASSPATH" @properties@ @class@ @toolflags@ "$@@" diff --git a/src/compiler/scala/tools/ant/templates/tool-windows.tmpl b/src/compiler/scala/tools/ant/templates/tool-windows.tmpl index 0809b2c117..492614d238 100644 --- a/src/compiler/scala/tools/ant/templates/tool-windows.tmpl +++ b/src/compiler/scala/tools/ant/templates/tool-windows.tmpl @@ -34,10 +34,6 @@ rem We use the value of the JAVA_OPTS environment variable if defined set _JAVA_OPTS=%JAVA_OPTS%
if "%_JAVA_OPTS%"=="" set _JAVA_OPTS=@javaflags@
-rem We use the value of the ILASM environment variable if defined
-set _ILASM=%ILASM%
-if "%_ILASM%"=="" call :find_ilasm ilasm.exe
-
set _EXTENSION_CLASSPATH=@extclasspath@
if "%_EXTENSION_CLASSPATH%"=="" (
for %%f in ("%_SCALA_HOME%\lib\*") do call :add_cpath "%%f"
@@ -56,7 +52,7 @@ if "%_BOOT_CLASSPATH%"=="" ( )
)
-set _PROPS=-Dscala.home="%_SCALA_HOME%" -Denv.classpath="%CLASSPATH%" -Dilasm.tool="%_ILASM%" @properties@
+set _PROPS=-Dscala.home="%_SCALA_HOME%" -Denv.classpath="%CLASSPATH%" @properties@
rem echo %_JAVACMD% -Xbootclasspath/a:"%_BOOT_CLASSPATH%" %_JAVA_OPTS% %_PROPS% -cp "%_EXTENSION_CLASSPATH%" @class@ @toolflags@ %_ARGS%
%_JAVACMD% -Xbootclasspath/a:"%_BOOT_CLASSPATH%" %_JAVA_OPTS% %_PROPS% -cp "%_EXTENSION_CLASSPATH%" @class@ @toolflags@ %_ARGS%
@@ -82,10 +78,6 @@ rem set _SCALA_HOME=%~dps0.. set _SCALA_HOME=%_BIN_DIR%..
goto :eof
-:find_ilasm
- set _ILASM=%~$PATH:1
-goto :eof
-
:set_args
set _ARGS=
:loop
diff --git a/src/compiler/scala/tools/nsc/Main.scala b/src/compiler/scala/tools/nsc/Main.scala index ced42db739..cc50e71d9b 100644 --- a/src/compiler/scala/tools/nsc/Main.scala +++ b/src/compiler/scala/tools/nsc/Main.scala @@ -6,6 +6,8 @@ package scala.tools.nsc +import java.io.File + import scala.tools.nsc.doc.{DocDriver => DocGenerator} import scala.tools.nsc.reporters.{Reporter, ConsoleReporter} import scala.tools.nsc.util.FakePos //{Position} @@ -46,6 +48,12 @@ object Main extends AnyRef with EvalLoop { if (command.settings.version.value) reporter.info(null, versionMsg, true) else { + if (command.settings.target.value == "msil") { + val libpath = System.getProperty("msil.libpath") + if (libpath != null) + command.settings.assemrefs.value = + command.settings.assemrefs.value + File.pathSeparator + libpath + } try { object compiler extends Global(command.settings, reporter) if (reporter.hasErrors) { diff --git a/src/compiler/scala/tools/nsc/Properties.scala b/src/compiler/scala/tools/nsc/Properties.scala index 2ec544b7e0..9f3001c9e0 100644 --- a/src/compiler/scala/tools/nsc/Properties.scala +++ b/src/compiler/scala/tools/nsc/Properties.scala @@ -53,13 +53,6 @@ object Properties { val cmdName: String = if (isWin) "scala.bat" else "scala" - val ilasmFormat: java.text.MessageFormat = { - val ilasm = System.getProperty("ilasm.tool", "") - if (ilasm == "") null - else - new java.text.MessageFormat(ilasm + ( - if (isWin) " /quiet /exe /output={0} {1}" - else " --format exe --output={0} {1}" - )) - } + val msilILasm: String = + System.getProperty("msil.ilasm", "") } diff --git a/src/compiler/scala/tools/nsc/backend/msil/GenMSIL.scala b/src/compiler/scala/tools/nsc/backend/msil/GenMSIL.scala index 2c883c2513..115eb8e7ff 100644 --- a/src/compiler/scala/tools/nsc/backend/msil/GenMSIL.scala +++ b/src/compiler/scala/tools/nsc/backend/msil/GenMSIL.scala @@ -455,21 +455,22 @@ abstract class GenMSIL extends SubComponent { createTypes() val filename = new File(outDir, assemName + ".msil").getPath() if (settings.debug.value) - log("output file name: " + filename) + log("Output file name: " + filename) try { massembly.Save(filename) -// val fm = Properties.ilasmFormat -// if (fm != null) { -// val exeName = new File(outDir, assemName + ".exe").getPath() -// val cmd = fm.format(Array(/*output*/exeName, /*input*/filename)) -// try { -// Runtime.getRuntime().exec(cmd) -// } catch { -// case ex: java.io.IOException => -// Console.println("Cannot run command: " + cmd) -// exit(1) -// } -// } + val ilasm = Properties.msilILasm + if (ilasm != "") { + val cmd = ilasm + " " + filename + if (settings.debug.value) + log("Executing command: " + cmd) + try { + Runtime.getRuntime().exec(cmd) + } catch { + case _ => + Console.println("Cannot run command: " + cmd) + exit(1) + } + } } catch { case _: Error => abort("Could not save file " + filename) } @@ -1288,7 +1289,7 @@ abstract class GenMSIL extends SubComponent { case LOAD_MODULE(module) => if (settings.debug.value) - log("genearting LOAD_MODULE for: " + showsym(module)) + log("Generating LOAD_MODULE for: " + showsym(module)) mcode.Emit(OpCodes.Ldsfld, getModuleInstanceField(module)) case STORE_ARRAY_ITEM(kind) => diff --git a/src/mono/bin/scala.net b/src/mono/bin/scala.net new file mode 100755 index 0000000000..a654f0071a --- /dev/null +++ b/src/mono/bin/scala.net @@ -0,0 +1,60 @@ +#!/bin/sh + +############################################################################## +# @NAME@ @VERSION@ +############################################################################## +# @COPYRIGHT@ +# +# This is free software; see the distribution for copying conditions. +# There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. +############################################################################## + +cygwin=false; +darwin=false; +case "`uname`" in + CYGWIN*) cygwin=true ;; + Darwin*) darwin=true ;; +esac + +# Finding the root folder for this Scala distribution +SOURCE=$0; +SCRIPT=`basename "$SOURCE"`; +while [ -h "$SOURCE" ]; do + SCRIPT=`basename "$SOURCE"`; + LOOKUP=`ls -ld "$SOURCE"`; + TARGET=`expr "$LOOKUP" : '.*-> \(.*\)$'`; + if expr "${TARGET:-.}/" : '/.*/$' > /dev/null; then + SOURCE=${TARGET:-.}; + else + SOURCE=`dirname "$SOURCE"`/${TARGET:-.}; + fi; +done; +SCALA_HOME=`dirname "$SOURCE"`/..; +SCALA_HOME=`cd "$SCALA_HOME"; pwd`; +if $cygwin; then + SCALA_HOME=`cygpath --windows --short-name "$SCALA_HOME"` + SCALA_HOME=`cygpath --unix "$SCALA_HOME"` +fi + +if [ ! -x "$MONO" ] ; then + if [ -d "$MONO_HOME" ] ; then + MONO="$MONO_HOME/bin/mono" + else + MONO="mono" + fi +fi + +MSIL_LIBPATH="$SCALA_HOME/lib" +[ -z "$MONO_PATH" ] || MSIL_LIBPATH="$MSIL_LIBPATH:$MONO_PATH" + +if $cygwin; then + if [ "$OS" = "Windows_NT" ] && cygpath -m .>/dev/null 2>/dev/null ; then + format=mixed + else + format=windows + fi + MSIL_LIBPATH=`cygpath --path --$format "$MSIL_LIBPATH"` +fi + +env MONO_PATH="$MSIL_LIBPATH" $MONO "$@" diff --git a/src/mono/bin/scala.net.bat b/src/mono/bin/scala.net.bat new file mode 100755 index 0000000000..89c097a09f --- /dev/null +++ b/src/mono/bin/scala.net.bat @@ -0,0 +1,81 @@ +@echo off
+
+rem ##########################################################################
+rem # @NAME@ @VERSION@
+rem ##########################################################################
+rem # @COPYRIGHT@
+rem #
+rem # This is free software; see the distribution for copying conditions.
+rem # There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
+rem # PARTICULAR PURPOSE.
+rem ##########################################################################
+
+rem We adopt the following conventions:
+rem - System/user environment variables start with a letter
+rem - Local batch variables start with an underscore ('_')
+
+if "%OS%"=="Windows_NT" (
+ @setlocal
+ call :set_home
+ set _ARGS=%*
+) else (
+ set _SCALA_HOME=%SCALA_HOME%
+ rem The following line tests SCALA_HOME instead of _SCALA_HOME, because
+ rem the above change to _SCALA_HOME is not visible within this block.
+ if "%SCALA_HOME%"=="" goto error1
+ call :set_args
+)
+
+rem We use the value of the MONO environment variable if defined
+set _MONO=%MONO%
+if "%_MONO%"=="" (
+ if exist "%MONO_HOME%"\nul (
+ set _MONO=%MONO_HOME%\bin\mono.exe
+ ) else (
+ call :find_mono mono.exe
+ )
+)
+
+set _MSIL_LIBPATH=%_SCALA_HOME%\lib
+if not "%MONO_PATH%"=="" (
+ set _MSIL_LIBPATH=%_MSIL_LIBPATH%;%MONO_PATH%
+)
+
+set MONO_PATH=%_MSIL_LIBPATH%
+%_MONO% %_ARGS%
+goto end
+
+rem ##########################################################################
+rem # subroutines
+
+rem Variable "%~dps0" works on WinXP SP2 or newer
+rem (see http://support.microsoft.com/?kbid=833431)
+rem set _SCALA_HOME=%~dps0..
+:set_home
+ set _BIN_DIR=
+ for %%i in (%~sf0) do set _BIN_DIR=%_BIN_DIR%%%~dpsi
+ set _SCALA_HOME=%_BIN_DIR%..
+goto :eof
+
+:find_mono
+ set _MONO=%~$PATH:1
+goto :eof
+
+:set_args
+ set _ARGS=
+ :loop
+ rem Argument %1 may contain quotes so we use parentheses here
+ if (%1)==() goto :eof
+ set _ARGS=%_ARGS% %1
+ shift
+ goto loop
+
+rem ##########################################################################
+rem # errors
+
+:error1
+echo ERROR: environment variable SCALA_HOME is undefined. It should point to your installation directory.
+goto end
+
+:end
+if "%OS%"=="Windows_NT" @endlocal
diff --git a/src/mono/bin/scalac.net b/src/mono/bin/scalac.net new file mode 100755 index 0000000000..e3442b3606 --- /dev/null +++ b/src/mono/bin/scalac.net @@ -0,0 +1,86 @@ +#!/bin/sh + +############################################################################## +# @NAME@ @VERSION@ +############################################################################## +# @COPYRIGHT@ +# +# This is free software; see the distribution for copying conditions. +# There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. +############################################################################## + +cygwin=false; +darwin=false; +case "`uname`" in + CYGWIN*) cygwin=true ;; + Darwin*) darwin=true ;; +esac + +# Finding the root folder for this Scala distribution +SOURCE=$0; +SCRIPT=`basename "$SOURCE"`; +while [ -h "$SOURCE" ]; do + SCRIPT=`basename "$SOURCE"`; + LOOKUP=`ls -ld "$SOURCE"`; + TARGET=`expr "$LOOKUP" : '.*-> \(.*\)$'`; + if expr "${TARGET:-.}/" : '/.*/$' > /dev/null; then + SOURCE=${TARGET:-.}; + else + SOURCE=`dirname "$SOURCE"`/${TARGET:-.}; + fi; +done; +SCALA_HOME=`dirname "$SOURCE"`/..; +SCALA_HOME=`cd "$SCALA_HOME"; pwd`; +if $cygwin; then + SCALA_HOME=`cygpath --windows --short-name "$SCALA_HOME"` + SCALA_HOME=`cygpath --unix "$SCALA_HOME"` +fi + +# Constructing the extension classpath +EXTENSION_CLASSPATH="" +if [ -z "$EXTENSION_CLASSPATH" ] ; then + for ext in `ls -d "$SCALA_HOME"/lib/*` ; do + if [ -z "$EXTENSION_CLASSPATH" ] ; then + EXTENSION_CLASSPATH="$ext" + else + EXTENSION_CLASSPATH="$EXTENSION_CLASSPATH:$ext" + fi + done +fi + +# Setting the boot class-path to be the standard library (either as a JAR or a folder) +BOOT_CLASSPATH="" +if [ -z "$BOOT_CLASSPATH" ] ; then + if [ -f "$SCALA_HOME/lib/scala-library.jar" ] ; then + BOOT_CLASSPATH="$SCALA_HOME/lib/scala-library.jar" + elif [ -d "$SCALA_HOME/lib/library" ] ; then + BOOT_CLASSPATH="$SCALA_HOME/lib/library" + fi +fi + +if [ ! -x "$ILASM" ] ; then + if [ -d "$MONO_HOME" ] ; then + ILASM="$MONO_HOME/bin/ilasm" + else + ILASM="ilasm" + fi +fi + +MSIL_LIBPATH="$SCALA_HOME/lib/predef.dll:$SCALA_HOME/lib/scalaruntime.dll:$SCALA_HOME/lib/mscorlib.dll" +[ -z "$MONO_PATH" ] || MSIL_LIBPATH="$MSIL_LIBPATH:$MONO_PATH" + +if $cygwin; then + if [ "$OS" = "Windows_NT" ] && cygpath -m .>/dev/null 2>/dev/null ; then + format=mixed + else + format=windows + fi + SCALA_HOME=`cygpath --$format "$SCALA_HOME"` + EXTENSION_CLASSPATH=`cygpath --path --$format "$EXTENSION_CLASSPATH"` + BOOT_CLASSPATH=`cygpath --path --$format "$BOOT_CLASSPATH"` + MSIL_LIBPATH=`cygpath --path --$format "$MSIL_LIBPATH"` + ILASM=`cygpath --$format "$COMSPEC"`" /C "`cygpath --windows "$ILASM"` +fi + +${JAVACMD:=java} ${JAVA_OPTS:=-Xmx256M -Xms16M} -Xbootclasspath/a:"$BOOT_CLASSPATH" -cp "$EXTENSION_CLASSPATH" -Dscala.home="$SCALA_HOME" -Denv.classpath="$CLASSPATH" -Dmsil.libpath="$MSIL_LIBPATH" -Dmsil.ilasm="$ILASM" scala.tools.nsc.Main -target:msil "$@" diff --git a/src/mono/bin/scalac.net.bat b/src/mono/bin/scalac.net.bat new file mode 100755 index 0000000000..fab7c619e3 --- /dev/null +++ b/src/mono/bin/scalac.net.bat @@ -0,0 +1,116 @@ +@echo off
+
+rem ##########################################################################
+rem # @NAME@ @VERSION@
+rem ##########################################################################
+rem # @COPYRIGHT@
+rem #
+rem # This is free software; see the distribution for copying conditions.
+rem # There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
+rem # PARTICULAR PURPOSE.
+rem ##########################################################################
+
+rem We adopt the following conventions:
+rem - System/user environment variables start with a letter
+rem - Local batch variables start with an underscore ('_')
+
+if "%OS%"=="Windows_NT" (
+ @setlocal
+ call :set_home
+ set _ARGS=%*
+) else (
+ set _SCALA_HOME=%SCALA_HOME%
+ rem The following line tests SCALA_HOME instead of _SCALA_HOME, because
+ rem the above change to _SCALA_HOME is not visible within this block.
+ if "%SCALA_HOME%"=="" goto error1
+ call :set_args
+)
+
+rem We use the value of the JAVACMD environment variable if defined
+set _JAVACMD=%JAVACMD%
+if "%_JAVACMD%"=="" set _JAVACMD=java
+
+rem We use the value of the JAVA_OPTS environment variable if defined
+set _JAVA_OPTS=%JAVA_OPTS%
+if "%_JAVA_OPTS%"=="" set _JAVA_OPTS=-Xmx256M -Xms16M
+
+rem We use the value of the ILASM environment variable if defined
+set _ILASM=%ILASM%
+if "%_ILASM%"=="" (
+ if exist "%MONO_HOME%"\nul (
+ set _ILASM=%MONO_HOME%\bin\ilasm.bat
+ ) else (
+ call :find_ilasm ilasm.bat
+ )
+)
+
+set _EXTENSION_CLASSPATH=
+if "%_EXTENSION_CLASSPATH%"=="" (
+ for %%f in ("%_SCALA_HOME%\lib\*") do call :add_cpath "%%f"
+ if "%OS%"=="Windows_NT" (
+ for /d %%f in ("%_SCALA_HOME%\lib\*") do call :add_cpath "%%f"
+ )
+)
+
+set _BOOT_CLASSPATH=
+if "%_BOOT_CLASSPATH%"=="" (
+ if exist "%_SCALA_HOME%\lib\scala-library.jar" (
+ set _BOOT_CLASSPATH=%_SCALA_HOME%\lib\scala-library.jar
+ )
+ if exist "%_SCALA_HOME%\lib\library"\nul (
+ set _BOOT_CLASSPATH=%_SCALA_HOME%\lib\library
+ )
+)
+
+set _MSIL_LIBPATH=%_SCALA_HOME%\lib\predef.dll;%_SCALA_HOME%\lib\scalaruntime.dll;%_SCALA_HOME%\lib\mscorlib.dll
+if not "%MONO_PATH%"=="" (
+ set _MSIL_LIBPATH=%_MSIL_LIBPATH%;%MONO_PATH%
+)
+
+set _PROPS=-Dscala.home="%_SCALA_HOME%" -Denv.classpath="%CLASSPATH%" -Dmsil.libpath="%_MSIL_LIBPATH%" -Dmsil.ilasm="%_ILASM%"
+
+%_JAVACMD% -Xbootclasspath/a:"%_BOOT_CLASSPATH%" %_JAVA_OPTS% %_PROPS% -cp "%_EXTENSION_CLASSPATH%" scala.tools.nsc.Main -target:msil %_ARGS%
+goto end
+
+rem ##########################################################################
+rem # subroutines
+
+:add_cpath
+ if "%_EXTENSION_CLASSPATH%"=="" (
+ set _EXTENSION_CLASSPATH=%~1
+ ) else (
+ set _EXTENSION_CLASSPATH=%_EXTENSION_CLASSPATH%;%~1
+ )
+goto :eof
+
+rem Variable "%~dps0" works on WinXP SP2 or newer
+rem (see http://support.microsoft.com/?kbid=833431)
+rem set _SCALA_HOME=%~dps0..
+:set_home
+ set _BIN_DIR=
+ for %%i in (%~sf0) do set _BIN_DIR=%_BIN_DIR%%%~dpsi
+ set _SCALA_HOME=%_BIN_DIR%..
+goto :eof
+
+:find_ilasm
+ set _ILASM=%~$PATH:1
+goto :eof
+
+:set_args
+ set _ARGS=
+ :loop
+ rem Argument %1 may contain quotes so we use parentheses here
+ if (%1)==() goto :eof
+ set _ARGS=%_ARGS% %1
+ shift
+ goto loop
+
+rem ##########################################################################
+rem # errors
+
+:error1
+echo ERROR: environment variable SCALA_HOME is undefined. It should point to your installation directory.
+goto end
+
+:end
+if "%OS%"=="Windows_NT" @endlocal
|