Skip to content

Commit 5b0044c

Browse files
committed
load classpath directly from file
1 parent fb178b4 commit 5b0044c

File tree

5 files changed

+23
-242
lines changed

5 files changed

+23
-242
lines changed

dist/bin/common

Lines changed: 8 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -6,58 +6,21 @@ source "$PROG_HOME/bin/common-shared"
66
# * The code below is for Dotty
77
# *-------------------------------------------------*/
88

9-
find_lib () {
9+
load_classpath () {
1010
command="$1"
11-
pattern="$2"
11+
psep_pattern="$2"
12+
__CLASS_PATH=""
1213
while IFS= read -r line; do
13-
if [[ $line == $pattern ]]; then
14-
echo "$PROG_HOME/maven2/$line"
15-
return
14+
if ! [[ ( -n ${conemu-} || -n ${msys-}) && "$line" == "*jna-5*" ]]; then
15+
# jna-5 only appropriate for some combinations
16+
__CLASS_PATH+="$PROG_HOME/maven2/$line$psep_pattern"
1617
fi
1718
done < "$PROG_HOME/etc/$command.classpath"
19+
echo "$__CLASS_PATH"
1820
}
1921

20-
DOTTY_COMP=$(find_lib "scala" "*scala3-compiler*")
21-
DOTTY_INTF=$(find_lib "scala" "*scala3-interfaces*")
22-
DOTTY_LIB=$(find_lib "scala" "*scala3-library*")
23-
DOTTY_STAGING=$(find_lib "scala" "*scala3-staging*")
24-
DOTTY_TASTY_INSPECTOR=$(find_lib "scala" "*scala3-tasty-inspector*")
25-
TASTY_CORE=$(find_lib "scala" "*tasty-core*")
26-
SCALA_ASM=$(find_lib "scala" "*scala-asm*")
27-
SCALA_LIB=$(find_lib "scala" "*scala-library*")
28-
SBT_INTF=$(find_lib "scala" "*compiler-interface*")
29-
JLINE_READER=$(find_lib "scala" "*jline-reader-3*")
30-
JLINE_TERMINAL=$(find_lib "scala" "*jline-terminal-3*")
31-
JLINE_TERMINAL_JNA=$(find_lib "scala" "*jline-terminal-jna-3*")
32-
33-
# jna-5 only appropriate for some combinations
34-
[[ ${conemu-} && ${msys-} ]] || JNA=$(find_lib "scala" "*jna-5*")
35-
3622
compilerJavaClasspathArgs () {
37-
# echo "dotty-compiler: $DOTTY_COMP"
38-
# echo "dotty-interface: $DOTTY_INTF"
39-
# echo "dotty-library: $DOTTY_LIB"
40-
# echo "tasty-core: $TASTY_CORE"
41-
# echo "scala-asm: $SCALA_ASM"
42-
# echo "scala-lib: $SCALA_LIB"
43-
# echo "sbt-intface: $SBT_INTF"
44-
45-
toolchain=""
46-
toolchain+="$SCALA_LIB$PSEP"
47-
toolchain+="$DOTTY_LIB$PSEP"
48-
toolchain+="$SCALA_ASM$PSEP"
49-
toolchain+="$SBT_INTF$PSEP"
50-
toolchain+="$DOTTY_INTF$PSEP"
51-
toolchain+="$DOTTY_COMP$PSEP"
52-
toolchain+="$TASTY_CORE$PSEP"
53-
toolchain+="$DOTTY_STAGING$PSEP"
54-
toolchain+="$DOTTY_TASTY_INSPECTOR$PSEP"
55-
56-
# jine
57-
toolchain+="$JLINE_READER$PSEP"
58-
toolchain+="$JLINE_TERMINAL$PSEP"
59-
toolchain+="$JLINE_TERMINAL_JNA$PSEP"
60-
[ -n "${JNA-}" ] && toolchain+="$JNA$PSEP"
23+
toolchain="$(load_classpath "scala" "$PSEP")"
6124

6225
if [ -n "${jvm_cp_args-}" ]; then
6326
jvm_cp_args="$toolchain$jvm_cp_args"

dist/bin/common.bat

Lines changed: 9 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -42,68 +42,15 @@ set "_ETC_DIR=%_PROG_HOME%\etc"
4242

4343
set _PSEP=;
4444

45-
for /f "delims=" %%f in ('type "%_ETC_DIR%\scala.classpath" ^| findstr /r /c:"scala3-compiler"') do (
45+
@rem input parameter: %1=command for classpath file
46+
@rem output parameter: _CLASS_PATH
47+
:loadClasspathFromFile
48+
set "__COMMAND=%~1"
49+
set _CLASS_PATH=
50+
for /f "delims=" %%f in ("%_ETC_DIR%\%__COMMAND%.classpath") do (
4651
set "relpath=%%f"
4752
set "relpath=!relpath:/=\!"
48-
set "_SCALA3_COMP=%_PROG_HOME%\maven2\%relpath%"
49-
)
50-
for /f "delims=" %%f in ('type "%_ETC_DIR%\scala.classpath" ^| findstr /r /c:"scala3-interfaces"') do (
51-
set "relpath=%%f"
52-
set "relpath=!relpath:/=\!"
53-
set "_SCALA3_INTF=%_PROG_HOME%\maven2\%relpath%"
54-
)
55-
for /f "delims=" %%f in ('type "%_ETC_DIR%\scala.classpath" ^| findstr /r /c:"scala3-library"') do (
56-
set "relpath=%%f"
57-
set "relpath=!relpath:/=\!"
58-
set "_SCALA3_LIB=%_PROG_HOME%\maven2\%relpath%"
59-
)
60-
for /f "delims=" %%f in ('type "%_ETC_DIR%\scala.classpath" ^| findstr /r /c:"scala3-staging"') do (
61-
set "relpath=%%f"
62-
set "relpath=!relpath:/=\!"
63-
set "_SCALA3_STAGING=%_PROG_HOME%\maven2\%relpath%"
64-
)
65-
for /f "delims=" %%f in ('type "%_ETC_DIR%\scala.classpath" ^| findstr /r /c:"scala3-tasty-inspector"') do (
66-
set "relpath=%%f"
67-
set "relpath=!relpath:/=\!"
68-
set "_SCALA3_TASTY_INSPECTOR=%_PROG_HOME%\maven2\%relpath%"
69-
)
70-
for /f "delims=" %%f in ('type "%_ETC_DIR%\scala.classpath" ^| findstr /r /c:"tasty-core"') do (
71-
set "relpath=%%f"
72-
set "relpath=!relpath:/=\!"
73-
set "_TASTY_CORE=%_PROG_HOME%\maven2\%relpath%"
74-
)
75-
for /f "delims=" %%f in ('type "%_ETC_DIR%\scala.classpath" ^| findstr /r /c:"scala-asm"') do (
76-
set "relpath=%%f"
77-
set "relpath=!relpath:/=\!"
78-
set "_SCALA_ASM=%_PROG_HOME%\maven2\%relpath%"
79-
)
80-
for /f "delims=" %%f in ('type "%_ETC_DIR%\scala.classpath" ^| findstr /r /c:"scala-library"') do (
81-
set "relpath=%%f"
82-
set "relpath=!relpath:/=\!"
83-
set "_SCALA_LIB=%_PROG_HOME%\maven2\%relpath%"
84-
)
85-
for /f "delims=" %%f in ('type "%_ETC_DIR%\scala.classpath" ^| findstr /r /c:"compiler-interface"') do (
86-
set "relpath=%%f"
87-
set "relpath=!relpath:/=\!"
88-
set "_SBT_INTF=%_PROG_HOME%\maven2\%relpath%"
89-
)
90-
for /f "delims=" %%f in ('type "%_ETC_DIR%\scala.classpath" ^| findstr /r /c:"jline-reader-3"') do (
91-
set "relpath=%%f"
92-
set "relpath=!relpath:/=\!"
93-
set "_JLINE_READER=%_PROG_HOME%\maven2\%relpath%"
94-
)
95-
for /f "delims=" %%f in ('type "%_ETC_DIR%\scala.classpath" ^| findstr /r /c:"jline-terminal-3"') do (
96-
set "relpath=%%f"
97-
set "relpath=!relpath:/=\!"
98-
set "_JLINE_TERMINAL=%_PROG_HOME%\maven2\%relpath%"
99-
)
100-
for /f "delims=" %%f in ('type "%_ETC_DIR%\scala.classpath" ^| findstr /r /c:"jline-terminal-jna-3"') do (
101-
set "relpath=%%f"
102-
set "relpath=!relpath:/=\!"
103-
set "_JLINE_TERMINAL_JNA=%_PROG_HOME%\maven2\%relpath%"
104-
)
105-
for /f "delims=" %%f in ('type "%_ETC_DIR%\scala.classpath" ^| findstr /r /c:"jna-5"') do (
106-
set "relpath=%%f"
107-
set "relpath=!relpath:/=\!"
108-
set "_JNA=%_PROG_HOME%\maven2\%relpath%"
53+
54+
set "_CLASS_PATH=!_CLASS_PATH!%_PROG_HOME%\maven2\%relpath%%_PSEP%"
10955
)
56+
goto :eof

dist/bin/scalac.bat

Lines changed: 4 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -88,29 +88,10 @@ goto :eof
8888

8989
@rem output parameter: _JVM_CP_ARGS
9090
:compilerJavaClasspathArgs
91-
@rem echo scala3-compiler: %_SCALA3_COMP%
92-
@rem echo scala3-interface: %_SCALA3_INTF%
93-
@rem echo scala3-library: %_SCALA3_LIB%
94-
@rem echo tasty-core: %_TASTY_CORE%
95-
@rem echo scala-asm: %_SCALA_ASM%
96-
@rem echo scala-lib: %_SCALA_LIB%
97-
@rem echo sbt-intface: %_SBT_INTF%
98-
99-
set "__TOOLCHAIN=%_SCALA_LIB%%_PSEP%"
100-
set "__TOOLCHAIN=%__TOOLCHAIN%%_SCALA3_LIB%%_PSEP%"
101-
set "__TOOLCHAIN=%__TOOLCHAIN%%_SCALA_ASM%%_PSEP%"
102-
set "__TOOLCHAIN=%__TOOLCHAIN%%_SBT_INTF%%_PSEP%"
103-
set "__TOOLCHAIN=%__TOOLCHAIN%%_SCALA3_INTF%%_PSEP%"
104-
set "__TOOLCHAIN=%__TOOLCHAIN%%_SCALA3_COMP%%_PSEP%"
105-
set "__TOOLCHAIN=%__TOOLCHAIN%%_TASTY_CORE%%_PSEP%"
106-
set "__TOOLCHAIN=%__TOOLCHAIN%%_SCALA3_STAGING%%_PSEP%"
107-
set "__TOOLCHAIN=%__TOOLCHAIN%%_SCALA3_TASTY_INSPECTOR%%_PSEP%"
108-
109-
@rem # jline
110-
set "__TOOLCHAIN=%__TOOLCHAIN%%_JLINE_READER%%_PSEP%"
111-
set "__TOOLCHAIN=%__TOOLCHAIN%%_JLINE_TERMINAL%%_PSEP%"
112-
set "__TOOLCHAIN=%__TOOLCHAIN%%_JLINE_TERMINAL_JNA%%_PSEP%"
113-
set "__TOOLCHAIN=%__TOOLCHAIN%%_JNA%%_PSEP%"
91+
92+
call :loadClasspathFromFile "scala"
93+
94+
set "__TOOLCHAIN=%_CLASS_PATH%"
11495

11596
if defined _SCALA_CPATH (
11697
set "_JVM_CP_ARGS=%__TOOLCHAIN%%_SCALA_CPATH%"

dist/bin/scaladoc

Lines changed: 1 addition & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -53,62 +53,7 @@ addScrip() {
5353
}
5454

5555
classpathArgs () {
56-
CLASS_PATH=""
57-
CLASS_PATH+="$(find_lib "scaladoc" "*scaladoc*")$PSEP"
58-
CLASS_PATH+="$(find_lib "scaladoc" "*scala3-compiler*")$PSEP"
59-
CLASS_PATH+="$(find_lib "scaladoc" "*scala3-interfaces*")$PSEP"
60-
CLASS_PATH+="$(find_lib "scaladoc" "*scala3-library*")$PSEP"
61-
CLASS_PATH+="$(find_lib "scaladoc" "*tasty-core*")$PSEP"
62-
CLASS_PATH+="$(find_lib "scaladoc" "*scala3-tasty-inspector*")$PSEP"
63-
CLASS_PATH+="$(find_lib "scaladoc" "*flexmark-0*")$PSEP"
64-
CLASS_PATH+="$(find_lib "scaladoc" "*flexmark*")$PSEP"
65-
CLASS_PATH+="$(find_lib "scaladoc" "*flexmark-ext-anchorlink*")$PSEP"
66-
CLASS_PATH+="$(find_lib "scaladoc" "*flexmark-ext-autolink*")$PSEP"
67-
CLASS_PATH+="$(find_lib "scaladoc" "*flexmark-ext-emoji*")$PSEP"
68-
CLASS_PATH+="$(find_lib "scaladoc" "*flexmark-ext-gfm-strikethrough*")$PSEP"
69-
CLASS_PATH+="$(find_lib "scaladoc" "*flexmark-ext-gfm-tasklist*")$PSEP"
70-
CLASS_PATH+="$(find_lib "scaladoc" "*flexmark-ext-wikilink*")$PSEP"
71-
CLASS_PATH+="$(find_lib "scaladoc" "*flexmark-ext-yaml-front-matter*")$PSEP"
72-
CLASS_PATH+="$(find_lib "scaladoc" "*flexmark-ext-tables*")$PSEP"
73-
CLASS_PATH+="$(find_lib "scaladoc" "*flexmark-ext-ins*")$PSEP"
74-
CLASS_PATH+="$(find_lib "scaladoc" "*flexmark-ext-superscript*")$PSEP"
75-
CLASS_PATH+="$(find_lib "scaladoc" "*flexmark-util*")$PSEP"
76-
CLASS_PATH+="$(find_lib "scaladoc" "*flexmark-util-ast*")$PSEP"
77-
CLASS_PATH+="$(find_lib "scaladoc" "*flexmark-util-data*")$PSEP"
78-
CLASS_PATH+="$(find_lib "scaladoc" "*flexmark-util-dependency*")$PSEP"
79-
CLASS_PATH+="$(find_lib "scaladoc" "*flexmark-util-misc*")$PSEP"
80-
CLASS_PATH+="$(find_lib "scaladoc" "*flexmark-util-format*")$PSEP"
81-
CLASS_PATH+="$(find_lib "scaladoc" "*flexmark-util-sequence*")$PSEP"
82-
CLASS_PATH+="$(find_lib "scaladoc" "*flexmark-util-builder*")$PSEP"
83-
CLASS_PATH+="$(find_lib "scaladoc" "*flexmark-util-collection*")$PSEP"
84-
CLASS_PATH+="$(find_lib "scaladoc" "*flexmark-util-visitor*")$PSEP"
85-
CLASS_PATH+="$(find_lib "scaladoc" "*flexmark-util-options*")$PSEP"
86-
CLASS_PATH+="$(find_lib "scaladoc" "*flexmark-util-html*")$PSEP"
87-
CLASS_PATH+="$(find_lib "scaladoc" "*flexmark-formatter*")$PSEP"
88-
CLASS_PATH+="$(find_lib "scaladoc" "*flexmark-ast*")$PSEP"
89-
CLASS_PATH+="$(find_lib "scaladoc" "*liqp*")$PSEP"
90-
CLASS_PATH+="$(find_lib "scaladoc" "*jsoup*")$PSEP"
91-
CLASS_PATH+="$(find_lib "scaladoc" "*jackson-dataformat-yaml*")$PSEP"
92-
CLASS_PATH+="$(find_lib "scaladoc" "*jackson-datatype-jsr310*")$PSEP"
93-
CLASS_PATH+="$(find_lib "scaladoc" "*strftime4j*")$PSEP"
94-
CLASS_PATH+="$(find_lib "scaladoc" "*scala-asm*")$PSEP"
95-
CLASS_PATH+="$(find_lib "scaladoc" "*compiler-interface*")$PSEP"
96-
CLASS_PATH+="$(find_lib "scaladoc" "*jline-reader*")$PSEP"
97-
CLASS_PATH+="$(find_lib "scaladoc" "*jline-terminal-3*")$PSEP"
98-
CLASS_PATH+="$(find_lib "scaladoc" "*jline-terminal-jna*")$PSEP"
99-
CLASS_PATH+="$(find_lib "scaladoc" "*flexmark-formatter*")$PSEP"
100-
CLASS_PATH+="$(find_lib "scaladoc" "*autolink-0.6*")$PSEP"
101-
CLASS_PATH+="$(find_lib "scaladoc" "*flexmark-jira-converter*")$PSEP"
102-
CLASS_PATH+="$(find_lib "scaladoc" "*antlr4*")$PSEP"
103-
CLASS_PATH+="$(find_lib "scaladoc" "*jackson-annotations*")$PSEP"
104-
CLASS_PATH+="$(find_lib "scaladoc" "*jackson-core*")$PSEP"
105-
CLASS_PATH+="$(find_lib "scaladoc" "*jackson-databind*")$PSEP"
106-
CLASS_PATH+="$(find_lib "scaladoc" "*snakeyaml*")$PSEP"
107-
CLASS_PATH+="$(find_lib "scaladoc" "*scala-library*")$PSEP"
108-
CLASS_PATH+="$(find_lib "scaladoc" "*protobuf-java*")$PSEP"
109-
CLASS_PATH+="$(find_lib "scaladoc" "*util-interface*")$PSEP"
110-
CLASS_PATH+="$(find_lib "scaladoc" "*jna-5*")$PSEP"
111-
CLASS_PATH+="$(find_lib "scaladoc" "*antlr4-runtime*")$PSEP"
56+
CLASS_PATH="$(load_classpath "scaladoc" "$PSEP")"
11257

11358
jvm_cp_args="-classpath \"$CLASS_PATH\""
11459
}

dist/bin/scaladoc.bat

Lines changed: 1 addition & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -106,63 +106,8 @@ goto :eof
106106
@rem output parameter: _CLASS_PATH
107107
:classpathArgs
108108
set "_ETC_DIR=%_PROG_HOME%\etc"
109-
set _CLASS_PATH=
110109
@rem keep list in sync with bash script `bin\scaladoc` !
111-
call :updateClasspath "scaladoc"
112-
call :updateClasspath "scala3-compiler"
113-
call :updateClasspath "scala3-interfaces"
114-
call :updateClasspath "scala3-library"
115-
call :updateClasspath "tasty-core"
116-
call :updateClasspath "scala3-tasty-inspector"
117-
call :updateClasspath "flexmark-0"
118-
call :updateClasspath "flexmark-html-parser"
119-
call :updateClasspath "flexmark-ext-anchorlink"
120-
call :updateClasspath "flexmark-ext-autolink"
121-
call :updateClasspath "flexmark-ext-emoji"
122-
call :updateClasspath "flexmark-ext-gfm-strikethrough"
123-
call :updateClasspath "flexmark-ext-gfm-tables"
124-
call :updateClasspath "flexmark-ext-gfm-tasklist"
125-
call :updateClasspath "flexmark-ext-wikilink"
126-
call :updateClasspath "flexmark-ext-yaml-front-matter"
127-
call :updateClasspath "liqp"
128-
call :updateClasspath "jsoup"
129-
call :updateClasspath "jackson-dataformat-yaml"
130-
call :updateClasspath "jackson-datatype-jsr310"
131-
call :updateClasspath "strftime4j"
132-
call :updateClasspath "scala-asm"
133-
call :updateClasspath "compiler-interface"
134-
call :updateClasspath "jline-reader"
135-
call :updateClasspath "jline-terminal-3"
136-
call :updateClasspath "jline-terminal-jna"
137-
call :updateClasspath "flexmark-util"
138-
call :updateClasspath "flexmark-formatter"
139-
call :updateClasspath "autolink-0.6"
140-
call :updateClasspath "flexmark-jira-converter"
141-
call :updateClasspath "antlr4"
142-
call :updateClasspath "jackson-annotations"
143-
call :updateClasspath "jackson-core"
144-
call :updateClasspath "jackson-databind"
145-
call :updateClasspath "snakeyaml"
146-
call :updateClasspath "scala-library"
147-
call :updateClasspath "protobuf-java"
148-
call :updateClasspath "util-interface"
149-
call :updateClasspath "jna-5"
150-
call :updateClasspath "flexmark-ext-tables"
151-
call :updateClasspath "flexmark-ext-ins"
152-
call :updateClasspath "flexmark-ext-superscript"
153-
call :updateClasspath "antlr4-runtime"
154-
goto :eof
155-
156-
@rem input parameter: %1=pattern for library file
157-
@rem output parameter: _CLASS_PATH
158-
:updateClasspath
159-
set "__PATTERN=%~1"
160-
for /f "delims=" %%f in ('type "%_ETC_DIR%\scaladoc.classpath" ^| findstr /r /c:"%__PATTERN%" 2^>NUL') do (
161-
set "relpath=%%f"
162-
set "relpath=!relpath:/=\!"
163-
164-
set "_CLASS_PATH=!_CLASS_PATH!%_PROG_HOME%\maven2\%relpath%%_PSEP%"
165-
)
110+
call :loadClasspathFromFile "scaladoc"
166111
goto :eof
167112

168113
@rem #########################################################################

0 commit comments

Comments
 (0)