Skip to content

Commit a77b09a

Browse files
committed
replace pack command, do not produce lib directory, write classpath to file
1 parent c1b25d6 commit a77b09a

File tree

6 files changed

+303
-119
lines changed

6 files changed

+303
-119
lines changed

dist/bin/common

Lines changed: 19 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -7,35 +7,31 @@ source "$PROG_HOME/bin/common-shared"
77
# *-------------------------------------------------*/
88

99
find_lib () {
10-
for lib in "$PROG_HOME"/lib/$1 ; do
11-
if [[ -f "$lib" ]]; then
12-
if [ -n "$CYGPATHCMD" ]; then
13-
"$CYGPATHCMD" -am "$lib"
14-
elif [[ $mingw || $msys ]]; then
15-
echo "$lib" | sed 's|/|\\\\|g'
16-
else
17-
echo "$lib"
18-
fi
10+
command="$1"
11+
pattern="$2"
12+
while IFS= read -r line; do
13+
if [[ $line == $pattern ]]; then
14+
echo "$PROG_HOME/maven2/$line"
1915
return
2016
fi
21-
done
17+
done < "$PROG_HOME/etc/$command.classpath"
2218
}
2319

24-
DOTTY_COMP=$(find_lib "*scala3-compiler*")
25-
DOTTY_INTF=$(find_lib "*scala3-interfaces*")
26-
DOTTY_LIB=$(find_lib "*scala3-library*")
27-
DOTTY_STAGING=$(find_lib "*scala3-staging*")
28-
DOTTY_TASTY_INSPECTOR=$(find_lib "*scala3-tasty-inspector*")
29-
TASTY_CORE=$(find_lib "*tasty-core*")
30-
SCALA_ASM=$(find_lib "*scala-asm*")
31-
SCALA_LIB=$(find_lib "*scala-library*")
32-
SBT_INTF=$(find_lib "*compiler-interface*")
33-
JLINE_READER=$(find_lib "*jline-reader-3*")
34-
JLINE_TERMINAL=$(find_lib "*jline-terminal-3*")
35-
JLINE_TERMINAL_JNA=$(find_lib "*jline-terminal-jna-3*")
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*")
3632

3733
# jna-5 only appropriate for some combinations
38-
[[ ${conemu-} && ${msys-} ]] || JNA=$(find_lib "*jna-5*")
34+
[[ ${conemu-} && ${msys-} ]] || JNA=$(find_lib "scala" "*jna-5*")
3935

4036
compilerJavaClasspathArgs () {
4137
# echo "dotty-compiler: $DOTTY_COMP"

dist/bin/common.bat

Lines changed: 66 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -38,20 +38,72 @@ if not defined _PROG_HOME (
3838
set _EXITCODE=1
3939
goto :eof
4040
)
41-
set "_LIB_DIR=%_PROG_HOME%\lib"
41+
set "_ETC_DIR=%_PROG_HOME%\etc"
4242

4343
set _PSEP=;
4444

45-
for /f "delims=" %%f in ('dir /a-d /b "%_LIB_DIR%\*scala3-compiler*"') do set "_SCALA3_COMP=%_LIB_DIR%\%%f"
46-
for /f "delims=" %%f in ('dir /a-d /b "%_LIB_DIR%\*scala3-interfaces*"') do set "_SCALA3_INTF=%_LIB_DIR%\%%f"
47-
for /f "delims=" %%f in ('dir /a-d /b "%_LIB_DIR%\*scala3-library*"') do set "_SCALA3_LIB=%_LIB_DIR%\%%f"
48-
for /f "delims=" %%f in ('dir /a-d /b "%_LIB_DIR%\*scala3-staging*"') do set "_SCALA3_STAGING=%_LIB_DIR%\%%f"
49-
for /f "delims=" %%f in ('dir /a-d /b "%_LIB_DIR%\*scala3-tasty-inspector*"') do set "_SCALA3_TASTY_INSPECTOR=%_LIB_DIR%\%%f"
50-
for /f "delims=" %%f in ('dir /a-d /b "%_LIB_DIR%\*tasty-core*"') do set "_TASTY_CORE=%_LIB_DIR%\%%f"
51-
for /f "delims=" %%f in ('dir /a-d /b "%_LIB_DIR%\*scala-asm*"') do set "_SCALA_ASM=%_LIB_DIR%\%%f"
52-
for /f "delims=" %%f in ('dir /a-d /b "%_LIB_DIR%\*scala-library*"') do set "_SCALA_LIB=%_LIB_DIR%\%%f"
53-
for /f "delims=" %%f in ('dir /a-d /b "%_LIB_DIR%\*compiler-interface*"') do set "_SBT_INTF=%_LIB_DIR%\%%f"
54-
for /f "delims=" %%f in ('dir /a-d /b "%_LIB_DIR%\*jline-reader-3*"') do set "_JLINE_READER=%_LIB_DIR%\%%f"
55-
for /f "delims=" %%f in ('dir /a-d /b "%_LIB_DIR%\*jline-terminal-3*"') do set "_JLINE_TERMINAL=%_LIB_DIR%\%%f"
56-
for /f "delims=" %%f in ('dir /a-d /b "%_LIB_DIR%\*jline-terminal-jna-3*"') do set "_JLINE_TERMINAL_JNA=%_LIB_DIR%\%%f"
57-
for /f "delims=" %%f in ('dir /a-d /b "%_LIB_DIR%\*jna-5*"') do set "_JNA=%_LIB_DIR%\%%f"
45+
for /f "delims=" %%f in ('type "%_ETC_DIR%\scala.classpath" ^| findstr /r /c:"scala3-compiler"') do (
46+
set "relpath=%%f"
47+
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%"
109+
)

dist/bin/scaladoc

Lines changed: 55 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -54,61 +54,61 @@ addScrip() {
5454

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

113113
jvm_cp_args="-classpath \"$CLASS_PATH\""
114114
}

dist/bin/scaladoc.bat

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,7 @@ goto :eof
105105

106106
@rem output parameter: _CLASS_PATH
107107
:classpathArgs
108-
set "_LIB_DIR=%_PROG_HOME%\lib"
108+
set "_ETC_DIR=%_PROG_HOME%\etc"
109109
set _CLASS_PATH=
110110
@rem keep list in sync with bash script `bin\scaladoc` !
111111
call :updateClasspath "scaladoc"
@@ -157,8 +157,11 @@ goto :eof
157157
@rem output parameter: _CLASS_PATH
158158
:updateClasspath
159159
set "__PATTERN=%~1"
160-
for /f "delims=" %%f in ('dir /a-d /b "%_LIB_DIR%\*%__PATTERN%*" 2^>NUL') do (
161-
set "_CLASS_PATH=!_CLASS_PATH!%_LIB_DIR%\%%f%_PSEP%"
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%"
162165
)
163166
goto :eof
164167

project/Build.scala

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2127,7 +2127,12 @@ object Build {
21272127
republishRepo := target.value / "republish",
21282128
packResourceDir += (republishRepo.value / "bin" -> "bin"),
21292129
packResourceDir += (republishRepo.value / "maven2" -> "maven2"),
2130-
Compile / pack := (Compile / pack).dependsOn(republish).value,
2130+
packResourceDir += (republishRepo.value / "etc" -> "etc"),
2131+
republishCommandLibs +=
2132+
("scala" -> List("scala3-interfaces", "scala3-compiler", "scala3-library", "tasty-core", "scala3-staging", "scala3-tasty-inspector")),
2133+
republishCommandLibs +=
2134+
("scaladoc" -> List("scala3-interfaces", "scala3-compiler", "scala3-library", "tasty-core", "scala3-tasty-inspector", "scaladoc")),
2135+
Compile / pack := republishPack.value,
21312136
)
21322137

21332138
lazy val dist = project.asDist(Bootstrapped)

0 commit comments

Comments
 (0)