@@ -215,22 +215,36 @@ replace_template_dir "$IDEA_OUTPUT"
215215CLASSES=$IDEA_OUTPUT /classes
216216
217217if [ " x$ANT_HOME " = " x" ] ; then
218- # try some common locations, before giving up
219- if [ -f " /usr/share/ant/lib/ant.jar" ] ; then
220- ANT_HOME=" /usr/share/ant"
221- elif [ -f " /usr/local/Cellar/ant/1.9.4/libexec/lib/ant.jar" ] ; then
222- ANT_HOME=" /usr/local/Cellar/ant/1.9.4/libexec"
223- else
224- echo " FATAL: cannot find ant. Try setting ANT_HOME." >&2 ; exit 1
225- fi
218+ # try some common locations
219+ if [ -f " /usr/share/ant/lib/ant.jar" ] ; then
220+ ANT_HOME=" /usr/share/ant"
221+ else
222+ try_ant=$( ls /opt/homebrew/Cellar/ant/* /libexec/lib/ant.jar 2> /dev/null | sort -r | head -n 1)
223+ if [ " x$try_ant " != " x" ] ; then
224+ ANT_HOME=$( cd $( dirname $try_ant ) /.. && pwd)
225+ else
226+ try_ant=$( ls /usr/local/Cellar/ant/* /libexec/lib/ant.jar 2> /dev/null | sort -r | head -n 1)
227+ if [ " x$try_ant " != " x" ] ; then
228+ ANT_HOME=$( cd $( dirname $try_ant ) /.. && pwd)
229+ fi
230+ fi
231+ fi
232+ else
233+ if [ ! -f " $ANT_HOME /lib/ant.jar" ] ; then
234+ echo " FATAL: ANT_HOME is incorrect. Try removing it and use autodetection, or fix the value" >&2 ; exit 1
235+ fi
236+ fi
237+
238+ if [ " x$ANT_HOME " = " x" ] ; then
239+ echo " FATAL: cannot find ant. Try setting ANT_HOME." >&2 ; exit 1
226240fi
227241CP=$ANT_HOME /lib/ant.jar
228242rm -rf $CLASSES ; mkdir $CLASSES
229243
230244# If we have a Windows boot JDK, we need a .exe suffix
231245if [ -e " $BOOT_JDK /bin/java.exe" ] ; then
232246 JAVAC=javac.exe
233- else
247+ else
234248 JAVAC=javac
235249fi
236250
0 commit comments