@echo off REM You will need to specify JAVA_HOME. REM For compiling Ant Java 1.4 or higher is required. REM Licensed to the Apache Software Foundation (ASF) under one or more REM contributor license agreements. See the NOTICE file distributed with REM this work for additional information regarding copyright ownership. REM The ASF licenses this file to You under the Apache License, Version 2.0 REM (the "License"); you may not use this file except in compliance with REM the License. You may obtain a copy of the License at REM REM https://www.apache.org/licenses/LICENSE-2.0 REM REM Unless required by applicable law or agreed to in writing, software REM distributed under the License is distributed on an "AS IS" BASIS, REM WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. REM See the License for the specific language governing permissions and REM limitations under the License. set OLDJAVA=%JAVA% set OLDJAVAC=%JAVAC% set BOOTOLDCLASSPATH=%CLASSPATH% set OLDANTHOME=%ANT_HOME% set ANT_HOME=. if "" == "%JAVA%" if "" == "%JAVA_HOME%" set JAVA=java if "" == "%JAVA%" set JAVA=%JAVA_HOME%\bin\java if "" == "%JAVAC%" if "" == "%JAVA_HOME%" set JAVAC=javac if "" == "%JAVAC%" set JAVAC=%JAVA_HOME%\bin\javac echo. echo ... Bootstrapping Ant Distribution if exist bootstrap\nul rmdir/s/q bootstrap if exist build\nul rmdir/s/q build SET LOCALCLASSPATH= for %%i in (lib\optional\*.jar) do call src\script\lcp.bat %%i if exist "%JAVA_HOME%\lib\tools.jar" call src\script\lcp.bat %JAVA_HOME%\lib\tools.jar if exist "%JAVA_HOME%\lib\classes.zip" call src\script\lcp.bat %JAVA_HOME%\lib\classes.zip set TOOLS=src\main\org\apache\tools set CLASSDIR=build\classes SET CLASSPATH=%LOCALCLASSPATH%;%CLASSDIR%;src\main;%CLASSPATH% echo JAVA_HOME=%JAVA_HOME% echo JAVA=%JAVA% echo JAVAC=%JAVAC% echo CLASSPATH=%CLASSPATH% echo ANT_HOME=%ANT_HOME% if exist %CLASSDIR%\nul rmdir/s/q %CLASSDIR% if not exist build\nul mkdir build if not exist build\classes\nul mkdir build\classes rem Check if javac tool supports the --release param SET JAVAC_RELEASE_VERSION="" echo "public class JavacVersionCheck {}" > %CLASSDIR%\JavacVersionCheck.java "%JAVAC%" --release 8 -d %CLASSDIR% %CLASSDIR%\JavacVersionCheck.java >nul 2>&1 IF %ERRORLEVEL% EQU 0 SET JAVAC_RELEASE_VERSION="--release 8" DEL %CLASSDIR%\JavacVersionCheck.java %CLASSDIR%\JavacVersionCheck.class >nul 2>&1 echo. IF %JAVAC_RELEASE_VERSION% == "" ( echo ... Compiling Ant Classes "%JAVAC%" %BOOTJAVAC_OPTS% -d %CLASSDIR% %TOOLS%\bzip2\*.java %TOOLS%\tar\*.java %TOOLS%\zip\*.java %TOOLS%\ant\*.java %TOOLS%\ant\types\*.java %TOOLS%\ant\taskdefs\*.java %TOOLS%\ant\util\regexp\RegexpMatcher.java %TOOLS%\ant\util\regexp\RegexpMatcherFactory.java %TOOLS%\ant\taskdefs\condition\*.java %TOOLS%\ant\taskdefs\compilers\*.java %TOOLS%\ant\types\resources\*.java %TOOLS%\ant\property\*.java ) ELSE ( echo ... Compiling Ant Classes with %JAVAC_RELEASE_VERSION% "%JAVAC%" %BOOTJAVAC_OPTS% -d %CLASSDIR% %JAVAC_RELEASE_VERSION% %TOOLS%\bzip2\*.java %TOOLS%\tar\*.java %TOOLS%\zip\*.java %TOOLS%\ant\*.java %TOOLS%\ant\types\*.java %TOOLS%\ant\taskdefs\*.java %TOOLS%\ant\util\regexp\RegexpMatcher.java %TOOLS%\ant\util\regexp\RegexpMatcherFactory.java %TOOLS%\ant\taskdefs\condition\*.java %TOOLS%\ant\taskdefs\compilers\*.java %TOOLS%\ant\types\resources\*.java %TOOLS%\ant\property\*.java ) if ERRORLEVEL 1 goto mainend echo. echo ... Copying Required Files copy %TOOLS%\ant\taskdefs\*.properties %CLASSDIR%\org\apache\tools\ant\taskdefs copy %TOOLS%\ant\types\*.properties %CLASSDIR%\org\apache\tools\ant\types echo. echo ... Building Ant Distribution if not "%OS%"=="Windows_NT" goto win9xStart :winNTStart @setlocal REM parse command line arguments rem Need to check if we are using the 4NT shell... if "%eval[2+2]" == "4" goto setup4NT rem On NT/2K grab all arguments at once set ANT_CMD_LINE_ARGS=%* goto doneStart :setup4NT set ANT_CMD_LINE_ARGS=%$ goto doneStart :win9xStart rem Slurp the command line arguments. This loop allows for an unlimited number of rem arguments (up to the command line limit, anyway). set ANT_CMD_LINE_ARGS= :setupArgs if %1a==a goto doneStart set ANT_CMD_LINE_ARGS=%ANT_CMD_LINE_ARGS% %1 shift goto setupArgs :doneStart rem This label provides a place for the argument list loop to break out rem and for NT handling to skip to. "%JAVA%" %ANT_OPTS% org.apache.tools.ant.Main -emacs %ANT_CMD_LINE_ARGS% bootstrap set ANT_CMD_LINE_ARGS= if not "%OS%"=="Windows_NT" goto mainEnd :winNTend @endlocal :mainEnd echo. echo ... Cleaning Up Build Directories if exist %CLASSDIR%\nul rmdir/s/q %CLASSDIR% echo. echo ... Done Bootstrapping Ant Distribution set JAVA=%OLDJAVA% set JAVAC=%OLDJAVAC% set CLASSPATH=%BOOTOLDCLASSPATH% set ANT_HOME=%OLDANTHOME% set OLDJAVA= set OLDJAVAC= set BOOTOLDCLASSPATH= set LOCALCLASSPATH= set OLDANTHOME= set TOOLS=