diff options
author | twogee <g.grigelionis@gmail.com> | 2017-12-19 16:24:39 +0100 |
---|---|---|
committer | twogee <g.grigelionis@gmail.com> | 2017-12-19 16:53:48 +0100 |
commit | a79d27597a0f1fa949048ed3ce3372bb9a328412 (patch) | |
tree | 35e8e9e692857ef442f038f9c7659cbb005273c7 /bootstrap.sh | |
parent | eec1ab7606ec0399d6db159a09316507af0959c0 (diff) | |
download | ant-a79d27597a0f1fa949048ed3ce3372bb9a328412.tar.gz |
Make build & bootstrap work on macOS (cf ant);
normalise whitespace in scripts and use Perl idioms properly
Diffstat (limited to 'bootstrap.sh')
-rwxr-xr-x | bootstrap.sh | 84 |
1 files changed, 43 insertions, 41 deletions
diff --git a/bootstrap.sh b/bootstrap.sh index 60b6ece03..c58fbb338 100755 --- a/bootstrap.sh +++ b/bootstrap.sh @@ -19,30 +19,34 @@ cygwin=false; darwin=false; case "`uname`" in - CYGWIN*) cygwin=true ;; - Darwin*) darwin=true - if [ -z "$JAVA_HOME" ] ; then - JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Home - fi - ;; + CYGWIN*) + cygwin=true ;; + Darwin*) + darwin=true + if [ -z "$JAVA_HOME" ]; then + if [ -x '/usr/libexec/java_home' ]; then + JAVA_HOME=`/usr/libexec/java_home` + elif [ -d "/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home" ]; then + JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home + fi + fi + ;; esac # For Cygwin, ensure paths are in UNIX format before anything is touched -if $cygwin ; then - [ -n "$JAVA_HOME" ] && - JAVA_HOME=`cygpath --unix "$JAVA_HOME"` - [ -n "$CLASSPATH" ] && - CLASSPATH=`cygpath --path --unix "$CLASSPATH"` +if $cygwin; then + [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"` + [ -n "$CLASSPATH" ] && CLASSPATH=`cygpath --path --unix "$CLASSPATH"` fi # You will need to specify JAVA_HOME if compiling with 1.2 or later. -if [ -n "$JAVA_HOME" ] ; then - if [ -f "$JAVA_HOME/lib/tools.jar" ] ; then +if [ -n "$JAVA_HOME" ]; then + if [ -f "$JAVA_HOME/lib/tools.jar" ]; then CLASSPATH=$CLASSPATH:$JAVA_HOME/lib/tools.jar fi - if [ -f "$JAVA_HOME/lib/classes.zip" ] ; then + if [ -f "$JAVA_HOME/lib/classes.zip" ]; then CLASSPATH=$CLASSPATH:$JAVA_HOME/lib/classes.zip fi else @@ -55,9 +59,9 @@ fi # IBM's JDK on AIX uses strange locations for the executables: # JAVA_HOME/jre/sh for java and rmid # JAVA_HOME/sh for javac and rmic -if [ -z "$JAVAC" ] ; then - if [ -n "$JAVA_HOME" ] ; then - if [ -x "$JAVA_HOME/sh/javac" ] ; then +if [ -z "$JAVAC" ]; then + if [ -n "$JAVA_HOME" ]; then + if [ -x "$JAVA_HOME/sh/javac" ]; then JAVAC=${JAVA_HOME}/sh/javac; else JAVAC=${JAVA_HOME}/bin/javac; @@ -66,9 +70,9 @@ if [ -z "$JAVAC" ] ; then JAVAC=javac fi fi -if [ -z "$JAVACMD" ] ; then - if [ -n "$JAVA_HOME" ] ; then - if [ -x "$JAVA_HOME/jre/sh/java" ] ; then +if [ -z "$JAVACMD" ]; then + if [ -n "$JAVA_HOME" ]; then + if [ -x "$JAVA_HOME/jre/sh/java" ]; then JAVACMD=$JAVA_HOME/jre/sh/java else JAVACMD=$JAVA_HOME/bin/java @@ -78,7 +82,7 @@ if [ -z "$JAVACMD" ] ; then fi fi -if [ ! -x "$JAVACMD" ] ; then +if [ ! -x "$JAVACMD" ]; then echo "Error: JAVA_HOME is not defined correctly." echo " We cannot execute $JAVACMD" exit @@ -89,22 +93,21 @@ export ANT_HOME echo ... Bootstrapping Ant Distribution -if [ -d "bootstrap" ] ; then +if [ -d "bootstrap" ]; then rm -r bootstrap fi -if [ -d "build" ] ; then +if [ -d "build" ]; then rm -r build fi DIRLIBS=lib/optional/*.jar -for i in ${DIRLIBS} -do - # if the directory is empty, then it will return the input string - # this is stupid, so case for it - if [ "$i" != "${DIRLIBS}" ] ; then - CLASSPATH=$CLASSPATH:"$i" - fi +for i in ${DIRLIBS}; do + # if the directory is empty, then it will return the input string + # this is stupid, so case for it + if [ "$i" != "${DIRLIBS}" ]; then + CLASSPATH=$CLASSPATH:"$i" + fi done TOOLS=src/main/org/apache/tools @@ -126,14 +129,14 @@ mkdir -p bin echo ... Compiling Ant Classes "${JAVAC}" $BOOTJAVAC_OPTS -d ${CLASSDIR} ${TOOLS}/bzip2/*.java ${TOOLS}/tar/*.java ${TOOLS}/zip/*.java \ - ${TOOLS}/ant/util/regexp/RegexpMatcher.java \ - ${TOOLS}/ant/util/regexp/RegexpMatcherFactory.java \ - ${TOOLS}/ant/property/*.java \ - ${TOOLS}/ant/types/*.java \ - ${TOOLS}/ant/types/resources/*.java \ - ${TOOLS}/ant/*.java ${TOOLS}/ant/taskdefs/*.java \ - ${TOOLS}/ant/taskdefs/compilers/*.java \ - ${TOOLS}/ant/taskdefs/condition/*.java + ${TOOLS}/ant/util/regexp/RegexpMatcher.java \ + ${TOOLS}/ant/util/regexp/RegexpMatcherFactory.java \ + ${TOOLS}/ant/property/*.java \ + ${TOOLS}/ant/types/*.java \ + ${TOOLS}/ant/types/resources/*.java \ + ${TOOLS}/ant/*.java ${TOOLS}/ant/taskdefs/*.java \ + ${TOOLS}/ant/taskdefs/compilers/*.java \ + ${TOOLS}/ant/taskdefs/condition/*.java ret=$? if [ $ret != 0 ]; then echo ... Failed compiling Ant classes ! @@ -143,9 +146,9 @@ fi echo ... Copying Required Files cp src/main/org/apache/tools/ant/taskdefs/defaults.properties \ - ${CLASSDIR}/org/apache/tools/ant/taskdefs + ${CLASSDIR}/org/apache/tools/ant/taskdefs cp src/main/org/apache/tools/ant/types/defaults.properties \ - ${CLASSDIR}/org/apache/tools/ant/types + ${CLASSDIR}/org/apache/tools/ant/types cp src/script/antRun bin chmod +x bin/antRun @@ -158,7 +161,6 @@ if [ $ret != 0 ]; then exit $ret fi - echo ... Cleaning Up Build Directories rm -rf ${CLASSDIR} |