Skip to content

Fix Cygwin and Mingw on windows #2667

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Jun 4, 2017
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 18 additions & 9 deletions dist/bin/common
Original file line number Diff line number Diff line change
Expand Up @@ -94,12 +94,21 @@ fi
# * The code below is for Dotty
# *-------------------------------------------------*/

for filename in $PROG_HOME/lib/*.jar; do
[[ $filename =~ .*dotty-compiler.*.jar ]] && DOTTY_COMP=$filename
[[ $filename =~ .*dotty-interfaces.*.jar ]] && DOTTY_INTF=$filename
[[ $filename =~ .*dotty-library.*.jar ]] && DOTTY_LIB=$filename
[[ $filename =~ .*scala-asm.*.jar ]] && SCALA_ASM=$filename
[[ $filename =~ .*scala-library.*.jar ]] && SCALA_LIB=$filename
[[ $filename =~ .*scala-xml.*.jar ]] && SCALA_XML=$filename
[[ $filename =~ .*sbt-interface.*.jar ]] && SBT_INTF=$filename
done
find_lib () {
local lib=$(find $PROG_HOME/lib/ -name "$1")
if $cygwin; then
cygpath -am $lib
elif $mingw; then
echo $lib | sed 's|/|\\\\|g'
else
echo $lib
fi
}

DOTTY_COMP=$(find_lib "*dotty-compiler*")
DOTTY_INTF=$(find_lib "*dotty-interfaces*")
DOTTY_LIB=$(find_lib "*dotty-library*")
SCALA_ASM=$(find_lib "*scala-asm*")
SCALA_LIB=$(find_lib "*scala-library*")
SCALA_XML=$(find_lib "*scala-xml*")
SBT_INTF=$(find_lib "*sbt-interface*")
4 changes: 2 additions & 2 deletions dist/bin/dotc
Original file line number Diff line number Diff line change
Expand Up @@ -65,9 +65,9 @@ classpathArgs () {
toolchain+="$DOTTY_COMP"

if [[ -n "$bootcp" ]]; then
jvm_cp_args="-Xbootclasspath/a:$toolchain"
jvm_cp_args="-Xbootclasspath/a:\"$toolchain\""
else
jvm_cp_args="-classpath $toolchain"
jvm_cp_args="-classpath \"$toolchain\""
fi
}

Expand Down
85 changes: 48 additions & 37 deletions dist/bin/dotd
Original file line number Diff line number Diff line change
Expand Up @@ -29,42 +29,53 @@ fi

source "$PROG_HOME/bin/common"

for filename in $PROG_HOME/lib/*.jar; do
# Set dotty-doc dep:
[[ $filename =~ dotty-doc.*.jar ]] && DOTTY_DOC_LIB=$filename
# Set flexmark deps:
[[ $filename =~ flexmark.*.jar ]] && \
[[ -z "$FLEXMARK_LIBS" ]] && FLEXMARK_LIBS=$filename
[[ $filename =~ flexmark.*.jar ]] && \
[[ ! -z "$FLEXMARK_LIBS" ]] && FLEXMARK_LIBS="$FLEXMARK_LIBS:$filename"

# Set jackson deps:
[[ $filename =~ /jackson.*.jar ]] && \
[[ -z "$JACKSON_LIBS" ]] && JACKSON_LIBS=$filename
[[ $filename =~ /jackson.*.jar ]] && \
[[ ! -z "$JACKSON_LIBS" ]] && JACKSON_LIBS="$JACKSON_LIBS:$filename"

# Set liqp dep:
[[ $filename =~ liqp.*.jar ]] && LIQP_LIB=$filename

# Set ANTLR dep:
[[ $filename =~ antlr-3.*.jar ]] && ANTLR_LIB=$filename
[[ $filename =~ antlr-runtime-3.*.jar ]] && ANTLR_RUNTIME_LIB=$filename

# Set autolink dep:
[[ $filename =~ /autolink.*.jar ]] && AUTOLINK_LIB=$filename

# Set snakeyaml dep:
[[ $filename =~ /snakeyaml.*.jar ]] && SNAKEYAML_LIB=$filename

# Set ST4 dep:
[[ $filename =~ /ST4.*.jar ]] && ST4_LIB=$filename

# Set jsoup dep:
[[ $filename =~ /jsoup.*.jar ]] && JSOUP_LIB=$filename
done

CLASS_PATH="-classpath $DOTTY_LIB$PSEP$DOTTY_COMP$PSEP$DOTTY_DOC_LIB$PSEP$DOTTY_INTF$PSEP$SBT_INTF"
# Set dotty-doc dep:
DOTTY_DOC_LIB=$(find_lib "*dotty-doc*")

# Set flexmark deps:
FLEXMARK_LIBS=""
FLEXMARK_LIBS+=$(find_lib "*flexmark-0*")$PSEP
FLEXMARK_LIBS+=$(find_lib "*flexmark-ext-anchorlink*")$PSEP
FLEXMARK_LIBS+=$(find_lib "*flexmark-ext-autolink*")$PSEP
FLEXMARK_LIBS+=$(find_lib "*flexmark-ext-emoji*")$PSEP
FLEXMARK_LIBS+=$(find_lib "*flexmark-ext-gfm-strikethrough*")$PSEP
FLEXMARK_LIBS+=$(find_lib "*flexmark-ext-gfm-tables*")$PSEP
FLEXMARK_LIBS+=$(find_lib "*flexmark-ext-gfm-tasklist*")$PSEP
FLEXMARK_LIBS+=$(find_lib "*flexmark-ext-ins*")$PSEP
FLEXMARK_LIBS+=$(find_lib "*flexmark-ext-superscript*")$PSEP
FLEXMARK_LIBS+=$(find_lib "*flexmark-ext-tables*")$PSEP
FLEXMARK_LIBS+=$(find_lib "*flexmark-ext-wikilink*")$PSEP
FLEXMARK_LIBS+=$(find_lib "*flexmark-ext-yaml-front-matter*")$PSEP
FLEXMARK_LIBS+=$(find_lib "*flexmark-jira-converter*")$PSEP
FLEXMARK_LIBS+=$(find_lib "*flexmark-util*")

# Set jackson deps:
JACKSON_LIBS=""
JACKSON_LIBS+=$(find_lib "*jackson-annotations*")$PSEP
JACKSON_LIBS+=$(find_lib "*jackson-core*")$PSEP
JACKSON_LIBS+=$(find_lib "*jackson-databind*")$PSEP
JACKSON_LIBS+=$(find_lib "*jackson-dataformat-yaml*")

# Set liqp dep:
LIQP_LIB=$(find_lib "*liqp*")

# Set ANTLR dep:
ANTLR_LIB=$(find_lib "*antlr-3*")
ANTLR_RUNTIME_LIB=$(find_lib "*antlr-runtime-3*")

# Set autolink dep:
AUTOLINK_LIB=$(find_lib "*autolink-0.6*") # conflict with flexmark-ext-autolink-0.11

# Set snakeyaml dep:
SNAKEYAML_LIB=$(find_lib "*snakeyaml*")

# Set ST4 dep:
ST4_LIB=$(find_lib "*ST4*")

# Set jsoup dep:
JSOUP_LIB=$(find_lib "*jsoup*")

CLASS_PATH="$DOTTY_LIB$PSEP$DOTTY_COMP$PSEP$DOTTY_DOC_LIB$PSEP$DOTTY_INTF$PSEP$SBT_INTF"
CLASS_PATH="$CLASS_PATH$PSEP$SCALA_LIB"
CLASS_PATH="$CLASS_PATH$PSEP$FLEXMARK_LIBS"
CLASS_PATH="$CLASS_PATH$PSEP$JACKSON_LIBS"
Expand All @@ -77,7 +88,7 @@ CLASS_PATH="$CLASS_PATH$PSEP$JSOUP_LIB"

eval exec "\"$JAVACMD\"" \
-Dscala.usejavacp=true \
$CLASS_PATH \
"-classpath \"$CLASS_PATH\"" \
dotty.tools.dottydoc.Main \
$@

Expand Down
4 changes: 2 additions & 2 deletions dist/bin/dotr
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ fi

source "$PROG_HOME/bin/common"

CLASS_PATH="-classpath .$PSEP$DOTTY_LIB$PSEP$SCALA_LIB"
CLASS_PATH=".$PSEP$DOTTY_LIB$PSEP$SCALA_LIB"

first_arg="$1"

Expand All @@ -39,5 +39,5 @@ if [ -z "$1" ]; then
elif [[ ${first_arg:0:1} == "-" ]]; then
eval "$PROG_HOME/bin/dotc -repl $@"
else
eval exec "\"$JAVACMD\"" $CLASS_PATH $@
eval exec "\"$JAVACMD\"" "-classpath \"$CLASS_PATH\"" $@
fi