Skip to content

Commit 8d1dd6a

Browse files
committed
8294076: Improve ant detection in idea.sh
Reviewed-by: erikj
1 parent 4e7cb15 commit 8d1dd6a

File tree

1 file changed

+23
-9
lines changed

1 file changed

+23
-9
lines changed

bin/idea.sh

Lines changed: 23 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -215,22 +215,36 @@ replace_template_dir "$IDEA_OUTPUT"
215215
CLASSES=$IDEA_OUTPUT/classes
216216

217217
if [ "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
226240
fi
227241
CP=$ANT_HOME/lib/ant.jar
228242
rm -rf $CLASSES; mkdir $CLASSES
229243

230244
# If we have a Windows boot JDK, we need a .exe suffix
231245
if [ -e "$BOOT_JDK/bin/java.exe" ] ; then
232246
JAVAC=javac.exe
233-
else
247+
else
234248
JAVAC=javac
235249
fi
236250

0 commit comments

Comments
 (0)