Skip to content

Commit ee5dc7c

Browse files
committed
8250818: idea.sh script doesn't work on WSL 1 and 2
Reviewed-by: erikj
1 parent e03ca73 commit ee5dc7c

1 file changed

Lines changed: 41 additions & 15 deletions

File tree

bin/idea.sh

Lines changed: 41 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -147,13 +147,7 @@ add_replacement() {
147147
add_replacement "###MODULE_NAMES###" "$MODULE_NAMES"
148148
add_replacement "###VCS_TYPE###" "$VCS_TYPE"
149149
SPEC_DIR=`dirname $SPEC`
150-
if [ "x$CYGPATH" = "x" ]; then
151-
add_replacement "###BUILD_DIR###" "$SPEC_DIR"
152-
add_replacement "###JTREG_HOME###" "$JT_HOME"
153-
add_replacement "###IMAGES_DIR###" "$SPEC_DIR/images/jdk"
154-
add_replacement "###ROOT_DIR###" "$TOPLEVEL_DIR"
155-
add_replacement "###IDEA_DIR###" "$IDEA_OUTPUT"
156-
else
150+
if [ "x$CYGPATH" != "x" ]; then
157151
add_replacement "###BUILD_DIR###" "`cygpath -am $SPEC_DIR`"
158152
add_replacement "###IMAGES_DIR###" "`cygpath -am $SPEC_DIR`/images/jdk"
159153
add_replacement "###ROOT_DIR###" "`cygpath -am $TOPLEVEL_DIR`"
@@ -163,14 +157,32 @@ else
163157
else
164158
add_replacement "###JTREG_HOME###" "`cygpath -am $JT_HOME`"
165159
fi
160+
elif [ "x$WSL_DISTRO_NAME" != "x" ]; then
161+
add_replacement "###BUILD_DIR###" "`wslpath -am $SPEC_DIR`"
162+
add_replacement "###IMAGES_DIR###" "`wslpath -am $SPEC_DIR`/images/jdk"
163+
add_replacement "###ROOT_DIR###" "`wslpath -am $TOPLEVEL_DIR`"
164+
add_replacement "###IDEA_DIR###" "`wslpath -am $IDEA_OUTPUT`"
165+
if [ "x$JT_HOME" = "x" ]; then
166+
add_replacement "###JTREG_HOME###" ""
167+
else
168+
add_replacement "###JTREG_HOME###" "`wslpath -am $JT_HOME`"
169+
fi
170+
else
171+
add_replacement "###BUILD_DIR###" "$SPEC_DIR"
172+
add_replacement "###JTREG_HOME###" "$JT_HOME"
173+
add_replacement "###IMAGES_DIR###" "$SPEC_DIR/images/jdk"
174+
add_replacement "###ROOT_DIR###" "$TOPLEVEL_DIR"
175+
add_replacement "###IDEA_DIR###" "$IDEA_OUTPUT"
166176
fi
167177

168178
SOURCE_PREFIX="<sourceFolder url=\"file://"
169179
SOURCE_POSTFIX="\" isTestSource=\"false\" />"
170180

171181
for root in $MODULE_ROOTS; do
172182
if [ "x$CYGPATH" != "x" ]; then
173-
root=`cygpath -am $root`
183+
root=`cygpath -am $root`
184+
elif [ "x$WSL_DISTRO_NAME" != "x" ]; then
185+
root=`wslpath -am $root`
174186
fi
175187
SOURCES=$SOURCES" $SOURCE_PREFIX""$root""$SOURCE_POSTFIX"
176188
done
@@ -196,16 +208,30 @@ fi
196208
CP=$ANT_HOME/lib/ant.jar
197209
rm -rf $CLASSES; mkdir $CLASSES
198210

199-
if [ "x$CYGPATH" = "x" ] ; then ## CYGPATH may be set in env.cfg
200-
JAVAC_SOURCE_FILE=$IDEA_OUTPUT/src/idea/IdeaLoggerWrapper.java
201-
JAVAC_SOURCE_PATH=$IDEA_OUTPUT/src
202-
JAVAC_CLASSES=$CLASSES
203-
JAVAC_CP=$CP
204-
else
211+
if [ "x$CYGPATH" != "x" ] ; then ## CYGPATH may be set in env.cfg
205212
JAVAC_SOURCE_FILE=`cygpath -am $IDEA_OUTPUT/src/idea/IdeaLoggerWrapper.java`
206213
JAVAC_SOURCE_PATH=`cygpath -am $IDEA_OUTPUT/src`
207214
JAVAC_CLASSES=`cygpath -am $CLASSES`
208215
JAVAC_CP=`cygpath -am $CP`
216+
JAVAC=javac
217+
elif [ "x$WSL_DISTRO_NAME" != "x" ]; then
218+
JAVAC_SOURCE_FILE=`realpath --relative-to=./ $IDEA_OUTPUT/src/idea/IdeaLoggerWrapper.java`
219+
JAVAC_SOURCE_PATH=`realpath --relative-to=./ $IDEA_OUTPUT/src`
220+
JAVAC_CLASSES=`realpath --relative-to=./ $CLASSES`
221+
ANT_TEMP=`mktemp -d -p ./`
222+
cp $ANT_HOME/lib/ant.jar $ANT_TEMP/ant.jar
223+
JAVAC_CP=$ANT_TEMP/ant.jar
224+
JAVAC=javac.exe
225+
else
226+
JAVAC_SOURCE_FILE=$IDEA_OUTPUT/src/idea/IdeaLoggerWrapper.java
227+
JAVAC_SOURCE_PATH=$IDEA_OUTPUT/src
228+
JAVAC_CLASSES=$CLASSES
229+
JAVAC_CP=$CP
230+
JAVAC=javac
209231
fi
210232

211-
$BOOT_JDK/bin/javac -d $JAVAC_CLASSES -sourcepath $JAVAC_SOURCE_PATH -cp $JAVAC_CP $JAVAC_SOURCE_FILE
233+
$BOOT_JDK/bin/$JAVAC -d $JAVAC_CLASSES -sourcepath $JAVAC_SOURCE_PATH -cp $JAVAC_CP $JAVAC_SOURCE_FILE
234+
235+
if [ "x$WSL_DISTRO_NAME" != "x" ]; then
236+
rm -rf $ANT_TEMP
237+
fi

0 commit comments

Comments
 (0)