source: local/greenstone3/windows-64bit/ant-1.8.3/bin/ant.bat@ 26678

Last change on this file since 26678 was 26678, checked in by davidb, 11 years ago

Initial cut at local setup files to help with compiling Greenstone3 from source/svn under Windows, 64-bit

File size: 7.3 KB
Line 
1@echo off
2
3REM Licensed to the Apache Software Foundation (ASF) under one or more
4REM contributor license agreements. See the NOTICE file distributed with
5REM this work for additional information regarding copyright ownership.
6REM The ASF licenses this file to You under the Apache License, Version 2.0
7REM (the "License"); you may not use this file except in compliance with
8REM the License. You may obtain a copy of the License at
9REM
10REM http://www.apache.org/licenses/LICENSE-2.0
11REM
12REM Unless required by applicable law or agreed to in writing, software
13REM distributed under the License is distributed on an "AS IS" BASIS,
14REM WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15REM See the License for the specific language governing permissions and
16REM limitations under the License.
17
18REM This is an inordinately troublesome piece of code, particularly because it
19REM tries to work on both Win9x and WinNT-based systems. If we could abandon '9x
20REM support, things would be much easier, but sadly, it is not yet time.
21REM Be cautious about editing this, and only add WinNT specific stuff in code that
22REM only runs on WinNT.
23
24if "%HOME%"=="" goto homeDrivePathPre
25if exist "%HOME%\antrc_pre.bat" call "%HOME%\antrc_pre.bat"
26
27:homeDrivePathPre
28if "%HOMEDRIVE%%HOMEPATH%"=="" goto userProfilePre
29if "%HOMEDRIVE%%HOMEPATH%"=="%HOME%" goto userProfilePre
30if exist "%HOMEDRIVE%%HOMEPATH%\antrc_pre.bat" call "%HOMEDRIVE%%HOMEPATH%\antrc_pre.bat"
31
32:userProfilePre
33if "%USERPROFILE%"=="" goto alpha
34if "%USERPROFILE%"=="%HOME%" goto alpha
35if "%USERPROFILE%"=="%HOMEDRIVE%%HOMEPATH%" goto alpha
36if exist "%USERPROFILE%\antrc_pre.bat" call "%USERPROFILE%\antrc_pre.bat"
37
38:alpha
39
40if "%OS%"=="Windows_NT" @setlocal
41if "%OS%"=="WINNT" @setlocal
42
43if "%ANT_HOME%"=="" goto setDefaultAntHome
44
45:stripAntHome
46if not _%ANT_HOME:~-1%==_\ goto checkClasspath
47set ANT_HOME=%ANT_HOME:~0,-1%
48goto stripAntHome
49
50:setDefaultAntHome
51rem %~dp0 is expanded pathname of the current script under NT
52set ANT_HOME=%~dp0..
53
54:checkClasspath
55set _USE_CLASSPATH=yes
56rem CLASSPATH must not be used if it is equal to ""
57if "%CLASSPATH%"=="""" set _USE_CLASSPATH=no
58if "%CLASSPATH%"=="" set _USE_CLASSPATH=no
59
60rem Slurp the command line arguments. This loop allows for an unlimited number
61rem of arguments (up to the command line limit, anyway).
62set ANT_CMD_LINE_ARGS=
63:setupArgs
64if ""%1""=="""" goto doneStart
65if ""%1""==""-noclasspath"" goto clearclasspath
66set ANT_CMD_LINE_ARGS=%ANT_CMD_LINE_ARGS% %1
67shift
68goto setupArgs
69
70rem here is there is a -noclasspath in the options
71:clearclasspath
72set _USE_CLASSPATH=no
73shift
74goto setupArgs
75
76rem This label provides a place for the argument list loop to break out
77rem and for NT handling to skip to.
78
79:doneStart
80
81if "%_USE_CLASSPATH%"=="no" goto findAntHome
82
83:stripClasspath
84if not _%CLASSPATH:~-1%==_\ goto findAntHome
85set CLASSPATH=%CLASSPATH:~0,-1%
86goto stripClasspath
87
88:findAntHome
89rem find ANT_HOME if it does not exist due to either an invalid value passed
90rem by the user or the %0 problem on Windows 9x
91if exist "%ANT_HOME%\lib\ant.jar" goto checkJava
92
93rem check for ant in Program Files
94if not exist "%ProgramFiles%\ant" goto checkSystemDrive
95set ANT_HOME=%ProgramFiles%\ant
96goto checkJava
97
98:checkSystemDrive
99rem check for ant in root directory of system drive
100if not exist %SystemDrive%\ant\lib\ant.jar goto checkCDrive
101set ANT_HOME=%SystemDrive%\ant
102goto checkJava
103
104:checkCDrive
105rem check for ant in C:\ant for Win9X users
106if not exist C:\ant\lib\ant.jar goto noAntHome
107set ANT_HOME=C:\ant
108goto checkJava
109
110:noAntHome
111echo ANT_HOME is set incorrectly or ant could not be located. Please set ANT_HOME.
112goto end
113
114:checkJava
115set _JAVACMD=%JAVACMD%
116
117if "%JAVA_HOME%" == "" goto noJavaHome
118if not exist "%JAVA_HOME%\bin\java.exe" goto noJavaHome
119if "%_JAVACMD%" == "" set _JAVACMD=%JAVA_HOME%\bin\java.exe
120goto checkJikes
121
122:noJavaHome
123if "%_JAVACMD%" == "" set _JAVACMD=java.exe
124
125:checkJikes
126if not "%JIKESPATH%"=="" goto runAntWithJikes
127
128:runAnt
129if "%_USE_CLASSPATH%"=="no" goto runAntNoClasspath
130:runAntWithClasspath
131"%_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%
132rem Check the error code of the Ant build
133if not "%OS%"=="Windows_NT" goto onError
134set ANT_ERROR=%ERRORLEVEL%
135goto end
136
137:runAntNoClasspath
138"%_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%
139rem Check the error code of the Ant build
140if not "%OS%"=="Windows_NT" goto onError
141set ANT_ERROR=%ERRORLEVEL%
142goto end
143
144:runAntWithJikes
145
146if not _%JIKESPATH:~-1%==_\ goto checkJikesAndClasspath
147set JIKESPATH=%JIKESPATH:~0,-1%
148goto runAntWithJikes
149
150:checkJikesAndClasspath
151
152if "%_USE_CLASSPATH%"=="no" goto runAntWithJikesNoClasspath
153
154:runAntWithJikesAndClasspath
155"%_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%
156rem Check the error code of the Ant build
157if not "%OS%"=="Windows_NT" goto onError
158set ANT_ERROR=%ERRORLEVEL%
159goto end
160
161:runAntWithJikesNoClasspath
162"%_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%
163rem Check the error code of the Ant build
164if not "%OS%"=="Windows_NT" goto onError
165set ANT_ERROR=%ERRORLEVEL%
166goto end
167
168:onError
169rem Windows 9x way of checking the error code. It matches via brute force.
170for %%i in (1 10 100) do set err%%i=
171for %%i in (0 1 2) do if errorlevel %%i00 set err100=%%i
172if %err100%==2 goto onError200
173if %err100%==0 set err100=
174for %%i in (0 1 2 3 4 5 6 7 8 9) do if errorlevel %err100%%%i0 set err10=%%i
175if "%err100%"=="" if %err10%==0 set err10=
176:onError1
177for %%i in (0 1 2 3 4 5 6 7 8 9) do if errorlevel %err100%%err10%%%i set err1=%%i
178goto onErrorEnd
179:onError200
180for %%i in (0 1 2 3 4 5) do if errorlevel 2%%i0 set err10=%%i
181if err10==5 for %%i in (0 1 2 3 4 5) do if errorlevel 25%%i set err1=%%i
182if not err10==5 goto onError1
183:onErrorEnd
184set ANT_ERROR=%err100%%err10%%err1%
185for %%i in (1 10 100) do set err%%i=
186
187:end
188rem bug ID 32069: resetting an undefined env variable changes the errorlevel.
189if not "%_JAVACMD%"=="" set _JAVACMD=
190if not "%_ANT_CMD_LINE_ARGS%"=="" set ANT_CMD_LINE_ARGS=
191
192if "%ANT_ERROR%"=="0" goto mainEnd
193
194goto omega
195
196:mainEnd
197
198rem If there were no errors, we run the post script.
199if "%OS%"=="Windows_NT" @endlocal
200if "%OS%"=="WINNT" @endlocal
201
202if "%HOME%"=="" goto homeDrivePathPost
203if exist "%HOME%\antrc_post.bat" call "%HOME%\antrc_post.bat"
204
205:homeDrivePathPost
206if "%HOMEDRIVE%%HOMEPATH%"=="" goto userProfilePost
207if "%HOMEDRIVE%%HOMEPATH%"=="%HOME%" goto userProfilePost
208if exist "%HOMEDRIVE%%HOMEPATH%\antrc_post.bat" call "%HOMEDRIVE%%HOMEPATH%\antrc_post.bat"
209
210:userProfilePost
211if "%USERPROFILE%"=="" goto omega
212if "%USERPROFILE%"=="%HOME%" goto omega
213if "%USERPROFILE%"=="%HOMEDRIVE%%HOMEPATH%" goto omega
214if exist "%USERPROFILE%\antrc_post.bat" call "%USERPROFILE%\antrc_post.bat"
215
216:omega
217
218exit /b %ANT_ERROR%
Note: See TracBrowser for help on using the repository browser.