diff options
| author | Antoine Levy-Lambert <antoine@apache.org> | 2005-12-05 22:28:46 +0000 |
|---|---|---|
| committer | Antoine Levy-Lambert <antoine@apache.org> | 2005-12-05 22:28:46 +0000 |
| commit | 596831cb7f41a32e3005db40b0798f4aae4674c6 (patch) | |
| tree | e193549387b11cb73ea85b4580662c73598a488e /src/script | |
| parent | 03d601691091687415b2de6112cab88365990bce (diff) | |
| download | ant-596831cb7f41a32e3005db40b0798f4aae4674c6.tar.gz | |
Fix for Bugzilla 13655. Thanks to Simon Law. Proper return code for ant.bat
git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@354209 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'src/script')
| -rwxr-xr-x | src/script/ant.bat | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/src/script/ant.bat b/src/script/ant.bat index e2dafabdd..3ab075167 100755 --- a/src/script/ant.bat +++ b/src/script/ant.bat @@ -92,14 +92,23 @@ if not "%JIKESPATH%"=="" goto runAntWithJikes if "%_USE_CLASSPATH%"=="no" goto runAntNoClasspath if not "%CLASSPATH%"=="" goto runAntWithClasspath "%_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% +rem Check the error code of the Ant build +if not "%OS%"=="Windows_NT" goto onError +set ANT_ERROR=%ERRORLEVEL% goto end :runAntNoClasspath "%_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% +rem Check the error code of the Ant build +if not "%OS%"=="Windows_NT" goto onError +set ANT_ERROR=%ERRORLEVEL% goto end :runAntWithClasspath "%_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% +rem Check the error code of the Ant build +if not "%OS%"=="Windows_NT" goto onError +set ANT_ERROR=%ERRORLEVEL% goto end :runAntWithJikes @@ -108,19 +117,57 @@ if not "%CLASSPATH%"=="" goto runAntWithJikesAndClasspath :runAntWithJikesNoClasspath "%_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% +rem Check the error code of the Ant build +if not "%OS%"=="Windows_NT" goto onError +set ANT_ERROR=%ERRORLEVEL% goto end :runAntWithJikesAndClasspath "%_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% +rem Check the error code of the Ant build +if not "%OS%"=="Windows_NT" goto onError +set ANT_ERROR=%ERRORLEVEL% goto end +:onError +rem Windows 9x way of checking the error code. It matches via brute force. +for %%i in (1 10 100) do set err%%i= +for %%i in (0 1 2) do if errorlevel %%i00 set err100=%%i +if %err100%==2 goto onError200 +if %err100%==0 set err100= +for %%i in (0 1 2 3 4 5 6 7 8 9) do if errorlevel %err100%%%i0 set err10=%%i +if "%err100%"=="" if %err10%==0 set err10= +:onError1 +for %%i in (0 1 2 3 4 5 6 7 8 9) do if errorlevel %err100%%err10%%%i set err1=%%i +goto onErrorEnd +:onError200 +for %%i in (0 1 2 3 4 5) do if errorlevel 2%%i0 set err10=%%i +if err10==5 for %%i in (0 1 2 3 4 5) do if errorlevel 25%%i set err1=%%i +if not err10==5 goto onError1 +:onErrorEnd +set ANT_ERROR=%err100%%err10%%err1% +for %%i in (1 10 100) do set err%%i= + :end set _JAVACMD= set ANT_CMD_LINE_ARGS= +rem Set the return code if we are not in NT. We can only set +rem a value of 1, but it's better than nothing. +if not "%OS%"=="Windows_NT" if "%ANT_ERROR%"=="" set ANT_ERROR=255 +if not "%OS%"=="Windows_NT" if "%ANT_ERROR%"=="0" goto quit +if not "%OS%"=="Windows_NT" echo 1 > nul | choice /n /c:1 +rem Set the ERRORLEVEL if we are running NT. +if "%OS%"=="Windows_NT" if "%ANT_ERROR%"=="" set ANT_ERROR=255 +if "%OS%"=="Windows_NT" if not %ANT_ERROR%==0 color 00 +goto quit + +rem If there were no errors, we run the post script. if "%OS%"=="Windows_NT" @endlocal if "%OS%"=="WINNT" @endlocal :mainEnd if exist "%HOME%\antrc_post.bat" call "%HOME%\antrc_post.bat" +:quit + |
