Skip to content

Commit ebfc2ef

Browse files
authored
Merge pull request #2667 from dotty-staging/fix-windows
Fix Cygwin and Mingw on windows
2 parents 60171a9 + d332705 commit ebfc2ef

File tree

4 files changed

+70
-50
lines changed

4 files changed

+70
-50
lines changed

dist/bin/common

Lines changed: 18 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -94,12 +94,21 @@ fi
9494
# * The code below is for Dotty
9595
# *-------------------------------------------------*/
9696

97-
for filename in $PROG_HOME/lib/*.jar; do
98-
[[ $filename =~ .*dotty-compiler.*.jar ]] && DOTTY_COMP=$filename
99-
[[ $filename =~ .*dotty-interfaces.*.jar ]] && DOTTY_INTF=$filename
100-
[[ $filename =~ .*dotty-library.*.jar ]] && DOTTY_LIB=$filename
101-
[[ $filename =~ .*scala-asm.*.jar ]] && SCALA_ASM=$filename
102-
[[ $filename =~ .*scala-library.*.jar ]] && SCALA_LIB=$filename
103-
[[ $filename =~ .*scala-xml.*.jar ]] && SCALA_XML=$filename
104-
[[ $filename =~ .*sbt-interface.*.jar ]] && SBT_INTF=$filename
105-
done
97+
find_lib () {
98+
local lib=$(find $PROG_HOME/lib/ -name "$1")
99+
if $cygwin; then
100+
cygpath -am $lib
101+
elif $mingw; then
102+
echo $lib | sed 's|/|\\\\|g'
103+
else
104+
echo $lib
105+
fi
106+
}
107+
108+
DOTTY_COMP=$(find_lib "*dotty-compiler*")
109+
DOTTY_INTF=$(find_lib "*dotty-interfaces*")
110+
DOTTY_LIB=$(find_lib "*dotty-library*")
111+
SCALA_ASM=$(find_lib "*scala-asm*")
112+
SCALA_LIB=$(find_lib "*scala-library*")
113+
SCALA_XML=$(find_lib "*scala-xml*")
114+
SBT_INTF=$(find_lib "*sbt-interface*")

dist/bin/dotc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -65,9 +65,9 @@ classpathArgs () {
6565
toolchain+="$DOTTY_COMP"
6666

6767
if [[ -n "$bootcp" ]]; then
68-
jvm_cp_args="-Xbootclasspath/a:$toolchain"
68+
jvm_cp_args="-Xbootclasspath/a:\"$toolchain\""
6969
else
70-
jvm_cp_args="-classpath $toolchain"
70+
jvm_cp_args="-classpath \"$toolchain\""
7171
fi
7272
}
7373

dist/bin/dotd

Lines changed: 48 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -29,42 +29,53 @@ fi
2929

3030
source "$PROG_HOME/bin/common"
3131

32-
for filename in $PROG_HOME/lib/*.jar; do
33-
# Set dotty-doc dep:
34-
[[ $filename =~ dotty-doc.*.jar ]] && DOTTY_DOC_LIB=$filename
35-
# Set flexmark deps:
36-
[[ $filename =~ flexmark.*.jar ]] && \
37-
[[ -z "$FLEXMARK_LIBS" ]] && FLEXMARK_LIBS=$filename
38-
[[ $filename =~ flexmark.*.jar ]] && \
39-
[[ ! -z "$FLEXMARK_LIBS" ]] && FLEXMARK_LIBS="$FLEXMARK_LIBS:$filename"
40-
41-
# Set jackson deps:
42-
[[ $filename =~ /jackson.*.jar ]] && \
43-
[[ -z "$JACKSON_LIBS" ]] && JACKSON_LIBS=$filename
44-
[[ $filename =~ /jackson.*.jar ]] && \
45-
[[ ! -z "$JACKSON_LIBS" ]] && JACKSON_LIBS="$JACKSON_LIBS:$filename"
46-
47-
# Set liqp dep:
48-
[[ $filename =~ liqp.*.jar ]] && LIQP_LIB=$filename
49-
50-
# Set ANTLR dep:
51-
[[ $filename =~ antlr-3.*.jar ]] && ANTLR_LIB=$filename
52-
[[ $filename =~ antlr-runtime-3.*.jar ]] && ANTLR_RUNTIME_LIB=$filename
53-
54-
# Set autolink dep:
55-
[[ $filename =~ /autolink.*.jar ]] && AUTOLINK_LIB=$filename
56-
57-
# Set snakeyaml dep:
58-
[[ $filename =~ /snakeyaml.*.jar ]] && SNAKEYAML_LIB=$filename
59-
60-
# Set ST4 dep:
61-
[[ $filename =~ /ST4.*.jar ]] && ST4_LIB=$filename
62-
63-
# Set jsoup dep:
64-
[[ $filename =~ /jsoup.*.jar ]] && JSOUP_LIB=$filename
65-
done
66-
67-
CLASS_PATH="-classpath $DOTTY_LIB$PSEP$DOTTY_COMP$PSEP$DOTTY_DOC_LIB$PSEP$DOTTY_INTF$PSEP$SBT_INTF"
32+
# Set dotty-doc dep:
33+
DOTTY_DOC_LIB=$(find_lib "*dotty-doc*")
34+
35+
# Set flexmark deps:
36+
FLEXMARK_LIBS=""
37+
FLEXMARK_LIBS+=$(find_lib "*flexmark-0*")$PSEP
38+
FLEXMARK_LIBS+=$(find_lib "*flexmark-ext-anchorlink*")$PSEP
39+
FLEXMARK_LIBS+=$(find_lib "*flexmark-ext-autolink*")$PSEP
40+
FLEXMARK_LIBS+=$(find_lib "*flexmark-ext-emoji*")$PSEP
41+
FLEXMARK_LIBS+=$(find_lib "*flexmark-ext-gfm-strikethrough*")$PSEP
42+
FLEXMARK_LIBS+=$(find_lib "*flexmark-ext-gfm-tables*")$PSEP
43+
FLEXMARK_LIBS+=$(find_lib "*flexmark-ext-gfm-tasklist*")$PSEP
44+
FLEXMARK_LIBS+=$(find_lib "*flexmark-ext-ins*")$PSEP
45+
FLEXMARK_LIBS+=$(find_lib "*flexmark-ext-superscript*")$PSEP
46+
FLEXMARK_LIBS+=$(find_lib "*flexmark-ext-tables*")$PSEP
47+
FLEXMARK_LIBS+=$(find_lib "*flexmark-ext-wikilink*")$PSEP
48+
FLEXMARK_LIBS+=$(find_lib "*flexmark-ext-yaml-front-matter*")$PSEP
49+
FLEXMARK_LIBS+=$(find_lib "*flexmark-jira-converter*")$PSEP
50+
FLEXMARK_LIBS+=$(find_lib "*flexmark-util*")
51+
52+
# Set jackson deps:
53+
JACKSON_LIBS=""
54+
JACKSON_LIBS+=$(find_lib "*jackson-annotations*")$PSEP
55+
JACKSON_LIBS+=$(find_lib "*jackson-core*")$PSEP
56+
JACKSON_LIBS+=$(find_lib "*jackson-databind*")$PSEP
57+
JACKSON_LIBS+=$(find_lib "*jackson-dataformat-yaml*")
58+
59+
# Set liqp dep:
60+
LIQP_LIB=$(find_lib "*liqp*")
61+
62+
# Set ANTLR dep:
63+
ANTLR_LIB=$(find_lib "*antlr-3*")
64+
ANTLR_RUNTIME_LIB=$(find_lib "*antlr-runtime-3*")
65+
66+
# Set autolink dep:
67+
AUTOLINK_LIB=$(find_lib "*autolink-0.6*") # conflict with flexmark-ext-autolink-0.11
68+
69+
# Set snakeyaml dep:
70+
SNAKEYAML_LIB=$(find_lib "*snakeyaml*")
71+
72+
# Set ST4 dep:
73+
ST4_LIB=$(find_lib "*ST4*")
74+
75+
# Set jsoup dep:
76+
JSOUP_LIB=$(find_lib "*jsoup*")
77+
78+
CLASS_PATH="$DOTTY_LIB$PSEP$DOTTY_COMP$PSEP$DOTTY_DOC_LIB$PSEP$DOTTY_INTF$PSEP$SBT_INTF"
6879
CLASS_PATH="$CLASS_PATH$PSEP$SCALA_LIB"
6980
CLASS_PATH="$CLASS_PATH$PSEP$FLEXMARK_LIBS"
7081
CLASS_PATH="$CLASS_PATH$PSEP$JACKSON_LIBS"
@@ -77,7 +88,7 @@ CLASS_PATH="$CLASS_PATH$PSEP$JSOUP_LIB"
7788

7889
eval exec "\"$JAVACMD\"" \
7990
-Dscala.usejavacp=true \
80-
$CLASS_PATH \
91+
"-classpath \"$CLASS_PATH\"" \
8192
dotty.tools.dottydoc.Main \
8293
$@
8394

dist/bin/dotr

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ fi
2929

3030
source "$PROG_HOME/bin/common"
3131

32-
CLASS_PATH="-classpath .$PSEP$DOTTY_LIB$PSEP$SCALA_LIB"
32+
CLASS_PATH=".$PSEP$DOTTY_LIB$PSEP$SCALA_LIB"
3333

3434
first_arg="$1"
3535

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

0 commit comments

Comments
 (0)