3 REM Licensed to the Apache Software Foundation (ASF) under one or more
4 REM contributor license agreements. See the NOTICE file distributed with
5 REM this work for additional information regarding copyright ownership.
6 REM The ASF licenses this file to You under the Apache License, Version 2.0
7 REM (the "License"); you may not use this file except in compliance with
8 REM the License. You may obtain a copy of the License at
10 REM http://www.apache.org/licenses/LICENSE-2.0
12 REM Unless required by applicable law or agreed to in writing, software
13 REM distributed under the License is distributed on an "AS IS" BASIS,
14 REM WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 REM See the License for the specific language governing permissions and
16 REM limitations under the License.
18 REM This is an inordinately troublesome piece of code, particularly because it
19 REM tries to work on both Win9x and WinNT-based systems. If we could abandon '9x
20 REM support, things would be much easier, but sadly, it is not yet time.
21 REM Be cautious about editing this, and only add WinNT specific stuff in code that
22 REM only runs on WinNT.
24 if "%HOME%"=="" goto homeDrivePathPre
25 if exist "%HOME%\antrc_pre.bat" call "%HOME%\antrc_pre.bat"
28 if "%HOMEDRIVE%%HOMEPATH%"=="" goto userProfilePre
29 if "%HOMEDRIVE%%HOMEPATH%"=="%HOME%" goto userProfilePre
30 if exist "%HOMEDRIVE%%HOMEPATH%\antrc_pre.bat" call "%HOMEDRIVE%%HOMEPATH%\antrc_pre.bat"
33 if "%USERPROFILE%"=="" goto alpha
34 if "%USERPROFILE%"=="%HOME%" goto alpha
35 if "%USERPROFILE%"=="%HOMEDRIVE%%HOMEPATH%" goto alpha
36 if exist "%USERPROFILE%\antrc_pre.bat" call "%USERPROFILE%\antrc_pre.bat"
40 if "%OS%"=="Windows_NT" @
setlocal
41 if "%OS%"=="WINNT" @
setlocal
43 if "%ANT_HOME%"=="" goto setDefaultAntHome
46 if not _
%ANT_HOME
:~
-1%==_\
goto checkClasspath
47 set ANT_HOME
=%ANT_HOME
:~
0,-1%
51 rem %~dp0 is expanded pathname of the current script under NT
55 set _USE_CLASSPATH
=yes
56 rem CLASSPATH must not be used if it is equal to ""
57 if "%CLASSPATH%"=="""" set _USE_CLASSPATH
=no
58 if "%CLASSPATH%"=="" set _USE_CLASSPATH
=no
60 rem Slurp the command line arguments. This loop allows for an unlimited number
61 rem of arguments (up to the command line limit, anyway).
62 set ANT_CMD_LINE_ARGS
=%1
63 if ""%1""=="""" goto doneStart
66 if ""%1""=="""" goto doneStart
67 if ""%1""==""-noclasspath
"" goto clearclasspath
68 set ANT_CMD_LINE_ARGS
=%ANT_CMD_LINE_ARGS% %1
72 rem here is there is a -noclasspath in the options
78 rem This label provides a place for the argument list loop to break out
79 rem and for NT handling to skip to.
83 if _USE_CLASSPATH
==no
goto findAntHome
86 if not _
%CLASSPATH
:~
-1%==_\
goto findAntHome
87 set CLASSPATH
=%CLASSPATH
:~
0,-1%
91 rem find ANT_HOME if it does not exist due to either an invalid value passed
92 rem by the user or the %0 problem on Windows 9x
93 if exist "%ANT_HOME%\lib\ant.jar" goto checkJava
95 rem check for ant in Program Files
96 if not exist "%ProgramFiles%\ant" goto checkSystemDrive
97 set ANT_HOME
=%ProgramFiles%\ant
101 rem check for ant in root directory of system drive
102 if not exist %SystemDrive%\ant\lib
\ant.jar
goto checkCDrive
103 set ANT_HOME
=%SystemDrive%\ant
107 rem check for ant in C:\ant for Win9X users
108 if not exist C
:\ant\lib
\ant.jar
goto noAntHome
113 echo ANT_HOME is
set incorrectly or ant could
not be located. Please
set ANT_HOME.
117 set _JAVACMD
=%JAVACMD%
119 if "%JAVA_HOME%" == "" goto noJavaHome
120 if not exist "%JAVA_HOME%\bin\java.exe" goto noJavaHome
121 if "%_JAVACMD%" == "" set _JAVACMD
=%JAVA_HOME%\bin\java.exe
125 if "%_JAVACMD%" == "" set _JAVACMD
=java.exe
128 if not "%JIKESPATH%"=="" goto runAntWithJikes
131 if "%_USE_CLASSPATH%"=="no" goto runAntNoClasspath
133 "%_JAVACMD%" %ANT_OPTS% -classpath
"%ANT_HOME%\lib\ant-launcher.jar" "-Dant.home=%ANT_HOME%" org.apache.tools.ant.launch.Launcher
%ANT_ARGS% -cp
"%CLASSPATH%" %ANT_CMD_LINE_ARGS%
134 rem Check the error code of the Ant build
135 if not "%OS%"=="Windows_NT" goto onError
136 set ANT_ERROR
=%ERRORLEVEL%
140 "%_JAVACMD%" %ANT_OPTS% -classpath
"%ANT_HOME%\lib\ant-launcher.jar" "-Dant.home=%ANT_HOME%" org.apache.tools.ant.launch.Launcher
%ANT_ARGS% %ANT_CMD_LINE_ARGS%
141 rem Check the error code of the Ant build
142 if not "%OS%"=="Windows_NT" goto onError
143 set ANT_ERROR
=%ERRORLEVEL%
148 if not _
%JIKESPATH
:~
-1%==_\
goto checkJikesAndClasspath
149 set JIKESPATH
=%JIKESPATH
:~
0,-1%
152 :checkJikesAndClasspath
154 if "%_USE_CLASSPATH%"=="no" goto runAntWithJikesNoClasspath
156 :runAntWithJikesAndClasspath
157 "%_JAVACMD%" %ANT_OPTS% -classpath
"%ANT_HOME%\lib\ant-launcher.jar" "-Dant.home=%ANT_HOME%" "-Djikes.class.path=%JIKESPATH%" org.apache.tools.ant.launch.Launcher
%ANT_ARGS% -cp
"%CLASSPATH%" %ANT_CMD_LINE_ARGS%
158 rem Check the error code of the Ant build
159 if not "%OS%"=="Windows_NT" goto onError
160 set ANT_ERROR
=%ERRORLEVEL%
163 :runAntWithJikesNoClasspath
164 "%_JAVACMD%" %ANT_OPTS% -classpath
"%ANT_HOME%\lib\ant-launcher.jar" "-Dant.home=%ANT_HOME%" "-Djikes.class.path=%JIKESPATH%" org.apache.tools.ant.launch.Launcher
%ANT_ARGS% %ANT_CMD_LINE_ARGS%
165 rem Check the error code of the Ant build
166 if not "%OS%"=="Windows_NT" goto onError
167 set ANT_ERROR
=%ERRORLEVEL%
171 rem Windows 9x way of checking the error code. It matches via brute force.
172 for %%i in
(1 10 100) do set err
%%i
=
173 for %%i in
(0 1 2) do if errorlevel %%i00
set err100
=%%i
174 if %err100%==2 goto onError200
175 if %err100%==0 set err100
=
176 for %%i in
(0 1 2 3 4 5 6 7 8 9) do if errorlevel %err100%%%i0
set err10
=%%i
177 if "%err100%"=="" if %err10%==0 set err10
=
179 for %%i in
(0 1 2 3 4 5 6 7 8 9) do if errorlevel %err100%%err10%%%i
set err1
=%%i
182 for %%i in
(0 1 2 3 4 5) do if errorlevel 2%%i0
set err10
=%%i
183 if err10
==5 for %%i in
(0 1 2 3 4 5) do if errorlevel 25%%i
set err1
=%%i
184 if not err10
==5 goto onError1
186 set ANT_ERROR
=%err100%%err10%%err1%
187 for %%i in
(1 10 100) do set err
%%i
=
190 rem bug ID 32069: resetting an undefined env variable changes the errorlevel.
191 if not "%_JAVACMD%"=="" set _JAVACMD
=
192 if not "%_ANT_CMD_LINE_ARGS%"=="" set ANT_CMD_LINE_ARGS
=
194 if "%ANT_ERROR%"=="0" goto mainEnd
196 rem Set the return code if we are not in NT. We can only set
197 rem a value of 1, but it's better than nothing.
198 if not "%OS%"=="Windows_NT" echo 1 > nul |
choice /n
/c
:1
200 rem Set the ERRORLEVEL if we are running NT.
201 if "%OS%"=="Windows_NT" color
00
207 rem If there were no errors, we run the post script.
208 if "%OS%"=="Windows_NT" @
endlocal
209 if "%OS%"=="WINNT" @
endlocal
211 if "%HOME%"=="" goto homeDrivePathPost
212 if exist "%HOME%\antrc_post.bat" call "%HOME%\antrc_post.bat"
215 if "%HOMEDRIVE%%HOMEPATH%"=="" goto userProfilePost
216 if "%HOMEDRIVE%%HOMEPATH%"=="%HOME%" goto userProfilePost
217 if exist "%HOMEDRIVE%%HOMEPATH%\antrc_post.bat" call "%HOMEDRIVE%%HOMEPATH%\antrc_post.bat"
220 if "%USERPROFILE%"=="" goto omega
221 if "%USERPROFILE%"=="%HOME%" goto omega
222 if "%USERPROFILE%"=="%HOMEDRIVE%%HOMEPATH%" goto omega
223 if exist "%USERPROFILE%\antrc_post.bat" call "%USERPROFILE%\antrc_post.bat"