This is the update for the Unix based build scripts. The changes are the following Automatic bootstrapping if lib/ant.jar is mising or the bin files are not present Removed inclusion of the $HOME/.antrc in the bootstrap.sh although it is still used in the ant shell script. Lined up Windows and Unix scripts, including echo statements so it is easier to make changes affecting both envionments in the future. Added chmod calls to the install targets so the ant shell scripts are executable. git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@267777 13f79535-47bb-0310-9956-ffa450edef68master
@@ -18,33 +18,38 @@ if "" == "%JAVAC%" set JAVAC=%JAVA_HOME%\bin\javac | |||||
echo. | echo. | ||||
echo ... Bootstrapping Ant Distribution | echo ... Bootstrapping Ant Distribution | ||||
SET LOCALCLASSPATH=classes;src\main | |||||
if exist lib\ant.jar erase lib\ant.jar | if exist lib\ant.jar erase lib\ant.jar | ||||
SET LOCALCLASSPATH= | |||||
for %%i in (lib\*.jar) do call src\bin\lcp.bat %%i | for %%i in (lib\*.jar) do call src\bin\lcp.bat %%i | ||||
if exist %JAVA_HOME%\lib\tools.jar call src\bin\lcp.bat %JAVA_HOME%\lib\tools.jar | if exist %JAVA_HOME%\lib\tools.jar call src\bin\lcp.bat %JAVA_HOME%\lib\tools.jar | ||||
if exist %JAVA_HOME%\lib\classes.zip call src\bin\lcp.bat %JAVA_HOME%\lib\classes.zip | if exist %JAVA_HOME%\lib\classes.zip call src\bin\lcp.bat %JAVA_HOME%\lib\classes.zip | ||||
SET CLASSPATH=%CLASSPATH%;%LOCALCLASSPATH% | |||||
set TOOLS=src\main\org\apache\tools | |||||
set CLASSDIR=classes | |||||
SET CLASSPATH=%CLASSPATH%;%LOCALCLASSPATH%;%CLASSDIR%;src\main | |||||
echo JAVA_HOME=%JAVA_HOME% | echo JAVA_HOME=%JAVA_HOME% | ||||
echo JAVA=%JAVA% | echo JAVA=%JAVA% | ||||
echo JAVAC=%JAVAC% | echo JAVAC=%JAVAC% | ||||
echo CLASSPATH=%CLASSPATH% | echo CLASSPATH=%CLASSPATH% | ||||
if "%OS%" == "Windows_NT" if exist classes\nul rmdir/s/q classes | |||||
if not "%OS%" == "Windows_NT" if exist classes\nul deltree/y classes | |||||
mkdir classes | |||||
if "%OS%" == "Windows_NT" if exist %CLASSDIR%\nul rmdir/s/q %CLASSDIR% | |||||
if not "%OS%" == "Windows_NT" if exist %CLASSDIR%\nul deltree/y %CLASSDIR% | |||||
set TOOLS=src\main\org\apache\tools | |||||
mkdir %CLASSDIR% | |||||
echo. | echo. | ||||
echo ... Compiling Ant Classes | echo ... Compiling Ant Classes | ||||
%JAVAC% -d classes %TOOLS%\tar\*.java %TOOLS%\ant\*.java %TOOLS%\ant\taskdefs\*.java | |||||
%JAVAC% -d %CLASSDIR% %TOOLS%\tar\*.java %TOOLS%\ant\*.java %TOOLS%\ant\taskdefs\*.java | |||||
echo. | echo. | ||||
echo ... Copying Required Files | echo ... Copying Required Files | ||||
copy %TOOLS%\ant\taskdefs\*.properties classes\org\apache\tools\ant\taskdefs | |||||
copy %TOOLS%\ant\taskdefs\*.properties %CLASSDIR%\org\apache\tools\ant\taskdefs | |||||
echo. | echo. | ||||
echo ... Building Ant Distribution | echo ... Building Ant Distribution | ||||
@@ -54,8 +59,8 @@ echo ... Building Ant Distribution | |||||
echo. | echo. | ||||
echo ... Cleaning Up Build Directories | echo ... Cleaning Up Build Directories | ||||
if "%OS%" == "Windows_NT" if exist classes\nul rmdir/s/q classes | |||||
if not "%OS%" == "Windows_NT" if exist classes\nul deltree/y classes | |||||
if "%OS%" == "Windows_NT" if exist %CLASSDIR%\nul rmdir/s/q %CLASSDIR% | |||||
if not "%OS%" == "Windows_NT" if exist %CLASSDIR%\nul deltree/y %CLASSDIR% | |||||
echo. | echo. | ||||
echo ... Done Bootstrapping Ant Distribution | echo ... Done Bootstrapping Ant Distribution | ||||
@@ -1,16 +1,9 @@ | |||||
#!/bin/sh | #!/bin/sh | ||||
if [ -f $HOME/.antrc ] ; then | |||||
. $HOME/.antrc | |||||
fi | |||||
ANT_HOME=. | |||||
export ANT_HOME | |||||
if [ "$ANT_HOME" = "" ] ; then | |||||
ANT_HOME=`pwd` | |||||
export ANT_HOME | |||||
fi | |||||
SRCDIR=src/main/org/apache/tools | |||||
CLASSDIR=classes | |||||
echo ... Bootstrapping Ant Distribution | |||||
if test -f lib/ant.jar ; then | if test -f lib/ant.jar ; then | ||||
rm lib/ant.jar | rm lib/ant.jar | ||||
@@ -32,28 +25,32 @@ if test -f $JAVA_HOME/lib/classes.zip ; then | |||||
CLASSPATH=$CLASSPATH:$JAVA_HOME/lib/classes.zip | CLASSPATH=$CLASSPATH:$JAVA_HOME/lib/classes.zip | ||||
fi | fi | ||||
TOOLS=src/main/org/apache/tools | |||||
CLASSDIR=classes | |||||
CLASSPATH=${CLASSPATH}:${CLASSDIR}:src/main | CLASSPATH=${CLASSPATH}:${CLASSDIR}:src/main | ||||
export CLASSPATH | |||||
mkdir -p ${CLASSDIR} | mkdir -p ${CLASSDIR} | ||||
export CLASSPATH | |||||
echo ... Compiling Ant Classes | |||||
echo | |||||
echo Building with classpath: $CLASSPATH | |||||
echo | |||||
javac -d ${CLASSDIR} ${TOOLS}/tar/*.java | |||||
javac -d ${CLASSDIR} ${TOOLS}/ant/*.java | |||||
javac -d ${CLASSDIR} ${TOOLS}/ant/taskdefs/*.java | |||||
javac -d ${CLASSDIR} ${SRCDIR}/tar/*.java | |||||
javac -d ${CLASSDIR} ${SRCDIR}/ant/*.java | |||||
javac -d ${CLASSDIR} ${SRCDIR}/ant/taskdefs/*.java | |||||
echo ... Copying Required Files | |||||
cp src/main/org/apache/tools/ant/taskdefs/defaults.properties ${CLASSDIR}/org/apache/tools/ant/taskdefs | cp src/main/org/apache/tools/ant/taskdefs/defaults.properties ${CLASSDIR}/org/apache/tools/ant/taskdefs | ||||
echo ... Building Ant Distribution | |||||
java org.apache.tools.ant.Main clean main bootstrap | java org.apache.tools.ant.Main clean main bootstrap | ||||
java org.apache.tools.ant.Main clean | |||||
if test ! -d bin; then mkdir bin; fi | |||||
cp src/bin/antRun bin | |||||
chmod +x bin/antRun | |||||
echo ... Cleaning Up Build Directories | |||||
chmod +x bin/ant bin/antRun | |||||
rm -rf ${CLASSDIR} | rm -rf ${CLASSDIR} | ||||
echo ... Done Bootstrapping Ant Distribution |
@@ -1,28 +1,16 @@ | |||||
#!/bin/sh | #!/bin/sh | ||||
if [ "$ANT_HOME" = "" ] ; then | |||||
ANT_HOME=`pwd` | |||||
fi | |||||
REALANTHOME=$ANT_HOME | |||||
ANT_HOME=. | |||||
export ANT_HOME | export ANT_HOME | ||||
LOCALCLASSPATH=`echo $ANT_HOME/lib/*.jar | tr ' ' ':'` | |||||
if [ "$CLASSPATH" != "" ] ; then | |||||
LOCALCLASSPATH=$CLASSPATH:$LOCALCLASSPATH | |||||
fi | |||||
if test -f $JAVA_HOME/lib/tools.jar ; then | |||||
LOCALCLASSPATH=$LOCALCLASSPATH:$JAVA_HOME/lib/tools.jar | |||||
fi | |||||
if test ! -f lib/ant.jar -o ! -x bin/ant -o ! -x bin/antRun ; then | |||||
./bootstrap.sh | |||||
fi | |||||
if test -f $JAVA_HOME/lib/classes.zip ; then | |||||
LOCALCLASSPATH=$LOCALCLASSPATH:$JAVA_HOME/lib/classes.zip | |||||
if [ "$REALANTHOME" != "" ] ; then | |||||
ANT_INSTALL="-Dant.install $REALANTHOME" | |||||
fi | fi | ||||
echo | |||||
echo Building with classpath: $LOCALCLASSPATH | |||||
echo | |||||
chmod 0755 $ANT_HOME/bin/antRun | |||||
bin/ant $ANT_INSTALL $* | |||||
java -Dant.home=$ANT_HOME -classpath $LOCALCLASSPATH $ANT_OPTS org.apache.tools.ant.Main $* |
@@ -192,6 +192,8 @@ | |||||
<echo message="installing full copy of ant into ${ant.install}"/> | <echo message="installing full copy of ant into ${ant.install}"/> | ||||
<mkdir dir="${ant.install}"/> | <mkdir dir="${ant.install}"/> | ||||
<copydir src="${ant.dist.dir}" dest="${ant.install}"/> | <copydir src="${ant.dist.dir}" dest="${ant.install}"/> | ||||
<chmod perm="+x" file="${ant.install}/bin/ant"/> | |||||
<chmod perm="+x" file="${ant.install}/bin/antRun"/> | |||||
</target> | </target> | ||||
<target name="install" depends="main" if="ant.install"> | <target name="install" depends="main" if="ant.install"> | ||||
@@ -199,6 +201,8 @@ | |||||
<mkdir dir="${ant.install}"/> | <mkdir dir="${ant.install}"/> | ||||
<copydir src="${lib.dir}" dest="${ant.install}/lib"/> | <copydir src="${lib.dir}" dest="${ant.install}/lib"/> | ||||
<copydir src="${bin.dir}" dest="${ant.install}/bin"/> | <copydir src="${bin.dir}" dest="${ant.install}/bin"/> | ||||
<chmod perm="+x" file="${ant.install}/bin/ant"/> | |||||
<chmod perm="+x" file="${ant.install}/bin/antRun"/> | |||||
</target> | </target> | ||||
<!-- =================================================================== --> | <!-- =================================================================== --> | ||||
@@ -37,13 +37,21 @@ if [ "$JAVACMD" = "" ] ; then | |||||
JAVACMD=java | JAVACMD=java | ||||
fi | fi | ||||
# Use the original tools.jar if available | |||||
if [ ! "$JAVA_HOME" = "" ] ; then | |||||
CLASSPATH=${JAVA_HOME}/lib/tools.jar:$CLASSPATH | |||||
CLASSPATH=${JAVA_HOME}/lib/classes.zip:$CLASSPATH | |||||
LOCALCLASSPATH=`echo $ANT_HOME/lib/*.jar | tr ' ' ':'` | |||||
if [ "$CLASSPATH" != "" ] ; then | |||||
LOCALCLASSPATH=$CLASSPATH:$LOCALCLASSPATH | |||||
fi | |||||
if [ "$JAVA_HOME" != "" ] ; then | |||||
if test -f $JAVA_HOME/lib/tools.jar ; then | |||||
LOCALCLASSPATH=$LOCALCLASSPATH:$JAVA_HOME/lib/tools.jar | |||||
fi | |||||
if test -f $JAVA_HOME/lib/classes.zip ; then | |||||
LOCALCLASSPATH=$LOCALCLASSPATH:$JAVA_HOME/lib/classes.zip | |||||
fi | |||||
fi | fi | ||||
CLASSPATH=${ANT_HOME}/lib/ant.jar:$CLASSPATH | |||||
export CLASSPATH | |||||
$JAVACMD -classpath $LOCALCLASSPATH -Dant.home=${ANT_HOME} $ANT_OPTS org.apache.tools.ant.Main $@ | |||||
$JAVACMD -Dant.home=${ANT_HOME} org.apache.tools.ant.Main $@ |