diff --git a/bin/idea.sh b/bin/idea.sh index ad89aedacbc..35162ce943c 100644 --- a/bin/idea.sh +++ b/bin/idea.sh @@ -147,13 +147,7 @@ add_replacement() { add_replacement "###MODULE_NAMES###" "$MODULE_NAMES" add_replacement "###VCS_TYPE###" "$VCS_TYPE" SPEC_DIR=`dirname $SPEC` -if [ "x$CYGPATH" = "x" ]; then - add_replacement "###BUILD_DIR###" "$SPEC_DIR" - add_replacement "###JTREG_HOME###" "$JT_HOME" - add_replacement "###IMAGES_DIR###" "$SPEC_DIR/images/jdk" - add_replacement "###ROOT_DIR###" "$TOPLEVEL_DIR" - add_replacement "###IDEA_DIR###" "$IDEA_OUTPUT" -else +if [ "x$CYGPATH" != "x" ]; then add_replacement "###BUILD_DIR###" "`cygpath -am $SPEC_DIR`" add_replacement "###IMAGES_DIR###" "`cygpath -am $SPEC_DIR`/images/jdk" add_replacement "###ROOT_DIR###" "`cygpath -am $TOPLEVEL_DIR`" @@ -163,6 +157,22 @@ else else add_replacement "###JTREG_HOME###" "`cygpath -am $JT_HOME`" fi +elif [ "x$WSL_DISTRO_NAME" != "x" ]; then + add_replacement "###BUILD_DIR###" "`wslpath -am $SPEC_DIR`" + add_replacement "###IMAGES_DIR###" "`wslpath -am $SPEC_DIR`/images/jdk" + add_replacement "###ROOT_DIR###" "`wslpath -am $TOPLEVEL_DIR`" + add_replacement "###IDEA_DIR###" "`wslpath -am $IDEA_OUTPUT`" + if [ "x$JT_HOME" = "x" ]; then + add_replacement "###JTREG_HOME###" "" + else + add_replacement "###JTREG_HOME###" "`wslpath -am $JT_HOME`" + fi +else + add_replacement "###BUILD_DIR###" "$SPEC_DIR" + add_replacement "###JTREG_HOME###" "$JT_HOME" + add_replacement "###IMAGES_DIR###" "$SPEC_DIR/images/jdk" + add_replacement "###ROOT_DIR###" "$TOPLEVEL_DIR" + add_replacement "###IDEA_DIR###" "$IDEA_OUTPUT" fi SOURCE_PREFIX="" for root in $MODULE_ROOTS; do if [ "x$CYGPATH" != "x" ]; then - root=`cygpath -am $root` + root=`cygpath -am $root` + elif [ "x$WSL_DISTRO_NAME" != "x" ]; then + root=`wslpath -am $root` fi SOURCES=$SOURCES" $SOURCE_PREFIX""$root""$SOURCE_POSTFIX" done @@ -196,16 +208,30 @@ fi CP=$ANT_HOME/lib/ant.jar rm -rf $CLASSES; mkdir $CLASSES -if [ "x$CYGPATH" = "x" ] ; then ## CYGPATH may be set in env.cfg - JAVAC_SOURCE_FILE=$IDEA_OUTPUT/src/idea/IdeaLoggerWrapper.java - JAVAC_SOURCE_PATH=$IDEA_OUTPUT/src - JAVAC_CLASSES=$CLASSES - JAVAC_CP=$CP -else +if [ "x$CYGPATH" != "x" ] ; then ## CYGPATH may be set in env.cfg JAVAC_SOURCE_FILE=`cygpath -am $IDEA_OUTPUT/src/idea/IdeaLoggerWrapper.java` JAVAC_SOURCE_PATH=`cygpath -am $IDEA_OUTPUT/src` JAVAC_CLASSES=`cygpath -am $CLASSES` JAVAC_CP=`cygpath -am $CP` + JAVAC=javac +elif [ "x$WSL_DISTRO_NAME" != "x" ]; then + JAVAC_SOURCE_FILE=`realpath --relative-to=./ $IDEA_OUTPUT/src/idea/IdeaLoggerWrapper.java` + JAVAC_SOURCE_PATH=`realpath --relative-to=./ $IDEA_OUTPUT/src` + JAVAC_CLASSES=`realpath --relative-to=./ $CLASSES` + ANT_TEMP=`mktemp -d -p ./` + cp $ANT_HOME/lib/ant.jar $ANT_TEMP/ant.jar + JAVAC_CP=$ANT_TEMP/ant.jar + JAVAC=javac.exe +else + JAVAC_SOURCE_FILE=$IDEA_OUTPUT/src/idea/IdeaLoggerWrapper.java + JAVAC_SOURCE_PATH=$IDEA_OUTPUT/src + JAVAC_CLASSES=$CLASSES + JAVAC_CP=$CP + JAVAC=javac fi -$BOOT_JDK/bin/javac -d $JAVAC_CLASSES -sourcepath $JAVAC_SOURCE_PATH -cp $JAVAC_CP $JAVAC_SOURCE_FILE +$BOOT_JDK/bin/$JAVAC -d $JAVAC_CLASSES -sourcepath $JAVAC_SOURCE_PATH -cp $JAVAC_CP $JAVAC_SOURCE_FILE + +if [ "x$WSL_DISTRO_NAME" != "x" ]; then + rm -rf $ANT_TEMP +fi \ No newline at end of file