Build Logs

neandertech/langoustine • scheduled_3.8.0-RC1-bin-20251114-d221ef5-NIGHTLY

Errors

18

Warnings

684

Total Lines

1554

1##################################
2Clonning https://github.com/neandertech/langoustine.git into /build/repo using revision v0.0.25
3##################################
4Note: switching to '7f75f6a094fe0e0213bf8b71f8e517c3fa7b2e12'.
5
6You are in 'detached HEAD' state. You can look around, make experimental
7changes and commit them, and you can discard any commits you make in this
8state without impacting any branches by switching back to a branch.
9
10If you want to create a new branch to retain commits you create, you may
11do so (now or later) by using -c with the switch command. Example:
12
13 git switch -c <new-branch-name>
14
15Or undo this operation with:
16
17 git switch -
18
19Turn off this advice by setting config variable advice.detachedHead to false
20
21Using target Scala version for migration: 3.7.4-RC2
22Migrating project for -source:3.4 using Scala 3.7.4-RC2
23----
24Preparing build for 3.7.4-RC2
25Would try to apply common scalacOption (best-effort, sbt/mill only):
26Append: -rewrite,REQUIRE:-source:3.4-migration
27Remove: -indent,-no-indent,-new-syntax,,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
28----
29Starting build for 3.7.4-RC2
30Execute tests: false
31sbt project found:
32Sbt version 1.10.11 is not supported, minimal supported version is 1.11.5
33Enforcing usage of sbt in version 1.11.5
34No prepare script found for project neandertech/langoustine
35/opencb/project-builder/sbt/prepare-project.sh: line 107: /root/.ssh/config: No such file or directory
36##################################
37Scala version: 3.7.4-RC2
38Targets: tech.neander%langoustine-app tech.neander%langoustine-lsp tech.neander%langoustine-meta tech.neander%langoustine-tracer tech.neander%langoustine-tracer-shared
39Project projectConfig: {"projects":{"exclude":[],"overrides":{"langoustine-tracer":{"tests":"disabled"}}},"java":{"version":"17"},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"compile-only","sourceVersion":"3.4","migrationVersions":["3.4"],"sourcePatches":[]}
40##################################
41Using extra scalacOptions: -rewrite,REQUIRE:-source:3.4-migration
42Filtering out scalacOptions: -indent,-no-indent,-new-syntax,,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
43[sbt_options] declare -a sbt_options=()
44[process_args] java_version = '17'
45[copyRt] java9_rt = '/root/.sbt/1.0/java9-rt-ext-eclipse_adoptium_17_0_8/rt.jar'
46# Executing command line:
47java
48-Dfile.encoding=UTF-8
49-Xmx4G
50-Dcommunitybuild.scala=3.7.4-RC2
51-Dcommunitybuild.project.dependencies.add=
52-Xmx7G
53-Xms4G
54-Xss8M
55-Dsbt.script=/root/.sdkman/candidates/sbt/current/bin/sbt
56-Dscala.ext.dirs=/root/.sbt/1.0/java9-rt-ext-eclipse_adoptium_17_0_8
57-jar
58/root/.sdkman/candidates/sbt/1.11.5/bin/sbt-launch.jar
59"setCrossScalaVersions 3.7.4-RC2"
60"++3.7.4-RC2 -v"
61"mapScalacOptions "-rewrite,REQUIRE:-source:3.4-migration,-Wconf:msg=can be rewritten automatically under:s" "-indent,-no-indent,-new-syntax,,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e""
62"set every credentials := Nil"
63"excludeLibraryDependency com.github.ghik:zerowaste_{scalaVersion} com.olegpy:better-monadic-for_3 org.polyvariant:better-tostring_{scalaVersion} org.wartremover:wartremover_{scalaVersion}"
64"removeScalacOptionsStartingWith -P:wartremover"
65
66moduleMappings
67"runBuild 3.7.4-RC2 """{"projects":{"exclude":[],"overrides":{"langoustine-tracer":{"tests":"disabled"}}},"java":{"version":"17"},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"compile-only","sourceVersion":"3.4","migrationVersions":["3.4"],"sourcePatches":[]}""" tech.neander%langoustine-app tech.neander%langoustine-lsp tech.neander%langoustine-meta tech.neander%langoustine-tracer tech.neander%langoustine-tracer-shared"
68
69[info] welcome to sbt 1.11.5 (Eclipse Adoptium Java 17.0.8)
70[info] loading settings for project repo-build from akka.sbt, plugins.sbt...
71[info] loading project definition from /build/repo/project
72[info] compiling 2 Scala sources to /build/repo/project/target/scala-2.12/sbt-1.0/classes ...
73[info] Non-compiled module 'compiler-bridge_2.12' for Scala 2.12.20. Compiling...
74[info] Compilation completed in 8.645s.
75[info] done compiling
76/build/repo/build.sbt:61: warning: method sonatypeOssRepos in class ResolverFunctions is deprecated (since 1.11.2): Sonatype OSS Repository Hosting (OSSRH) was sunset on 2025-06-30; remove this resolver. If snapshots are required, use:
77 resolvers += Resolver.sonatypeCentralSnapshots
78 .sonatypeOssRepos("snapshots")
79 ^
80[info] loading settings for project root from build.sbt...
81[info] resolving key references (28924 settings) ...
82[info]
83[info] _ _ _
84[info] | | | | (_)
85[info] | | __ _ _ __ __ _ ___ _ _ ___| |_ _ _ __ ___
86[info] | | / _` | '_ \ / _` |/ _ \| | | / __| __| | '_ \ / _ \
87[info] | |___| (_| | | | | (_| | (_) | |_| \__ \ |_| | | | | __/
88[info] |______\__,_|_| |_|\__, |\___/ \__,_|___/\__|_|_| |_|\___|
89[info] __/ |
90[info] |___/
91[info]
92[info] 0.0.25+0-7f75f6a0+20251115-0206-SNAPSHOT
93[info]
94[info] Scala 3.3.6
95[info]
96[info] Useful sbt tasks:
97[info] gl. generateLSP - Regenerate LSP definitions
98[info] bw. buildWebsite - Build website
99[info] tt. testTracer - Run Tracer's backend tests
100[info] bt. buildTracer - Build Tracer for local usage
101[info] te. testE2E - Run LangoustineApp E2E tests that launch a separate process
102[info] fx. preCI - Reformat and apply Scalafix rules
103[info] pl. publishLocal - Publish all modules locally
104Execute setCrossScalaVersions: 3.7.4-RC2
105OpenCB::Changing crossVersion 3.3.6 -> 3.7.4-RC2 in metaNative/crossScalaVersions
106OpenCB::Changing crossVersion 3.3.6 -> 3.7.4-RC2 in metaJS/crossScalaVersions
107OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.7.4-RC2) in metaJS/crossScalaVersions
108OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.7.4-RC2) in metaNative/crossScalaVersions
109OpenCB::Changing crossVersion 3.3.6 -> 3.7.4-RC2 in app/crossScalaVersions
110OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.7.4-RC2) in app/crossScalaVersions
111OpenCB::Changing crossVersion 3.3.6 -> 3.7.4-RC2 in lsp/crossScalaVersions
112OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.7.4-RC2) in lsp/crossScalaVersions
113OpenCB::Changing crossVersion 3.3.6 -> 3.7.4-RC2 in generate/crossScalaVersions
114OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.7.4-RC2) in generate/crossScalaVersions
115OpenCB::Changing crossVersion 3.3.6 -> 3.7.4-RC2 in tracer/crossScalaVersions
116OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.7.4-RC2) in tracer/crossScalaVersions
117OpenCB::Changing crossVersion 3.3.6 -> 3.7.4-RC2 in e2e-tests/crossScalaVersions
118OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.7.4-RC2) in e2e-tests/crossScalaVersions
119OpenCB::Changing crossVersion 3.3.6 -> 3.7.4-RC2 in appNative/crossScalaVersions
120OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.7.4-RC2) in appNative/crossScalaVersions
121OpenCB::Changing crossVersion 3.3.6 -> 3.7.4-RC2 in tracerSharedJS/crossScalaVersions
122OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.7.4-RC2) in tracerSharedJS/crossScalaVersions
123OpenCB::Changing crossVersion 3.3.6 -> 3.7.4-RC2 in example/crossScalaVersions
124OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.7.4-RC2) in example/crossScalaVersions
125OpenCB::Changing crossVersion 3.3.6 -> 3.7.4-RC2 in exampleNative/crossScalaVersions
126OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.7.4-RC2) in exampleNative/crossScalaVersions
127OpenCB::Changing crossVersion 3.3.6 -> 3.7.4-RC2 in testsJS/crossScalaVersions
128OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.7.4-RC2) in testsJS/crossScalaVersions
129OpenCB::Changing crossVersion 3.3.6 -> 3.7.4-RC2 in meta/crossScalaVersions
130OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.7.4-RC2) in meta/crossScalaVersions
131OpenCB::Changing crossVersion 3.3.6 -> 3.7.4-RC2 in testsNative/crossScalaVersions
132OpenCB::Changing crossVersion 3.3.6 -> 3.7.4-RC2 in tracerFrontendJS/crossScalaVersions
133OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.7.4-RC2) in testsNative/crossScalaVersions
134OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.7.4-RC2) in tracerFrontendJS/crossScalaVersions
135OpenCB::Changing crossVersion 3.3.6 -> 3.7.4-RC2 in lspJS/crossScalaVersions
136OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.7.4-RC2) in lspJS/crossScalaVersions
137OpenCB::Changing crossVersion 3.3.6 -> 3.7.4-RC2 in tests/crossScalaVersions
138OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.7.4-RC2) in tests/crossScalaVersions
139OpenCB::Changing crossVersion 3.3.6 -> 3.7.4-RC2 in tracerShared/crossScalaVersions
140OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.7.4-RC2) in tracerShared/crossScalaVersions
141OpenCB::Changing crossVersion 3.3.6 -> 3.7.4-RC2 in docs/crossScalaVersions
142OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.7.4-RC2) in docs/crossScalaVersions
143OpenCB::Changing crossVersion 3.3.6 -> 3.7.4-RC2 in exampleJS/crossScalaVersions
144OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.7.4-RC2) in exampleJS/crossScalaVersions
145OpenCB::Changing crossVersion 3.3.6 -> 3.7.4-RC2 in appJS/crossScalaVersions
146OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.7.4-RC2) in appJS/crossScalaVersions
147OpenCB::Changing crossVersion 3.3.6 -> 3.7.4-RC2 in lspNative/crossScalaVersions
148OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.7.4-RC2) in lspNative/crossScalaVersions
149[info]
150[info] _ _ _
151[info] | | | | (_)
152[info] | | __ _ _ __ __ _ ___ _ _ ___| |_ _ _ __ ___
153[info] | | / _` | '_ \ / _` |/ _ \| | | / __| __| | '_ \ / _ \
154[info] | |___| (_| | | | | (_| | (_) | |_| \__ \ |_| | | | | __/
155[info] |______\__,_|_| |_|\__, |\___/ \__,_|___/\__|_|_| |_|\___|
156[info] __/ |
157[info] |___/
158[info]
159[info] 0.0.25+0-7f75f6a0+20251115-0206-SNAPSHOT
160[info]
161[info] Scala 3.3.6
162[info]
163[info] Useful sbt tasks:
164[info] gl. generateLSP - Regenerate LSP definitions
165[info] bw. buildWebsite - Build website
166[info] tt. testTracer - Run Tracer's backend tests
167[info] bt. buildTracer - Build Tracer for local usage
168[info] te. testE2E - Run LangoustineApp E2E tests that launch a separate process
169[info] fx. preCI - Reformat and apply Scalafix rules
170[info] pl. publishLocal - Publish all modules locally
171[info] Setting Scala version to 3.7.4-RC2 on 22 projects.
172[info] Switching Scala version on:
173[info] tracerShared (3.7.4-RC2)
174[info] e2e-tests (3.7.4-RC2)
175[info] appJS (3.7.4-RC2)
176[info] lsp (3.7.4-RC2)
177[info] generate (3.7.4-RC2)
178[info] exampleJS (3.7.4-RC2)
179[info] docs (3.7.4-RC2)
180[info] metaNative (3.7.4-RC2)
181[info] tests (3.7.4-RC2)
182[info] metaJS (3.7.4-RC2)
183[info] tracerSharedJS (3.7.4-RC2)
184[info] tracerFrontendJS (3.7.4-RC2)
185[info] lspJS (3.7.4-RC2)
186[info] appNative (3.7.4-RC2)
187[info] meta (3.7.4-RC2)
188[info] testsJS (3.7.4-RC2)
189[info] exampleNative (3.7.4-RC2)
190[info] tracer (3.7.4-RC2)
191[info] app (3.7.4-RC2)
192[info] lspNative (3.7.4-RC2)
193[info] example (3.7.4-RC2)
194[info] testsNative (3.7.4-RC2)
195[info] Excluding projects:
196[info] * root (2.12.20)
197[info] Reapplying settings...
198[info]
199[info] _ _ _
200[info] | | | | (_)
201[info] | | __ _ _ __ __ _ ___ _ _ ___| |_ _ _ __ ___
202[info] | | / _` | '_ \ / _` |/ _ \| | | / __| __| | '_ \ / _ \
203[info] | |___| (_| | | | | (_| | (_) | |_| \__ \ |_| | | | | __/
204[info] |______\__,_|_| |_|\__, |\___/ \__,_|___/\__|_|_| |_|\___|
205[info] __/ |
206[info] |___/
207[info]
208[info] 0.0.25+0-7f75f6a0+20251115-0206-SNAPSHOT
209[info]
210[info] Scala 3.3.6
211[info]
212[info] Useful sbt tasks:
213[info] gl. generateLSP - Regenerate LSP definitions
214[info] bw. buildWebsite - Build website
215[info] tt. testTracer - Run Tracer's backend tests
216[info] bt. buildTracer - Build Tracer for local usage
217[info] te. testE2E - Run LangoustineApp E2E tests that launch a separate process
218[info] fx. preCI - Reformat and apply Scalafix rules
219[info] pl. publishLocal - Publish all modules locally
220Execute mapScalacOptions: -rewrite,REQUIRE:-source:3.4-migration,-Wconf:msg=can be rewritten automatically under:s -indent,-no-indent,-new-syntax,,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
221[info] Reapplying settings...
222[info]
223[info] _ _ _
224[info] | | | | (_)
225[info] | | __ _ _ __ __ _ ___ _ _ ___| |_ _ _ __ ___
226[info] | | / _` | '_ \ / _` |/ _ \| | | / __| __| | '_ \ / _ \
227[info] | |___| (_| | | | | (_| | (_) | |_| \__ \ |_| | | | | __/
228[info] |______\__,_|_| |_|\__, |\___/ \__,_|___/\__|_|_| |_|\___|
229[info] __/ |
230[info] |___/
231[info]
232[info] 0.0.25+0-7f75f6a0+20251115-0206-SNAPSHOT
233[info]
234[info] Scala 3.3.6
235[info]
236[info] Useful sbt tasks:
237[info] gl. generateLSP - Regenerate LSP definitions
238[info] bw. buildWebsite - Build website
239[info] tt. testTracer - Run Tracer's backend tests
240[info] bt. buildTracer - Build Tracer for local usage
241[info] te. testE2E - Run LangoustineApp E2E tests that launch a separate process
242[info] fx. preCI - Reformat and apply Scalafix rules
243[info] pl. publishLocal - Publish all modules locally
244[info] Defining Global / credentials, app / credentials and 21 others.
245[info] The new values will be used by Compile / scalafmtOnly, Global / pgpSelectPassphrase and 230 others.
246[info] Run `last` for details.
247[info] Reapplying settings...
248[info]
249[info] _ _ _
250[info] | | | | (_)
251[info] | | __ _ _ __ __ _ ___ _ _ ___| |_ _ _ __ ___
252[info] | | / _` | '_ \ / _` |/ _ \| | | / __| __| | '_ \ / _ \
253[info] | |___| (_| | | | | (_| | (_) | |_| \__ \ |_| | | | | __/
254[info] |______\__,_|_| |_|\__, |\___/ \__,_|___/\__|_|_| |_|\___|
255[info] __/ |
256[info] |___/
257[info]
258[info] 0.0.25+0-7f75f6a0+20251115-0206-SNAPSHOT
259[info]
260[info] Scala 3.3.6
261[info]
262[info] Useful sbt tasks:
263[info] gl. generateLSP - Regenerate LSP definitions
264[info] bw. buildWebsite - Build website
265[info] tt. testTracer - Run Tracer's backend tests
266[info] bt. buildTracer - Build Tracer for local usage
267[info] te. testE2E - Run LangoustineApp E2E tests that launch a separate process
268[info] fx. preCI - Reformat and apply Scalafix rules
269[info] pl. publishLocal - Publish all modules locally
270Execute excludeLibraryDependency: com.github.ghik:zerowaste_{scalaVersion} com.olegpy:better-monadic-for_3 org.polyvariant:better-tostring_{scalaVersion} org.wartremover:wartremover_{scalaVersion}
271[info] Reapplying settings...
272OpenCB::Failed to reapply settings in excludeLibraryDependency: Reference to undefined setting:
273
274 Global / allExcludeDependencies from Global / allExcludeDependencies (CommunityBuildPlugin.scala:336)
275 Did you mean metaNative / allExcludeDependencies ?
276 , retry without global scopes
277[info] Reapplying settings...
278[info]
279[info] _ _ _
280[info] | | | | (_)
281[info] | | __ _ _ __ __ _ ___ _ _ ___| |_ _ _ __ ___
282[info] | | / _` | '_ \ / _` |/ _ \| | | / __| __| | '_ \ / _ \
283[info] | |___| (_| | | | | (_| | (_) | |_| \__ \ |_| | | | | __/
284[info] |______\__,_|_| |_|\__, |\___/ \__,_|___/\__|_|_| |_|\___|
285[info] __/ |
286[info] |___/
287[info]
288[info] 0.0.25+0-7f75f6a0+20251115-0206-SNAPSHOT
289[info]
290[info] Scala 3.3.6
291[info]
292[info] Useful sbt tasks:
293[info] gl. generateLSP - Regenerate LSP definitions
294[info] bw. buildWebsite - Build website
295[info] tt. testTracer - Run Tracer's backend tests
296[info] bt. buildTracer - Build Tracer for local usage
297[info] te. testE2E - Run LangoustineApp E2E tests that launch a separate process
298[info] fx. preCI - Reformat and apply Scalafix rules
299[info] pl. publishLocal - Publish all modules locally
300Execute removeScalacOptionsStartingWith: -P:wartremover
301[info] Reapplying settings...
302[info]
303[info] _ _ _
304[info] | | | | (_)
305[info] | | __ _ _ __ __ _ ___ _ _ ___| |_ _ _ __ ___
306[info] | | / _` | '_ \ / _` |/ _ \| | | / __| __| | '_ \ / _ \
307[info] | |___| (_| | | | | (_| | (_) | |_| \__ \ |_| | | | | __/
308[info] |______\__,_|_| |_|\__, |\___/ \__,_|___/\__|_|_| |_|\___|
309[info] __/ |
310[info] |___/
311[info]
312[info] 0.0.25+0-7f75f6a0+20251115-0206-SNAPSHOT
313[info]
314[info] Scala 3.3.6
315[info]
316[info] Useful sbt tasks:
317[info] gl. generateLSP - Regenerate LSP definitions
318[info] bw. buildWebsite - Build website
319[info] tt. testTracer - Run Tracer's backend tests
320[info] bt. buildTracer - Build Tracer for local usage
321[info] te. testE2E - Run LangoustineApp E2E tests that launch a separate process
322[info] fx. preCI - Reformat and apply Scalafix rules
323[info] pl. publishLocal - Publish all modules locally
324[success] Total time: 0 s, completed Nov 15, 2025, 2:06:35 AM
325Build config: {"projects":{"exclude":[],"overrides":{"langoustine-tracer":{"tests":"disabled"}}},"java":{"version":"17"},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"compile-only","sourceVersion":"3.4","migrationVersions":["3.4"],"sourcePatches":[]}
326Parsed config: Success(ProjectBuildConfig(ProjectsConfig(List(),Map(langoustine-tracer -> ProjectOverrides(Some(Disabled)))),CompileOnly,List()))
327Starting build...
328Projects: Set(tracerShared, lsp, meta, tracer, app)
329Starting build for ProjectRef(file:/build/repo/,lsp) (langoustine-lsp)... [0/5]
330OpenCB::Exclude Scala3 specific scalacOption `-rewrite` in Scala 2.12.20 module Global
331OpenCB::Exclude Scala3 specific scalacOption `REQUIRE:-source:3.4-migration` in Scala 2.12.20 module Global
332Compile scalacOptions: -Xmax-inlines, 64, -rewrite, -Wconf:msg=can be rewritten automatically under:s, -source:3.4-migration
333[info] compiling 22 Scala sources to /build/repo/modules/lsp/target/jvm-3/classes ...
334[warn] -- [E029] Pattern Match Exhaustivity Warning: /build/repo/modules/lsp/src/main/scala/generated/codecs.scala:568:12
335[warn] 568 | v.headOption match
336[warn] | ^^^^^^^^^^^^
337[warn] | match may not be exhaustive.
338[warn] |
339[warn] | It would fail on pattern case: Some(_)
340[warn] |
341[warn] | longer explanation available when compiling with `-explain`
342[warn] -- [E029] Pattern Match Exhaustivity Warning: /build/repo/modules/lsp/src/main/scala/generated/codecs.scala:1437:12
343[warn] 1437 | v.headOption match
344[warn] | ^^^^^^^^^^^^
345[warn] | match may not be exhaustive.
346[warn] |
347[warn] | It would fail on pattern case: Some(_)
348[warn] |
349[warn] | longer explanation available when compiling with `-explain`
350[warn] -- [E030] Match case Unreachable Warning: /build/repo/modules/lsp/src/main/scala/runtime/Opt.scala:63:11
351[warn] 63 | case null => ujson.Null
352[warn] | ^^^^
353[warn] | Unreachable case
354[warn] -- [E092] Pattern Match Unchecked Warning: /build/repo/modules/lsp/src/main/scala/generated/aliases.scala:201:15
355[warn] 201 | case c: Map[String, ujson.Value] =>
356[warn] | ^
357[warn] |the type test for Map[String, ujson.Value] cannot be checked at runtime because its type arguments can't be determined from Any
358[warn] |
359[warn] | longer explanation available when compiling with `-explain`
360[warn] four warnings found
361[info] done compiling
362Starting build for ProjectRef(file:/build/repo/,tracerShared) (langoustine-tracer-shared)... [1/5]
363Compile scalacOptions: -Wunused:imports, -rewrite, -Wconf:msg=can be rewritten automatically under:s, -source:3.4-migration
364[info] compiling 7 Scala sources to /build/repo/modules/tracer/shared/target/jvm-3/classes ...
365[warn] -- [E198] Unused Symbol Warning: /build/repo/modules/tracer/shared/src/main/scala/Direction.scala:19:31
366[warn] 19 |import jsonrpclib.InputMessage.*
367[warn] | ^
368[warn] | unused import
369[warn] -- [E198] Unused Symbol Warning: /build/repo/modules/tracer/shared/src/main/scala/LogMessage.scala:21:31
370[warn] 21 |import jsonrpclib.InputMessage.*
371[warn] | ^
372[warn] | unused import
373[warn] -- [E198] Unused Symbol Warning: /build/repo/modules/tracer/shared/src/main/scala/LspMessage.scala:22:31
374[warn] 22 |import jsonrpclib.InputMessage.*
375[warn] | ^
376[warn] | unused import
377[warn] -- [E198] Unused Symbol Warning: /build/repo/modules/tracer/shared/src/main/scala/ReceivedMessage.scala:21:31
378[warn] 21 |import jsonrpclib.InputMessage.*
379[warn] | ^
380[warn] | unused import
381[warn] -- [E198] Unused Symbol Warning: /build/repo/modules/tracer/shared/src/main/scala/Summary.scala:21:31
382[warn] 21 |import jsonrpclib.InputMessage.*
383[warn] | ^
384[warn] | unused import
385[warn] -- [E198] Unused Symbol Warning: /build/repo/modules/tracer/shared/src/main/scala/TracerEvent.scala:21:31
386[warn] 21 |import jsonrpclib.InputMessage.*
387[warn] | ^
388[warn] | unused import
389[info] [patched file /build/repo/modules/tracer/shared/src/main/scala/LspMessage.scala]
390[info] [patched file /build/repo/modules/tracer/shared/src/main/scala/Direction.scala]
391[info] [patched file /build/repo/modules/tracer/shared/src/main/scala/Summary.scala]
392[info] [patched file /build/repo/modules/tracer/shared/src/main/scala/LogMessage.scala]
393[info] [patched file /build/repo/modules/tracer/shared/src/main/scala/ReceivedMessage.scala]
394[info] [patched file /build/repo/modules/tracer/shared/src/main/scala/TracerEvent.scala]
395[warn] 6 warnings found
396[info] done compiling
397[info] compiling 7 Scala sources to /build/repo/modules/tracer/shared/target/jvm-3/classes ...
398[info] done compiling
399Starting build for ProjectRef(file:/build/repo/,meta) (langoustine-meta)... [2/5]
400Compile scalacOptions: -Wunused:imports, -rewrite, -Wconf:msg=can be rewritten automatically under:s, -source:3.4-migration
401[info] compiling 5 Scala sources to /build/repo/modules/meta/target/jvm-3/classes ...
402[warn] -- Warning: /build/repo/modules/meta/src/main/scala/json.scala:49:60 -----------
403[warn] 49 | case None => ParamsType.Many(read[Vector[Type]](js))
404[warn] | ^
405[warn] |Result of implicit search for upickle.default.Reader[langoustine.meta.Type] will change.
406[warn] |Current result langoustine.meta.json.given_Reader_Type will be no longer eligible
407[warn] | because it is not defined before the search position.
408[warn] |Result with new rules: No Matching Implicit.
409[warn] |To opt into the new rules, compile with `-source future` or use
410[warn] |the `scala.language.future` language import.
411[warn] |
412[warn] |To fix the problem without the language import, you could try one of the following:
413[warn] | - use a `given ... with` clause as the enclosing given,
414[warn] | - rearrange definitions so that langoustine.meta.json.given_Reader_Type comes earlier,
415[warn] | - use an explicit argument.
416[warn] |This will be an error in Scala 3.5 and later.
417[warn] -- Warning: /build/repo/modules/meta/src/main/scala/json.scala:50:54 -----------
418[warn] 50 | case Some(o) => ParamsType.Single(read[Type](js))
419[warn] | ^
420[warn] |Result of implicit search for upickle.default.Reader[langoustine.meta.Type] will change.
421[warn] |Current result langoustine.meta.json.given_Reader_Type will be no longer eligible
422[warn] | because it is not defined before the search position.
423[warn] |Result with new rules: No Matching Implicit.
424[warn] |To opt into the new rules, compile with `-source future` or use
425[warn] |the `scala.language.future` language import.
426[warn] |
427[warn] |To fix the problem without the language import, you could try one of the following:
428[warn] | - use a `given ... with` clause as the enclosing given,
429[warn] | - rearrange definitions so that langoustine.meta.json.given_Reader_Type comes earlier,
430[warn] | - use an explicit argument.
431[warn] |This will be an error in Scala 3.5 and later.
432[warn] -- [E197] Potential Issue Warning: /build/repo/modules/meta/src/main/scala/pickle-rick.scala:60:28
433[warn] 60 | m.fromProduct(new Product:
434[warn] | ^
435[warn] | New anonymous class definition will be duplicated at each inline site
436[warn] |
437[warn] | longer explanation available when compiling with `-explain`
438[warn] -- [E197] Potential Issue Warning: /build/repo/modules/meta/src/main/scala/pickle-rick.scala:35:23
439[warn] 35 | val reader = new CaseClassReader[T]:
440[warn] | ^
441[warn] | New anonymous class definition will be duplicated at each inline site
442[warn] |
443[warn] | longer explanation available when compiling with `-explain`
444[warn] four warnings found
445[info] done compiling
446Starting build for ProjectRef(file:/build/repo/,tracer) (langoustine-tracer)... [3/5]
447Compile scalacOptions: -Wunused:imports, -rewrite, -Wconf:msg=can be rewritten automatically under:s, -source:3.4-migration
448[info] compiling 12 Scala sources to /build/repo/modules/tracer/backend/target/jvm-3/classes ...
449[warn] -- [E198] Unused Symbol Warning: /build/repo/modules/tracer/backend/src/main/scala/TracerServer.scala:27:18
450[warn] 27 |import org.http4s.server
451[warn] | ^^^^^^
452[warn] | unused import
453[warn] -- [E198] Unused Symbol Warning: /build/repo/modules/tracer/backend/src/main/scala/state.scala:29:18
454[warn] 29 |import jsonrpclib.Payload
455[warn] | ^^^^^^^
456[warn] | unused import
457[warn] -- [E121] Pattern Match Warning: /build/repo/modules/tracer/backend/src/main/scala/state.scala:135:23
458[warn] 135 | case other =>
459[warn] | ^^^^^
460[warn] |Unreachable case except for null (if this is intentional, consider writing case null => instead).
461[info] [patched file /build/repo/modules/tracer/backend/src/main/scala/TracerServer.scala]
462[info] [patched file /build/repo/modules/tracer/backend/src/main/scala/state.scala]
463[warn] there was 1 deprecation warning; re-run with -deprecation for details
464[warn] four warnings found
465[info] done compiling
466[info] compiling 2 Scala sources to /build/repo/modules/tracer/backend/target/jvm-3/classes ...
467[warn] -- [E121] Pattern Match Warning: /build/repo/modules/tracer/backend/src/main/scala/state.scala:134:23
468[warn] 134 | case other =>
469[warn] | ^^^^^
470[warn] |Unreachable case except for null (if this is intentional, consider writing case null => instead).
471[warn] one warning found
472[info] done compiling
473[info] compiling 7 Scala sources to /build/repo/modules/tracer/shared/target/js-3/classes ...
474[info] done compiling
475[info] compiling 13 Scala sources to /build/repo/modules/tracer/frontend/target/js-3/classes ...
476[warn] -- [E198] Unused Symbol Warning: /build/repo/modules/tracer/frontend/src/main/scala/component.jsonviewer.scala:233:31
477[warn] 233 |import com.raquo.laminar.nodes.ReactiveHtmlElement
478[warn] | ^^^^^^^^^^^^^^^^^^^
479[warn] | unused import
480[warn] -- [E029] Pattern Match Exhaustivity Warning: /build/repo/modules/tracer/frontend/src/main/scala/frontend.main.scala:31:21
481[warn] 31 |def cid(c: CallId) = c match
482[warn] | ^
483[warn] | match may not be exhaustive.
484[warn] |
485[warn] | It would fail on pattern case: NullId
486[warn] |
487[warn] | longer explanation available when compiling with `-explain`
488[info] [patched file /build/repo/modules/tracer/frontend/src/main/scala/component.jsonviewer.scala]
489[warn] two warnings found
490[info] done compiling
491[info] Fast optimizing /build/repo/modules/tracer/frontend/target/js-3/langoustine-tracer-frontend-fastopt
492[info] compiling 1 Scala source to /build/repo/modules/tracer/frontend/target/js-3/classes ...
493[info] done compiling
494[info] Fast optimizing /build/repo/modules/tracer/frontend/target/js-3/langoustine-tracer-frontend-fastopt
495Starting build for ProjectRef(file:/build/repo/,app) (langoustine-app)... [4/5]
496Compile scalacOptions: -Wunused:imports, -rewrite, -Wconf:msg=can be rewritten automatically under:s, -source:3.4-migration
497[info] compiling 4 Scala sources to /build/repo/modules/app/target/jvm-3/classes ...
498[warn] -- [E198] Unused Symbol Warning: /build/repo/modules/app/src/main/scala/LangoustineApp.scala:29:18
499[warn] 29 |import jsonrpclib.Endpoint
500[warn] | ^^^^^^^^
501[warn] | unused import
502[info] [patched file /build/repo/modules/app/src/main/scala/LangoustineApp.scala]
503[warn] there was 1 deprecation warning; re-run with -deprecation for details
504[warn] two warnings found
505[info] done compiling
506[info] compiling 1 Scala source to /build/repo/modules/app/target/jvm-3/classes ...
507[warn] there was 1 deprecation warning; re-run with -deprecation for details
508[warn] one warning found
509[info] done compiling
510
511************************
512Build summary:
513[{
514 "module": "langoustine-lsp",
515 "compile": {"status": "ok", "tookMs": 54699, "warnings": 4, "errors": 0, "sourceVersion": "3.4-migration"},
516 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
517 "test-compile": {"status": "ok", "tookMs": 376, "warnings": 0, "errors": 0, "sourceVersion": "3.4-migration"},
518 "test": {"status": "skipped", "tookMs": 0, "passed": 0, "failed": 0, "ignored": 0, "skipped": 0, "total": 0, "byFramework": []},
519 "publish": {"status": "skipped", "tookMs": 0},
520 "metadata": {
521 "crossScalaVersions": ["2.12.20"]
522}
523},{
524 "module": "langoustine-tracer-shared",
525 "compile": {"status": "ok", "tookMs": 1880, "warnings": 6, "errors": 0, "sourceVersion": "3.4-migration"},
526 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
527 "test-compile": {"status": "ok", "tookMs": 1316, "warnings": 0, "errors": 0, "sourceVersion": "3.4-migration"},
528 "test": {"status": "skipped", "tookMs": 0, "passed": 0, "failed": 0, "ignored": 0, "skipped": 0, "total": 0, "byFramework": []},
529 "publish": {"status": "skipped", "tookMs": 0},
530 "metadata": {
531 "crossScalaVersions": ["2.12.20"]
532}
533},{
534 "module": "langoustine-meta",
535 "compile": {"status": "ok", "tookMs": 2668, "warnings": 4, "errors": 0, "sourceVersion": "3.4-migration"},
536 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
537 "test-compile": {"status": "ok", "tookMs": 86, "warnings": 0, "errors": 0, "sourceVersion": "3.4-migration"},
538 "test": {"status": "skipped", "tookMs": 0, "passed": 0, "failed": 0, "ignored": 0, "skipped": 0, "total": 0, "byFramework": []},
539 "publish": {"status": "skipped", "tookMs": 0},
540 "metadata": {
541 "crossScalaVersions": ["2.12.20"]
542}
543},{
544 "module": "langoustine-tracer",
545 "compile": {"status": "ok", "tookMs": 4622, "warnings": 3, "errors": 0, "sourceVersion": "3.4-migration"},
546 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
547 "test-compile": {"status": "skipped", "tookMs": 0, "warnings": 0, "errors": 0},
548 "test": {"status": "skipped", "tookMs": 0, "passed": 0, "failed": 0, "ignored": 0, "skipped": 0, "total": 0, "byFramework": []},
549 "publish": {"status": "skipped", "tookMs": 0},
550 "metadata": {
551 "crossScalaVersions": ["2.12.20"]
552}
553},{
554 "module": "langoustine-app",
555 "compile": {"status": "ok", "tookMs": 1698, "warnings": 1, "errors": 0, "sourceVersion": "3.4-migration"},
556 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
557 "test-compile": {"status": "ok", "tookMs": 1049, "warnings": 0, "errors": 0, "sourceVersion": "3.4-migration"},
558 "test": {"status": "skipped", "tookMs": 0, "passed": 0, "failed": 0, "ignored": 0, "skipped": 0, "total": 0, "byFramework": []},
559 "publish": {"status": "skipped", "tookMs": 0},
560 "metadata": {
561 "crossScalaVersions": ["2.12.20"]
562}
563}]
564************************
565[success] Total time: 134 s (0:02:14.0), completed Nov 15, 2025, 2:08:49 AM
566[0JChecking patch project/plugins.sbt...
567Checking patch project/build.properties...
568Checking patch build.sbt...
569Applied patch project/plugins.sbt cleanly.
570Applied patch project/build.properties cleanly.
571Applied patch build.sbt cleanly.
572Commit migration rewrites
573Switched to a new branch 'opencb/migrate-source-3.4'
574[opencb/migrate-source-3.4 af201a05d] Apply Scala compiler rewrites using -source:3.4-migration using Scala 3.7.4-RC2
575 10 files changed, 11 deletions(-)
576----
577Preparing build for 3.8.0-RC1-bin-20251114-d221ef5-NIGHTLY
578Scala binary version found: 3.8
579Using configured source version: 3.4
580Scala binary version found: 3.8
581Using configured source version: 3.4
582Would try to apply common scalacOption (best-effort, sbt/mill only):
583Append: ,REQUIRE:-source:3.4
584Remove: ,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
585----
586Starting build for 3.8.0-RC1-bin-20251114-d221ef5-NIGHTLY
587Execute tests: false
588sbt project found:
589Sbt version 1.10.11 is not supported, minimal supported version is 1.11.5
590Enforcing usage of sbt in version 1.11.5
591No prepare script found for project neandertech/langoustine
592/opencb/project-builder/sbt/prepare-project.sh: line 107: /root/.ssh/config: No such file or directory
593##################################
594Scala version: 3.8.0-RC1-bin-20251114-d221ef5-NIGHTLY
595Targets: tech.neander%langoustine-app tech.neander%langoustine-lsp tech.neander%langoustine-meta tech.neander%langoustine-tracer tech.neander%langoustine-tracer-shared
596Project projectConfig: {"projects":{"exclude":[],"overrides":{"langoustine-tracer":{"tests":"disabled"}}},"java":{"version":"17"},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"compile-only","sourceVersion":"3.4","migrationVersions":["3.4"],"sourcePatches":[]}
597##################################
598Using extra scalacOptions: ,REQUIRE:-source:3.4
599Filtering out scalacOptions: ,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
600[sbt_options] declare -a sbt_options=()
601[process_args] java_version = '17'
602[copyRt] java9_rt = '/root/.sbt/1.0/java9-rt-ext-eclipse_adoptium_17_0_8/rt.jar'
603# Executing command line:
604java
605-Dfile.encoding=UTF-8
606-Xmx4G
607-Dcommunitybuild.scala=3.8.0-RC1-bin-20251114-d221ef5-NIGHTLY
608-Dcommunitybuild.project.dependencies.add=
609-Xmx7G
610-Xms4G
611-Xss8M
612-Dsbt.script=/root/.sdkman/candidates/sbt/current/bin/sbt
613-Dscala.ext.dirs=/root/.sbt/1.0/java9-rt-ext-eclipse_adoptium_17_0_8
614-jar
615/root/.sdkman/candidates/sbt/1.11.5/bin/sbt-launch.jar
616"setCrossScalaVersions 3.8.0-RC1-bin-20251114-d221ef5-NIGHTLY"
617"++3.8.0-RC1-bin-20251114-d221ef5-NIGHTLY -v"
618"mapScalacOptions ",REQUIRE:-source:3.4,-Wconf:msg=can be rewritten automatically under:s" ",-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e""
619"set every credentials := Nil"
620"excludeLibraryDependency com.github.ghik:zerowaste_{scalaVersion} com.olegpy:better-monadic-for_3 org.polyvariant:better-tostring_{scalaVersion} org.wartremover:wartremover_{scalaVersion}"
621"removeScalacOptionsStartingWith -P:wartremover"
622
623moduleMappings
624"runBuild 3.8.0-RC1-bin-20251114-d221ef5-NIGHTLY """{"projects":{"exclude":[],"overrides":{"langoustine-tracer":{"tests":"disabled"}}},"java":{"version":"17"},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"compile-only","sourceVersion":"3.4","migrationVersions":["3.4"],"sourcePatches":[]}""" tech.neander%langoustine-app tech.neander%langoustine-lsp tech.neander%langoustine-meta tech.neander%langoustine-tracer tech.neander%langoustine-tracer-shared"
625
626[info] welcome to sbt 1.11.5 (Eclipse Adoptium Java 17.0.8)
627[info] loading settings for project repo-build from akka.sbt, plugins.sbt...
628[info] loading project definition from /build/repo/project
629[info] loading settings for project root from build.sbt...
630[info] resolving key references (28924 settings) ...
631[info]
632[info] _ _ _
633[info] | | | | (_)
634[info] | | __ _ _ __ __ _ ___ _ _ ___| |_ _ _ __ ___
635[info] | | / _` | '_ \ / _` |/ _ \| | | / __| __| | '_ \ / _ \
636[info] | |___| (_| | | | | (_| | (_) | |_| \__ \ |_| | | | | __/
637[info] |______\__,_|_| |_|\__, |\___/ \__,_|___/\__|_|_| |_|\___|
638[info] __/ |
639[info] |___/
640[info]
641[info] 0.0.25+1-af201a05+20251115-0208-SNAPSHOT
642[info]
643[info] Scala 3.3.6
644[info]
645[info] Useful sbt tasks:
646[info] gl. generateLSP - Regenerate LSP definitions
647[info] bw. buildWebsite - Build website
648[info] tt. testTracer - Run Tracer's backend tests
649[info] bt. buildTracer - Build Tracer for local usage
650[info] te. testE2E - Run LangoustineApp E2E tests that launch a separate process
651[info] fx. preCI - Reformat and apply Scalafix rules
652[info] pl. publishLocal - Publish all modules locally
653Execute setCrossScalaVersions: 3.8.0-RC1-bin-20251114-d221ef5-NIGHTLY
654OpenCB::Changing crossVersion 3.3.6 -> 3.8.0-RC1-bin-20251114-d221ef5-NIGHTLY in metaNative/crossScalaVersions
655OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.8.0-RC1-bin-20251114-d221ef5-NIGHTLY) in metaNative/crossScalaVersions
656OpenCB::Changing crossVersion 3.3.6 -> 3.8.0-RC1-bin-20251114-d221ef5-NIGHTLY in exampleNative/crossScalaVersions
657OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.8.0-RC1-bin-20251114-d221ef5-NIGHTLY) in exampleNative/crossScalaVersions
658OpenCB::Changing crossVersion 3.3.6 -> 3.8.0-RC1-bin-20251114-d221ef5-NIGHTLY in metaJS/crossScalaVersions
659OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.8.0-RC1-bin-20251114-d221ef5-NIGHTLY) in metaJS/crossScalaVersions
660OpenCB::Changing crossVersion 3.3.6 -> 3.8.0-RC1-bin-20251114-d221ef5-NIGHTLY in app/crossScalaVersions
661OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.8.0-RC1-bin-20251114-d221ef5-NIGHTLY) in app/crossScalaVersions
662OpenCB::Changing crossVersion 3.3.6 -> 3.8.0-RC1-bin-20251114-d221ef5-NIGHTLY in lsp/crossScalaVersions
663OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.8.0-RC1-bin-20251114-d221ef5-NIGHTLY) in lsp/crossScalaVersions
664OpenCB::Changing crossVersion 3.3.6 -> 3.8.0-RC1-bin-20251114-d221ef5-NIGHTLY in generate/crossScalaVersions
665OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.8.0-RC1-bin-20251114-d221ef5-NIGHTLY) in generate/crossScalaVersions
666OpenCB::Changing crossVersion 3.3.6 -> 3.8.0-RC1-bin-20251114-d221ef5-NIGHTLY in tracer/crossScalaVersions
667OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.8.0-RC1-bin-20251114-d221ef5-NIGHTLY) in tracer/crossScalaVersions
668OpenCB::Changing crossVersion 3.3.6 -> 3.8.0-RC1-bin-20251114-d221ef5-NIGHTLY in e2e-tests/crossScalaVersions
669OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.8.0-RC1-bin-20251114-d221ef5-NIGHTLY) in e2e-tests/crossScalaVersions
670OpenCB::Changing crossVersion 3.3.6 -> 3.8.0-RC1-bin-20251114-d221ef5-NIGHTLY in appNative/crossScalaVersions
671OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.8.0-RC1-bin-20251114-d221ef5-NIGHTLY) in appNative/crossScalaVersions
672OpenCB::Changing crossVersion 3.3.6 -> 3.8.0-RC1-bin-20251114-d221ef5-NIGHTLY in tracerSharedJS/crossScalaVersions
673OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.8.0-RC1-bin-20251114-d221ef5-NIGHTLY) in tracerSharedJS/crossScalaVersions
674OpenCB::Changing crossVersion 3.3.6 -> 3.8.0-RC1-bin-20251114-d221ef5-NIGHTLY in example/crossScalaVersions
675OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.8.0-RC1-bin-20251114-d221ef5-NIGHTLY) in example/crossScalaVersions
676OpenCB::Changing crossVersion 3.3.6 -> 3.8.0-RC1-bin-20251114-d221ef5-NIGHTLY in testsJS/crossScalaVersions
677OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.8.0-RC1-bin-20251114-d221ef5-NIGHTLY) in testsJS/crossScalaVersions
678OpenCB::Changing crossVersion 3.3.6 -> 3.8.0-RC1-bin-20251114-d221ef5-NIGHTLY in tests/crossScalaVersions
679OpenCB::Changing crossVersion 3.3.6 -> 3.8.0-RC1-bin-20251114-d221ef5-NIGHTLY in meta/crossScalaVersions
680OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.8.0-RC1-bin-20251114-d221ef5-NIGHTLY) in meta/crossScalaVersions
681OpenCB::Changing crossVersion 3.3.6 -> 3.8.0-RC1-bin-20251114-d221ef5-NIGHTLY in testsNative/crossScalaVersions
682OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.8.0-RC1-bin-20251114-d221ef5-NIGHTLY) in testsNative/crossScalaVersions
683OpenCB::Changing crossVersion 3.3.6 -> 3.8.0-RC1-bin-20251114-d221ef5-NIGHTLY in tracerFrontendJS/crossScalaVersions
684OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.8.0-RC1-bin-20251114-d221ef5-NIGHTLY) in tracerFrontendJS/crossScalaVersions
685OpenCB::Changing crossVersion 3.3.6 -> 3.8.0-RC1-bin-20251114-d221ef5-NIGHTLY in lspJS/crossScalaVersions
686OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.8.0-RC1-bin-20251114-d221ef5-NIGHTLY) in lspJS/crossScalaVersions
687OpenCB::Changing crossVersion 3.3.6 -> 3.8.0-RC1-bin-20251114-d221ef5-NIGHTLY in tracerShared/crossScalaVersions
688OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.8.0-RC1-bin-20251114-d221ef5-NIGHTLY) in tracerShared/crossScalaVersions
689OpenCB::Changing crossVersion 3.3.6 -> 3.8.0-RC1-bin-20251114-d221ef5-NIGHTLY in docs/crossScalaVersions
690OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.8.0-RC1-bin-20251114-d221ef5-NIGHTLY) in docs/crossScalaVersions
691OpenCB::Changing crossVersion 3.3.6 -> 3.8.0-RC1-bin-20251114-d221ef5-NIGHTLY in exampleJS/crossScalaVersions
692OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.8.0-RC1-bin-20251114-d221ef5-NIGHTLY) in exampleJS/crossScalaVersions
693OpenCB::Changing crossVersion 3.3.6 -> 3.8.0-RC1-bin-20251114-d221ef5-NIGHTLY in appJS/crossScalaVersions
694OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.8.0-RC1-bin-20251114-d221ef5-NIGHTLY) in appJS/crossScalaVersions
695OpenCB::Changing crossVersion 3.3.6 -> 3.8.0-RC1-bin-20251114-d221ef5-NIGHTLY in lspNative/crossScalaVersions
696OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.8.0-RC1-bin-20251114-d221ef5-NIGHTLY) in lspNative/crossScalaVersions
697OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.8.0-RC1-bin-20251114-d221ef5-NIGHTLY) in tests/crossScalaVersions
698[info]
699[info] _ _ _
700[info] | | | | (_)
701[info] | | __ _ _ __ __ _ ___ _ _ ___| |_ _ _ __ ___
702[info] | | / _` | '_ \ / _` |/ _ \| | | / __| __| | '_ \ / _ \
703[info] | |___| (_| | | | | (_| | (_) | |_| \__ \ |_| | | | | __/
704[info] |______\__,_|_| |_|\__, |\___/ \__,_|___/\__|_|_| |_|\___|
705[info] __/ |
706[info] |___/
707[info]
708[info] 0.0.25+1-af201a05+20251115-0209-SNAPSHOT
709[info]
710[info] Scala 3.3.6
711[info]
712[info] Useful sbt tasks:
713[info] gl. generateLSP - Regenerate LSP definitions
714[info] bw. buildWebsite - Build website
715[info] tt. testTracer - Run Tracer's backend tests
716[info] bt. buildTracer - Build Tracer for local usage
717[info] te. testE2E - Run LangoustineApp E2E tests that launch a separate process
718[info] fx. preCI - Reformat and apply Scalafix rules
719[info] pl. publishLocal - Publish all modules locally
720[info] Setting Scala version to 3.8.0-RC1-bin-20251114-d221ef5-NIGHTLY on 22 projects.
721[info] Switching Scala version on:
722[info] tracerShared (3.8.0-RC1-bin-20251114-d221ef5-NIGHTLY)
723[info] e2e-tests (3.8.0-RC1-bin-20251114-d221ef5-NIGHTLY)
724[info] appJS (3.8.0-RC1-bin-20251114-d221ef5-NIGHTLY)
725[info] lsp (3.8.0-RC1-bin-20251114-d221ef5-NIGHTLY)
726[info] generate (3.8.0-RC1-bin-20251114-d221ef5-NIGHTLY)
727[info] exampleJS (3.8.0-RC1-bin-20251114-d221ef5-NIGHTLY)
728[info] docs (3.8.0-RC1-bin-20251114-d221ef5-NIGHTLY)
729[info] metaNative (3.8.0-RC1-bin-20251114-d221ef5-NIGHTLY)
730[info] tests (3.8.0-RC1-bin-20251114-d221ef5-NIGHTLY)
731[info] metaJS (3.8.0-RC1-bin-20251114-d221ef5-NIGHTLY)
732[info] tracerSharedJS (3.8.0-RC1-bin-20251114-d221ef5-NIGHTLY)
733[info] tracerFrontendJS (3.8.0-RC1-bin-20251114-d221ef5-NIGHTLY)
734[info] lspJS (3.8.0-RC1-bin-20251114-d221ef5-NIGHTLY)
735[info] appNative (3.8.0-RC1-bin-20251114-d221ef5-NIGHTLY)
736[info] meta (3.8.0-RC1-bin-20251114-d221ef5-NIGHTLY)
737[info] testsJS (3.8.0-RC1-bin-20251114-d221ef5-NIGHTLY)
738[info] exampleNative (3.8.0-RC1-bin-20251114-d221ef5-NIGHTLY)
739[info] tracer (3.8.0-RC1-bin-20251114-d221ef5-NIGHTLY)
740[info] app (3.8.0-RC1-bin-20251114-d221ef5-NIGHTLY)
741[info] lspNative (3.8.0-RC1-bin-20251114-d221ef5-NIGHTLY)
742[info] example (3.8.0-RC1-bin-20251114-d221ef5-NIGHTLY)
743[info] testsNative (3.8.0-RC1-bin-20251114-d221ef5-NIGHTLY)
744[info] Excluding projects:
745[info] * root (2.12.20)
746[info] Reapplying settings...
747[info]
748[info] _ _ _
749[info] | | | | (_)
750[info] | | __ _ _ __ __ _ ___ _ _ ___| |_ _ _ __ ___
751[info] | | / _` | '_ \ / _` |/ _ \| | | / __| __| | '_ \ / _ \
752[info] | |___| (_| | | | | (_| | (_) | |_| \__ \ |_| | | | | __/
753[info] |______\__,_|_| |_|\__, |\___/ \__,_|___/\__|_|_| |_|\___|
754[info] __/ |
755[info] |___/
756[info]
757[info] 0.0.25+1-af201a05+20251115-0209-SNAPSHOT
758[info]
759[info] Scala 3.3.6
760[info]
761[info] Useful sbt tasks:
762[info] gl. generateLSP - Regenerate LSP definitions
763[info] bw. buildWebsite - Build website
764[info] tt. testTracer - Run Tracer's backend tests
765[info] bt. buildTracer - Build Tracer for local usage
766[info] te. testE2E - Run LangoustineApp E2E tests that launch a separate process
767[info] fx. preCI - Reformat and apply Scalafix rules
768[info] pl. publishLocal - Publish all modules locally
769Execute mapScalacOptions: ,REQUIRE:-source:3.4,-Wconf:msg=can be rewritten automatically under:s ,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
770[info] Reapplying settings...
771[info]
772[info] _ _ _
773[info] | | | | (_)
774[info] | | __ _ _ __ __ _ ___ _ _ ___| |_ _ _ __ ___
775[info] | | / _` | '_ \ / _` |/ _ \| | | / __| __| | '_ \ / _ \
776[info] | |___| (_| | | | | (_| | (_) | |_| \__ \ |_| | | | | __/
777[info] |______\__,_|_| |_|\__, |\___/ \__,_|___/\__|_|_| |_|\___|
778[info] __/ |
779[info] |___/
780[info]
781[info] 0.0.25+1-af201a05+20251115-0209-SNAPSHOT
782[info]
783[info] Scala 3.3.6
784[info]
785[info] Useful sbt tasks:
786[info] gl. generateLSP - Regenerate LSP definitions
787[info] bw. buildWebsite - Build website
788[info] tt. testTracer - Run Tracer's backend tests
789[info] bt. buildTracer - Build Tracer for local usage
790[info] te. testE2E - Run LangoustineApp E2E tests that launch a separate process
791[info] fx. preCI - Reformat and apply Scalafix rules
792[info] pl. publishLocal - Publish all modules locally
793[info] Defining Global / credentials, app / credentials and 21 others.
794[info] The new values will be used by Compile / scalafmtOnly, Global / pgpSelectPassphrase and 230 others.
795[info] Run `last` for details.
796[info] Reapplying settings...
797[info]
798[info] _ _ _
799[info] | | | | (_)
800[info] | | __ _ _ __ __ _ ___ _ _ ___| |_ _ _ __ ___
801[info] | | / _` | '_ \ / _` |/ _ \| | | / __| __| | '_ \ / _ \
802[info] | |___| (_| | | | | (_| | (_) | |_| \__ \ |_| | | | | __/
803[info] |______\__,_|_| |_|\__, |\___/ \__,_|___/\__|_|_| |_|\___|
804[info] __/ |
805[info] |___/
806[info]
807[info] 0.0.25+1-af201a05+20251115-0209-SNAPSHOT
808[info]
809[info] Scala 3.3.6
810[info]
811[info] Useful sbt tasks:
812[info] gl. generateLSP - Regenerate LSP definitions
813[info] bw. buildWebsite - Build website
814[info] tt. testTracer - Run Tracer's backend tests
815[info] bt. buildTracer - Build Tracer for local usage
816[info] te. testE2E - Run LangoustineApp E2E tests that launch a separate process
817[info] fx. preCI - Reformat and apply Scalafix rules
818[info] pl. publishLocal - Publish all modules locally
819Execute excludeLibraryDependency: com.github.ghik:zerowaste_{scalaVersion} com.olegpy:better-monadic-for_3 org.polyvariant:better-tostring_{scalaVersion} org.wartremover:wartremover_{scalaVersion}
820[info] Reapplying settings...
821OpenCB::Failed to reapply settings in excludeLibraryDependency: Reference to undefined setting:
822
823 Global / allExcludeDependencies from Global / allExcludeDependencies (CommunityBuildPlugin.scala:336)
824 Did you mean metaNative / allExcludeDependencies ?
825 , retry without global scopes
826[info] Reapplying settings...
827[info]
828[info] _ _ _
829[info] | | | | (_)
830[info] | | __ _ _ __ __ _ ___ _ _ ___| |_ _ _ __ ___
831[info] | | / _` | '_ \ / _` |/ _ \| | | / __| __| | '_ \ / _ \
832[info] | |___| (_| | | | | (_| | (_) | |_| \__ \ |_| | | | | __/
833[info] |______\__,_|_| |_|\__, |\___/ \__,_|___/\__|_|_| |_|\___|
834[info] __/ |
835[info] |___/
836[info]
837[info] 0.0.25+1-af201a05+20251115-0209-SNAPSHOT
838[info]
839[info] Scala 3.3.6
840[info]
841[info] Useful sbt tasks:
842[info] gl. generateLSP - Regenerate LSP definitions
843[info] bw. buildWebsite - Build website
844[info] tt. testTracer - Run Tracer's backend tests
845[info] bt. buildTracer - Build Tracer for local usage
846[info] te. testE2E - Run LangoustineApp E2E tests that launch a separate process
847[info] fx. preCI - Reformat and apply Scalafix rules
848[info] pl. publishLocal - Publish all modules locally
849Execute removeScalacOptionsStartingWith: -P:wartremover
850[info] Reapplying settings...
851[info]
852[info] _ _ _
853[info] | | | | (_)
854[info] | | __ _ _ __ __ _ ___ _ _ ___| |_ _ _ __ ___
855[info] | | / _` | '_ \ / _` |/ _ \| | | / __| __| | '_ \ / _ \
856[info] | |___| (_| | | | | (_| | (_) | |_| \__ \ |_| | | | | __/
857[info] |______\__,_|_| |_|\__, |\___/ \__,_|___/\__|_|_| |_|\___|
858[info] __/ |
859[info] |___/
860[info]
861[info] 0.0.25+1-af201a05+20251115-0209-SNAPSHOT
862[info]
863[info] Scala 3.3.6
864[info]
865[info] Useful sbt tasks:
866[info] gl. generateLSP - Regenerate LSP definitions
867[info] bw. buildWebsite - Build website
868[info] tt. testTracer - Run Tracer's backend tests
869[info] bt. buildTracer - Build Tracer for local usage
870[info] te. testE2E - Run LangoustineApp E2E tests that launch a separate process
871[info] fx. preCI - Reformat and apply Scalafix rules
872[info] pl. publishLocal - Publish all modules locally
873[success] Total time: 0 s, completed Nov 15, 2025, 2:09:11 AM
874Build config: {"projects":{"exclude":[],"overrides":{"langoustine-tracer":{"tests":"disabled"}}},"java":{"version":"17"},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"compile-only","sourceVersion":"3.4","migrationVersions":["3.4"],"sourcePatches":[]}
875Parsed config: Success(ProjectBuildConfig(ProjectsConfig(List(),Map(langoustine-tracer -> ProjectOverrides(Some(Disabled)))),CompileOnly,List()))
876Starting build...
877Projects: Set(tracerShared, lsp, meta, tracer, app)
878Starting build for ProjectRef(file:/build/repo/,lsp) (langoustine-lsp)... [0/5]
879OpenCB::Exclude Scala3 specific scalacOption `REQUIRE:-source:3.4` in Scala 2.12.20 module Global
880Compile scalacOptions: -Xmax-inlines, 64, -Wconf:msg=can be rewritten automatically under:s, -source:3.4
881[info] compiling 22 Scala sources to /build/repo/modules/lsp/target/jvm-3/classes ...
882[warn] -- [E029] Pattern Match Exhaustivity Warning: /build/repo/modules/lsp/src/main/scala/generated/codecs.scala:568:12
883[warn] 568 | v.headOption match
884[warn] | ^^^^^^^^^^^^
885[warn] | match may not be exhaustive.
886[warn] |
887[warn] | It would fail on pattern case: Some(_)
888[warn] |
889[warn] | longer explanation available when compiling with `-explain`
890[warn] -- [E029] Pattern Match Exhaustivity Warning: /build/repo/modules/lsp/src/main/scala/generated/codecs.scala:1437:12
891[warn] 1437 | v.headOption match
892[warn] | ^^^^^^^^^^^^
893[warn] | match may not be exhaustive.
894[warn] |
895[warn] | It would fail on pattern case: Some(_)
896[warn] |
897[warn] | longer explanation available when compiling with `-explain`
898[warn] -- [E030] Match case Unreachable Warning: /build/repo/modules/lsp/src/main/scala/runtime/Opt.scala:63:11
899[warn] 63 | case null => ujson.Null
900[warn] | ^^^^
901[warn] | Unreachable case
902[warn] -- [E092] Pattern Match Unchecked Warning: /build/repo/modules/lsp/src/main/scala/generated/aliases.scala:201:15
903[warn] 201 | case c: Map[String, ujson.Value] =>
904[warn] | ^
905[warn] |the type test for Map[String, ujson.Value] cannot be checked at runtime because its type arguments can't be determined from Any
906[warn] |
907[warn] | longer explanation available when compiling with `-explain`
908[warn] four warnings found
909[info] done compiling
910Starting build for ProjectRef(file:/build/repo/,tracerShared) (langoustine-tracer-shared)... [1/5]
911Compile scalacOptions: -Wunused:imports, -Wconf:msg=can be rewritten automatically under:s, -source:3.4
912[info] compiling 7 Scala sources to /build/repo/modules/tracer/shared/target/jvm-3/classes ...
913[info] done compiling
914Starting build for ProjectRef(file:/build/repo/,meta) (langoustine-meta)... [2/5]
915Compile scalacOptions: -Wunused:imports, -Wconf:msg=can be rewritten automatically under:s, -source:3.4
916[info] compiling 5 Scala sources to /build/repo/modules/meta/target/jvm-3/classes ...
917[warn] -- Warning: /build/repo/modules/meta/src/main/scala/json.scala:49:60 -----------
918[warn] 49 | case None => ParamsType.Many(read[Vector[Type]](js))
919[warn] | ^
920[warn] |Result of implicit search for upickle.default.Reader[langoustine.meta.Type] will change.
921[warn] |Current result langoustine.meta.json.given_Reader_Type will be no longer eligible
922[warn] | because it is not defined before the search position.
923[warn] |Result with new rules: No Matching Implicit.
924[warn] |To opt into the new rules, compile with `-source future` or use
925[warn] |the `scala.language.future` language import.
926[warn] |
927[warn] |To fix the problem without the language import, you could try one of the following:
928[warn] | - use a `given ... with` clause as the enclosing given,
929[warn] | - rearrange definitions so that langoustine.meta.json.given_Reader_Type comes earlier,
930[warn] | - use an explicit argument.
931[warn] |This will be an error in Scala 3.5 and later.
932[warn] -- Warning: /build/repo/modules/meta/src/main/scala/json.scala:50:54 -----------
933[warn] 50 | case Some(o) => ParamsType.Single(read[Type](js))
934[warn] | ^
935[warn] |Result of implicit search for upickle.default.Reader[langoustine.meta.Type] will change.
936[warn] |Current result langoustine.meta.json.given_Reader_Type will be no longer eligible
937[warn] | because it is not defined before the search position.
938[warn] |Result with new rules: No Matching Implicit.
939[warn] |To opt into the new rules, compile with `-source future` or use
940[warn] |the `scala.language.future` language import.
941[warn] |
942[warn] |To fix the problem without the language import, you could try one of the following:
943[warn] | - use a `given ... with` clause as the enclosing given,
944[warn] | - rearrange definitions so that langoustine.meta.json.given_Reader_Type comes earlier,
945[warn] | - use an explicit argument.
946[warn] |This will be an error in Scala 3.5 and later.
947[warn] -- [E197] Potential Issue Warning: /build/repo/modules/meta/src/main/scala/pickle-rick.scala:60:28
948[warn] 60 | m.fromProduct(new Product:
949[warn] | ^
950[warn] | New anonymous class definition will be duplicated at each inline site
951[warn] |
952[warn] | longer explanation available when compiling with `-explain`
953[warn] -- [E197] Potential Issue Warning: /build/repo/modules/meta/src/main/scala/pickle-rick.scala:35:23
954[warn] 35 | val reader = new CaseClassReader[T]:
955[warn] | ^
956[warn] | New anonymous class definition will be duplicated at each inline site
957[warn] |
958[warn] | longer explanation available when compiling with `-explain`
959[warn] four warnings found
960[info] done compiling
961Starting build for ProjectRef(file:/build/repo/,tracer) (langoustine-tracer)... [3/5]
962Compile scalacOptions: -Wunused:imports, -Wconf:msg=can be rewritten automatically under:s, -source:3.4
963[info] compiling 12 Scala sources to /build/repo/modules/tracer/backend/target/jvm-3/classes ...
964[warn] -- [E222] Syntax Warning: /build/repo/modules/tracer/backend/src/main/scala/browser.open.scala:17:20
965[warn] 17 |package langoustine.tracer
966[warn] |^
967[warn] |The package name `browser.open$package` will be encoded on the classpath, and can lead to undefined behaviour.
968[warn] 18 |import scala.util.Try
969[warn] 19 |import cats.effect.IO
970[warn] 20 |import com.indoorvivants.detective.Platform
971[warn] 21 |import com.indoorvivants.detective.Platform.OS.Linux
972[warn] 22 |import com.indoorvivants.detective.Platform.OS.MacOS
973[warn] 23 |import com.indoorvivants.detective.Platform.OS.Unknown
974[warn] 24 |import com.indoorvivants.detective.Platform.OS.Windows
975[warn] 25 |import org.http4s.Uri
976[warn] 26 |def openBrowser(url: Uri): IO[Unit] =
977[warn] 27 | val stringUri = url.renderString
978[warn] 28 | def cmd(args: String*) =
979[warn] 29 | Try(sys.process.Process.apply(args).!!)
980[warn] 30 | val mac = cmd("open", stringUri)
981[warn] 31 | val linux =
982[warn] 32 | cmd("xdg-open", stringUri)
983[warn] 33 | .orElse(cmd("gnome-open", stringUri))
984[warn] 34 | .orElse(cmd("kde-open", stringUri))
985[warn] 35 | Platform.os match
986[warn] 36 | case Windows => Logging.error("Cannot open the browser on windows")
987[warn] 37 | case MacOS => IO.fromTry(mac).void
988[warn] 38 | case Linux => IO.fromTry(linux).void
989[warn] 39 | case Unknown =>
990[warn] 40 | Logging.error("Cannot open the browser on unknown platform")
991[warn] 41 |end openBrowser
992[warn] 42 |def canOpenBrowser = Platform.os != Platform.OS.Windows
993[warn] |
994[warn] | longer explanation available when compiling with `-explain`
995[warn] -- [E222] Syntax Warning: /build/repo/modules/tracer/backend/src/main/scala/command.replay.scala:17:20
996[warn] 17 |package langoustine.tracer
997[warn] |^
998[warn] |The package name `command.replay$package` will be encoded on the classpath, and can lead to undefined behaviour.
999[warn] 18 |import cats.effect.*
1000[warn] 19 |import com.github.plokhotnyuk.jsoniter_scala.core.*
1001[warn] 20 |import fs2.*
1002[warn] 21 |import fs2.concurrent.*
1003[warn] 22 |import jsonrpclib.Message
1004[warn] 23 |def Replay(
1005[warn] 24 | inBytes: Topic[IO, Message],
1006[warn] 25 | outBytes: Topic[IO, Message],
1007[warn] 26 | errBytes: Topic[IO, Chunk[Byte]],
1008[warn] 27 | replayConfig: ReplayConfig,
1009[warn] 28 | bindConfig: BindConfig,
1010[warn] 29 | summary: Summary
1011[warn] 30 |) =
1012[warn] 31 | def runServer(latch: Deferred[IO, Boolean]) =
1013[warn] 32 | TracerServer
1014[warn] 33 | .create(
1015[warn] 34 | inBytes.subscribe(1),
1016[warn] 35 | outBytes.subscribe(1),
1017[warn] 36 | errBytes.subscribe(1).unchunks
1018[warn] 37 | )
1019[warn] 38 | .run(
1020[warn] 39 | bindConfig,
1021[warn] 40 | summary,
1022[warn] 41 | await = server =>
1023[warn] 42 | Logging.info(s"Server is ready at ${server.baseUri}") *> latch
1024[warn] 43 | .complete(true) *> IO.never
1025[warn] 44 | )
1026[warn] 45 | def sendStuff(latch: Deferred[IO, Boolean]) =
1027[warn] 46 | fs2.Stream.eval(latch.get) >>
1028[warn] 47 | fs2.io.file
1029[warn] 48 | .readAll[IO](replayConfig.file.toNioPath, 2048)
1030[warn] 49 | .through(fs2.compression.Compression[IO].gunzip())
1031[warn] 50 | .flatMap(_.content)
1032[warn] 51 | .through(fs2.text.utf8.decode)
1033[warn] 52 | .through(fs2.text.lines)
1034[warn] 53 | .evalMap { line =>
1035[warn] 54 | IO(readFromStringReentrant[SnapshotItem](line))
1036[warn] 55 | }
1037[warn] 56 | .evalMap {
1038[warn] 57 | case SnapshotItem.Message(msg) =>
1039[warn] 58 | inline def redirect(stream: Topic[IO, Message]) =
1040[warn] 59 | msg.raw.toMessage match
1041[warn] 60 | case None =>
1042[warn] 61 | Logging.error(
1043[warn] 62 | s"Failed to construct a jsonrpclib Message from ${msg.raw}"
1044[warn] 63 | )
1045[warn] 64 | case Some(m) => stream.publish1(m)
1046[warn] 65 | msg.decoded match
1047[warn] 66 | case rq: LspMessage.Request =>
1048[warn] 67 | rq.direction match
1049[warn] 68 | case Direction.ToServer =>
1050[warn] 69 | redirect(inBytes)
1051[warn] 70 | case Direction.ToClient =>
1052[warn] 71 | redirect(outBytes)
1053[warn] 72 | case rp: LspMessage.Response =>
1054[warn] 73 | rp.direction match
1055[warn] 74 | case Direction.ToServer =>
1056[warn] 75 | redirect(inBytes)
1057[warn] 76 | case Direction.ToClient =>
1058[warn] 77 | redirect(outBytes)
1059[warn] 78 | case LspMessage.Notification(generatedId, method, direction) =>
1060[warn] 79 | direction match
1061[warn] 80 | case Direction.ToServer => redirect(inBytes)
1062[warn] 81 | case Direction.ToClient => redirect(outBytes)
1063[warn] 82 | end match
1064[warn] 83 | case SnapshotItem.Log(msg) =>
1065[warn] 84 | msg match
1066[warn] 85 | case LogMessage.Stderr(value, timestamp) =>
1067[warn] 86 | errBytes.publish1(Chunk.array((value + "\n").getBytes))
1068[warn] 87 | }
1069[warn] 88 | fs2.Stream.eval(IO.deferred[Boolean]).flatMap { latch =>
1070[warn] 89 | runServer(latch).concurrently(sendStuff(latch))
1071[warn] 90 | }
1072[warn] 91 |end Replay
1073[warn] |
1074[warn] | longer explanation available when compiling with `-explain`
1075[warn] -- [E222] Syntax Warning: /build/repo/modules/tracer/backend/src/main/scala/command.trace.scala:17:20
1076[warn] 17 |package langoustine.tracer
1077[warn] |^
1078[warn] |The package name `command.trace$package` will be encoded on the classpath, and can lead to undefined behaviour.
1079[warn] 18 |import scala.util.NotGiven
1080[warn] 19 |import cats.effect.*
1081[warn] 20 |import cats.syntax.all.*
1082[warn] 21 |import fs2.*
1083[warn] 22 |import fs2.concurrent.*
1084[warn] 23 |import jsonrpclib.Message
1085[warn] 24 |import jsonrpclib.Payload
1086[warn] 25 |import langoustine.lsp.Communicate
1087[warn] 26 |extension (s: fs2.Stream[IO, Payload])
1088[warn] 27 | def debugAs(name: String) =
1089[warn] 28 | s.evalTap(el =>
1090[warn] 29 | Logging.debug(
1091[warn] 30 | s"[$name (payload)]: ${el.stripNull.map(a => new String(a.array)).getOrElse("null")}"
1092[warn] 31 | )
1093[warn] 32 | )
1094[warn] 33 |extension [A](s: fs2.Stream[IO, A])
1095[warn] 34 | inline def debugAs(name: String)(using NotGiven[A =:= Payload]) =
1096[warn] 35 | s.evalTap(el => Logging.debug(s"[$name]: $el"))
1097[warn] 36 | inline def debugAs[B](name: String, f: A => B)(using
1098[warn] 37 | NotGiven[A =:= Payload]
1099[warn] 38 | ) =
1100[warn] 39 | s.evalTap(el => Logging.debug(s"[$name]: ${f(el)}"))
1101[warn] 40 |def Trace(
1102[warn] 41 | in: fs2.Stream[IO, Byte],
1103[warn] 42 | out: fs2.Pipe[IO, Byte, Nothing],
1104[warn] 43 | err: fs2.Pipe[IO, Byte, Nothing],
1105[warn] 44 | inBytes: Topic[IO, Message],
1106[warn] 45 | outBytes: Topic[IO, Message],
1107[warn] 46 | errBytes: Topic[IO, Chunk[Byte]],
1108[warn] 47 | outLatch: Deferred[IO, org.http4s.Uri],
1109[warn] 48 | exits: Deferred[IO, Boolean],
1110[warn] 49 | traceConfig: TraceConfig,
1111[warn] 50 | bindConfig: BindConfig,
1112[warn] 51 | summary: Summary
1113[warn] 52 |) =
1114[warn] 53 | fs2.Stream.eval(IO.deferred[Communicate[IO]]).flatMap { comms =>
1115[warn] 54 | langoustine.ChildProcess
1116[warn] 55 | .spawn[IO](traceConfig.cmd.toList*)
1117[warn] 56 | .flatMap { child =>
1118[warn] 57 | def log(msg: String) =
1119[warn] 58 | errBytes.publish1(Chunk.array(("[tracer] " + msg + "\n").getBytes))
1120[warn] 59 | import jsonrpclib.fs2.*
1121[warn] 60 | val inPayloads = inBytes.subscribe(1024)
1122[warn] 61 | val outPayloads = outBytes.subscribe(1024)
1123[warn] 62 | val errStream = errBytes.subscribe(1024)
1124[warn] 63 | val channel = FS2Channel[IO](2048, None).flatMap { rpcChannel =>
1125[warn] 64 | val communicate = Communicate.channel(rpcChannel, IO.unit)
1126[warn] 65 | val readIn = inPayloads
1127[warn] 66 | .debugAs("payloads coming in")
1128[warn] 67 | .filter {
1129[warn] 68 | case msg: jsonrpclib.InputMessage =>
1130[warn] 69 | msg.method.startsWith("langoustine/")
1131[warn] 70 | case _ => true
1132[warn] 71 | }
1133[warn] 72 | .through(rpcChannel.input)
1134[warn] 73 | val writeOut = rpcChannel.output
1135[warn] 74 | .debugAs("payloads going out")
1136[warn] 75 | .through(outBytes.publish)
1137[warn] 76 | fs2.Stream.eval(comms.complete(communicate)) ++
1138[warn] 77 | readIn
1139[warn] 78 | .concurrently(writeOut)
1140[warn] 79 | }
1141[warn] 80 | val captureStdin =
1142[warn] 81 | in.chunks
1143[warn] 82 | .debugAs(
1144[warn] 83 | "chunks coming from stdin",
1145[warn] 84 | chunk => new String(chunk.toArray)
1146[warn] 85 | )
1147[warn] 86 | .unchunks
1148[warn] 87 | .through(lsp.decodeMessages)
1149[warn] 88 | .evalMap {
1150[warn] 89 | case Left(err) =>
1151[warn] 90 | Logging
1152[warn] 91 | .error(s"Failed to decode message from stdin: $err")
1153[warn] 92 | .as(None)
1154[warn] 93 | case Right(payload) => IO.pure(Some(payload))
1155[warn] 94 | }
1156[warn] 95 | .unNone
1157[warn] 96 | .debugAs("stdin LSP payloads")
1158[warn] 97 | .through(inBytes.publish)
1159[warn] 98 | .onFinalize(
1160[warn] 99 | Logging.info("process stdin finished, shutting down tracer") *>
1161[warn] 100 | child.terminate *>
1162[warn] 101 | exits.complete(true).void
1163[warn] 102 | )
1164[warn] 103 | val redirectStdin =
1165[warn] 104 | inPayloads
1166[warn] 105 | .debugAs("writing to child stdin")
1167[warn] 106 | .through(lsp.encodeMessages)
1168[warn] 107 | .through(child.stdin)
1169[warn] 108 | val captureStdout =
1170[warn] 109 | child.stdout.chunks
1171[warn] 110 | .debugAs(
1172[warn] 111 | "chunks coming from stdout",
1173[warn] 112 | chunk => new String(chunk.toArray)
1174[warn] 113 | )
1175[warn] 114 | .unchunks
1176[warn] 115 | .through(lsp.decodeMessages)
1177[warn] 116 | .evalMap {
1178[warn] 117 | case Left(err) =>
1179[warn] 118 | Logging
1180[warn] 119 | .error(
1181[warn] 120 | s"Failed to decode message from target LSP's stdout: $err"
1182[warn] 121 | )
1183[warn] 122 | .as(None)
1184[warn] 123 | case Right(payload) => IO.pure(Some(payload))
1185[warn] 124 | }
1186[warn] 125 | .unNone
1187[warn] 126 | .debugAs("reading from child's stdout")
1188[warn] 127 | .through(outBytes.publish)
1189[warn] 128 | val redirectStdout =
1190[warn] 129 | outPayloads
1191[warn] 130 | .debugAs("writing to real stdout")
1192[warn] 131 | .through(lsp.encodeMessages)
1193[warn] 132 | .through(out)
1194[warn] 133 | .onFinalize(Logging.info("process stdout finished").void)
1195[warn] 134 | val captureStderr =
1196[warn] 135 | child.stderr.chunks
1197[warn] 136 | .through(errBytes.publish)
1198[warn] 137 | .onFinalize(Logging.info("process stderr finished").void)
1199[warn] 138 | val redirectStderr =
1200[warn] 139 | errStream
1201[warn] 140 | .debugAs(
1202[warn] 141 | "writing to real stderr",
1203[warn] 142 | chunk => new String(chunk.toArray)
1204[warn] 143 | )
1205[warn] 144 | .unchunks
1206[warn] 145 | .through(err)
1207[warn] 146 | val server =
1208[warn] 147 | TracerServer
1209[warn] 148 | .create(
1210[warn] 149 | inPayloads,
1211[warn] 150 | outPayloads,
1212[warn] 151 | errStream.unchunks
1213[warn] 152 | )
1214[warn] 153 | .run(
1215[warn] 154 | bindConfig,
1216[warn] 155 | summary,
1217[warn] 156 | await = server =>
1218[warn] 157 | outLatch.complete(server.baseUri).attempt.void *>
1219[warn] 158 | Logging.info(s"Server started at ${server.baseUri}") *>
1220[warn] 159 | exits.get.void
1221[warn] 160 | )
1222[warn] 161 | val redirects = fs2
1223[warn] 162 | .Stream(
1224[warn] 163 | captureStdin.void,
1225[warn] 164 | captureStdout.void,
1226[warn] 165 | captureStderr.void,
1227[warn] 166 | redirectStdin.void,
1228[warn] 167 | redirectStderr.void,
1229[warn] 168 | redirectStdout.void
1230[warn] 169 | )
1231[warn] 170 | .parJoinUnbounded
1232[warn] 171 | server
1233[warn] 172 | .concurrently(fs2.Stream.eval(outLatch.get).void ++ redirects)
1234[warn] 173 | .concurrently(channel)
1235[warn] 174 | .concurrently(
1236[warn] 175 | fs2.Stream.eval(comms.get.parProduct(outLatch.get)).evalMap {
1237[warn] 176 | (comm, serverUri) =>
1238[warn] 177 | import langoustine.lsp.all.*
1239[warn] 178 | if canOpenBrowser then
1240[warn] 179 | val open =
1241[warn] 180 | MessageActionItem(
1242[warn] 181 | s"Open $serverUri in the browser"
1243[warn] 182 | )
1244[warn] 183 | val nothing = MessageActionItem("Nothing")
1245[warn] 184 | comm
1246[warn] 185 | .request(
1247[warn] 186 | window.showMessageRequest,
1248[warn] 187 | ShowMessageRequestParams(
1249[warn] 188 | langoustine.lsp.enumerations.MessageType.Info,
1250[warn] 189 | message =
1251[warn] 190 | s"Langoustine tracer has started on $serverUri, what would you like to do?",
1252[warn] 191 | actions = Opt(
1253[warn] 192 | Vector(
1254[warn] 193 | open,
1255[warn] 194 | nothing
1256[warn] 195 | )
1257[warn] 196 | )
1258[warn] 197 | )
1259[warn] 198 | )
1260[warn] 199 | .flatTap { out =>
1261[warn] 200 | Logging.info(out.toString) >> {
1262[warn] 201 | if out == Opt(open) then
1263[warn] 202 | openBrowser(serverUri).attempt
1264[warn] 203 | .flatMap(r => Logging.info(r.toString))
1265[warn] 204 | else IO.unit
1266[warn] 205 | }
1267[warn] 206 | }
1268[warn] 207 | else
1269[warn] 208 | comm.notification(
1270[warn] 209 | window.showMessage,
1271[warn] 210 | ShowMessageParams(
1272[warn] 211 | `type` = MessageType.Info,
1273[warn] 212 | message = s"Langoustine tracer is live at $serverUri"
1274[warn] 213 | )
1275[warn] 214 | )
1276[warn] 215 | end if
1277[warn] 216 | }
1278[warn] 217 | )
1279[warn] 218 | }
1280[warn] 219 | }
1281[warn] |
1282[warn] | longer explanation available when compiling with `-explain`
1283[warn] -- [E222] Syntax Warning: /build/repo/modules/tracer/backend/src/main/scala/routes.api.scala:17:20
1284[warn] 17 |package langoustine.tracer
1285[warn] |^
1286[warn] |The package name `routes.api$package` will be encoded on the classpath, and can lead to undefined behaviour.
1287[warn] 18 |import cats.effect.*
1288[warn] 19 |import cats.syntax.all.*
1289[warn] 20 |import com.github.plokhotnyuk.jsoniter_scala.core.*
1290[warn] 21 |import com.github.plokhotnyuk.jsoniter_scala.macros.*
1291[warn] 22 |import jsonrpclib.CallId
1292[warn] 23 |import org.http4s.*
1293[warn] 24 |import org.http4s.dsl.io.*
1294[warn] 25 |import org.http4s.headers.*
1295[warn] 26 |import org.http4s.server.*
1296[warn] 27 |import org.http4s.server.websocket.*
1297[warn] 28 |import org.http4s.websocket.*
1298[warn] 29 |import org.typelevel.ci.*
1299[warn] 30 |import concurrent.duration.*
1300[warn] 31 |object SnapshotNameMatcher
1301[warn] 32 | extends OptionalQueryParamDecoderMatcher[String]("name")
1302[warn] 33 |object codecs:
1303[warn] 34 | given msgCodec: JsonValueCodec[Vector[LspMessage]] = JsonCodecMaker.make
1304[warn] 35 | given rawCodec: JsonValueCodec[Vector[RawMessage]] = JsonCodecMaker.make
1305[warn] 36 | given JsonValueCodec[Vector[String]] = JsonCodecMaker.make
1306[warn] 37 | given jsonEncoder[T: JsonValueCodec]: EntityEncoder[IO, T] =
1307[warn] 38 | EntityEncoder
1308[warn] 39 | .byteArrayEncoder[IO]
1309[warn] 40 | .contramap((data: T) => writeToArray(data))
1310[warn] 41 | .withContentType(
1311[warn] 42 | `Content-Type`(MediaType.application.json, Some(Charset.`UTF-8`))
1312[warn] 43 | )
1313[warn] 44 | given jsonDecoder[T: JsonValueCodec]: EntityDecoder[IO, T] =
1314[warn] 45 | EntityDecoder.byteArrayDecoder[IO].map(readFromArray[T](_))
1315[warn] 46 |end codecs
1316[warn] 47 |def api(
1317[warn] 48 | wbs: WebSocketBuilder2[IO],
1318[warn] 49 | state: State,
1319[warn] 50 | summary: Summary
1320[warn] 51 |) =
1321[warn] 52 | import state.*
1322[warn] 53 | import codecs.given
1323[warn] 54 | val apiRoutes = HttpRoutes.of[IO] {
1324[warn] 55 | case GET -> Root / "summary" =>
1325[warn] 56 | Ok(summary)
1326[warn] 57 | case GET -> Root / "ws" / "events" =>
1327[warn] 58 | val continuous =
1328[warn] 59 | messages.discrete
1329[warn] 60 | .as(TracerEvent.Update)
1330[warn] 61 | .merge(messages.discrete.as(TracerEvent.Update))
1331[warn] 62 | .merge(
1332[warn] 63 | logBuf.discrete.map(TracerEvent.LogLines(_))
1333[warn] 64 | )
1334[warn] 65 | val out = fs2.Stream.eval(logBuf.get).map(TracerEvent.LogLines(_))
1335[warn] 66 | val updates =
1336[warn] 67 | (out ++ continuous)
1337[warn] 68 | .map(ev =>
1338[warn] 69 | WebSocketFrame.Text(writeToStringReentrant[TracerEvent](ev))
1339[warn] 70 | )
1340[warn] 71 | val pings =
1341[warn] 72 | fs2.Stream.repeatEval(IO(WebSocketFrame.Ping())).metered(1.second)
1342[warn] 73 | wbs
1343[warn] 74 | .withFilterPingPongs(false)
1344[warn] 75 | .build(updates.merge(pings), _.map(_ => ()))
1345[warn] 76 | case GET -> Root / "all" =>
1346[warn] 77 | messages.get.map(_.sortBy(_.timestamp).map(_.decoded)).flatMap(Ok(_))
1347[warn] 78 | case GET -> Root / "logs" =>
1348[warn] 79 | logBuf.get.flatMap(Ok(_))
1349[warn] 80 | case GET -> Root / "raw" / "all" =>
1350[warn] 81 | messages.get.map(_.sortBy(_.timestamp).map(_.raw)).flatMap(Ok(_))
1351[warn] 82 | case GET -> Root / "snapshot" :? SnapshotNameMatcher(nameMaybe) =>
1352[warn] 83 | given JsonValueCodec[Vector[ReceivedMessage]] = JsonCodecMaker.make
1353[warn] 84 | val filename = nameMaybe
1354[warn] 85 | .getOrElse("langoustine-tracer-snapshot")
1355[warn] 86 | + ".jsonl.gz"
1356[warn] 87 | val lspMessages = messages.get
1357[warn] 88 | .map(_.map { rm =>
1358[warn] 89 | // 1. Remove generated IDs from notifications, so they stop looking like
1359[warn] 90 | // requests
1360[warn] 91 | // 2. Remove request/response pair matching
1361[warn] 92 | rm.decoded match
1362[warn] 93 | case _: LspMessage.Notification =>
1363[warn] 94 | rm.copy(raw = rm.raw.copy(id = None))
1364[warn] 95 | case req: LspMessage.Request =>
1365[warn] 96 | rm.copy(decoded = req.copy(responded = false))
1366[warn] 97 | case resp: LspMessage.Response =>
1367[warn] 98 | rm.copy(decoded = resp.copy(method = None))
1368[warn] 99 | }.map(SnapshotItem.Message.apply))
1369[warn] 100 | val logs = logBuf.get.map(_.collect { case log: LogMessage.Stderr =>
1370[warn] 101 | SnapshotItem.Log(log)
1371[warn] 102 | })
1372[warn] 103 | lspMessages.product(logs).map(_ ++ _).map(_.sortBy(_.timestamp)).flatMap {
1373[warn] 104 | received =>
1374[warn] 105 | val bytes = fs2.Stream
1375[warn] 106 | .emits(received)
1376[warn] 107 | .covary[IO]
1377[warn] 108 | .evalMap(m => IO(writeToStringReentrant[SnapshotItem](m)))
1378[warn] 109 | .intersperse("\n")
1379[warn] 110 | .through(fs2.text.utf8.encode)
1380[warn] 111 | .through(fs2.compression.Compression[IO].gzip())
1381[warn] 112 | Ok(
1382[warn] 113 | bytes,
1383[warn] 114 | org.http4s.headers.`Content-Disposition`(
1384[warn] 115 | s"attachment",
1385[warn] 116 | Map(ci"filename" -> filename)
1386[warn] 117 | )
1387[warn] 118 | )
1388[warn] 119 | }
1389[warn] 120 | case GET -> Root / "raw" / "request" / id =>
1390[warn] 121 | val asLong = id.toLongOption.map(CallId.NumberId.apply)
1391[warn] 122 | val asStr = CallId.StringId(id)
1392[warn] 123 | inline def idMatches(idOpt: Option[CallId]) =
1393[warn] 124 | (asLong == idOpt || idOpt.contains(asStr))
1394[warn] 125 | messages.get.flatMap { messages =>
1395[warn] 126 | val found = messages.collectFirst {
1396[warn] 127 | case rm if idMatches(rm.raw.id) && rm.raw.method.nonEmpty =>
1397[warn] 128 | rm.raw
1398[warn] 129 | }
1399[warn] 130 | found match
1400[warn] 131 | case Some(rm) => Ok(rm)
1401[warn] 132 | case None => NotFound()
1402[warn] 133 | }
1403[warn] 134 | case GET -> Root / "raw" / "response" / id =>
1404[warn] 135 | val asLong = id.toLongOption.map(CallId.NumberId.apply)
1405[warn] 136 | val asStr = CallId.StringId(id)
1406[warn] 137 | inline def idMatches(idOpt: Option[CallId]) =
1407[warn] 138 | (asLong == idOpt || idOpt.contains(asStr))
1408[warn] 139 | messages.get.flatMap { messages =>
1409[warn] 140 | val found = messages.collectFirst {
1410[warn] 141 | case rm if idMatches(rm.raw.id) && rm.raw.method.isEmpty =>
1411[warn] 142 | rm.raw
1412[warn] 143 | }
1413[warn] 144 | found match
1414[warn] 145 | case Some(rm) => Ok(rm)
1415[warn] 146 | case None => NotFound()
1416[warn] 147 | }
1417[warn] 148 | case GET -> Root / "raw" / "notification" / id =>
1418[warn] 149 | val asStr = CallId.StringId(id)
1419[warn] 150 | inline def idMatches(idOpt: Option[CallId]) =
1420[warn] 151 | idOpt.contains(asStr)
1421[warn] 152 | messages.get.flatMap { messages =>
1422[warn] 153 | val found = messages.collectFirst {
1423[warn] 154 | case rm if idMatches(rm.raw.id) => rm.raw
1424[warn] 155 | }
1425[warn] 156 | found match
1426[warn] 157 | case Some(rm) => Ok(rm)
1427[warn] 158 | case None => NotFound()
1428[warn] 159 | }
1429[warn] 160 | }
1430[warn] 161 | Router("/api" -> apiRoutes) <+> Static.routes
1431[warn] 162 |end api
1432[warn] |
1433[warn] | longer explanation available when compiling with `-explain`
1434[warn] -- [E121] Pattern Match Warning: /build/repo/modules/tracer/backend/src/main/scala/state.scala:134:23
1435[warn] 134 | case other =>
1436[warn] | ^^^^^
1437[warn] |Unreachable case except for null (if this is intentional, consider writing case null => instead).
1438[warn] there was 1 deprecation warning; re-run with -deprecation for details
1439[warn] 6 warnings found
1440[info] done compiling
1441[info] compiling 7 Scala sources to /build/repo/modules/tracer/shared/target/js-3/classes ...
1442
1443 unhandled exception while running genSJSIR on /build/repo/modules/tracer/shared/src/main/scala/Direction.scala
1444
1445 An unhandled exception was thrown in the compiler.
1446 Please file a crash report here:
1447 https://github.com/scala/scala3/issues/new/choose
1448 For non-enriched exceptions, compile with -Xno-enrich-error-messages.
1449
1450
1451 while compiling: /build/repo/modules/tracer/shared/src/main/scala/Direction.scala
1452 during phase: genSJSIR
1453 mode: Mode(ImplicitsEnabled)
1454 library version: version 3.8.0-RC1-bin-20251114-d221ef5-NIGHTLY
1455 compiler version: version 3.8.0-RC1-bin-20251114-d221ef5-NIGHTLY-git-d221ef5
1456 settings: -Wconf List(msg=can be rewritten automatically under:s) -Wunused List(imports) -classpath /build/repo/modules/tracer/shared/target/js-3/classes:/root/.cache/coursier/v1/https/repo.scala-lang.org/artifactory/maven-nightlies/org/scala-lang/scala3-library_sjs1_3/3.8.0-RC1-bin-20251114-d221ef5-NIGHTLY/scala3-library_sjs1_3-3.8.0-RC1-bin-20251114-d221ef5-NIGHTLY.jar:/root/.cache/coursier/v1/https/repo.scala-lang.org/artifactory/maven-nightlies/org/scala-js/scalajs-library_2.13/1.19.0/scalajs-library_2.13-1.19.0.jar:/root/.cache/coursier/v1/https/repo.scala-lang.org/artifactory/maven-nightlies/com/github/plokhotnyuk/jsoniter-scala/jsoniter-scala-core_sjs1_3/2.28.4/jsoniter-scala-core_sjs1_3-2.28.4.jar:/root/.cache/coursier/v1/https/repo.scala-lang.org/artifactory/maven-nightlies/com/github/plokhotnyuk/jsoniter-scala/jsoniter-scala-macros_sjs1_3/2.28.4/jsoniter-scala-macros_sjs1_3-2.28.4.jar:/root/.cache/coursier/v1/https/repo.scala-lang.org/artifactory/maven-nightlies/tech/neander/jsonrpclib-core_sjs1_3/0.0.7/jsonrpclib-core_sjs1_3-0.0.7.jar:/root/.cache/coursier/v1/https/repo.scala-lang.org/artifactory/maven-nightlies/org/scala-js/scalajs-scalalib_2.13/3.8.0-RC1-bin-20251114-d221ef5-NIGHTLY/scalajs-scalalib_2.13-3.8.0-RC1-bin-20251114-d221ef5-NIGHTLY.jar:/root/.cache/coursier/v1/https/repo.scala-lang.org/artifactory/maven-nightlies/org/scala-lang/scala-library/3.8.0-RC1-bin-20251114-d221ef5-NIGHTLY/scala-library-3.8.0-RC1-bin-20251114-d221ef5-NIGHTLY.jar:/root/.cache/coursier/v1/https/repo.scala-lang.org/artifactory/maven-nightlies/org/scala-js/scalajs-javalib/1.20.1/scalajs-javalib-1.20.1.jar:/root/.cache/coursier/v1/https/repo.scala-lang.org/artifactory/maven-nightlies/io/github/cquiroz/scala-java-time_sjs1_3/2.5.0/scala-java-time_sjs1_3-2.5.0.jar:/root/.cache/coursier/v1/https/repo.scala-lang.org/artifactory/maven-nightlies/org/scala-lang/scala3-library_3/3.8.0-RC1-bin-20251114-d221ef5-NIGHTLY/scala3-library_3-3.8.0-RC1-bin-20251114-d221ef5-NIGHTLY.jar:/root/.cache/coursier/v1/https/repo.scala-lang.org/artifactory/maven-nightlies/org/portable-scala/portable-scala-reflect_sjs1_2.13/1.1.2/portable-scala-reflect_sjs1_2.13-1.1.2.jar:/root/.cache/coursier/v1/https/repo.scala-lang.org/artifactory/maven-nightlies/io/github/cquiroz/scala-java-locales_sjs1_3/1.5.1/scala-java-locales_sjs1_3-1.5.1.jar:/root/.cache/coursier/v1/https/repo.scala-lang.org/artifactory/maven-nightlies/io/github/cquiroz/cldr-api_sjs1_3/4.0.0/cldr-api_sjs1_3-4.0.0.jar -d /build/repo/modules/tracer/shared/target/js-3/classes -scalajs true -source 3.4
1457
1458[error] ## Exception when compiling 7 sources to /build/repo/modules/tracer/shared/target/js-3/classes
1459[error] dotty.tools.dotc.core.TypeError$$anon$1: object LinkingInfo does not have a member method linkTimeIf
1460[error]
1461[error]
1462[error] dotty.tools.dotc.core.TypeError$$anon$1: object LinkingInfo does not have a member method linkTimeIf
1463[error] (tracerSharedJS / Compile / compileIncremental) dotty.tools.dotc.core.TypeError$$anon$1: object LinkingInfo does not have a member method linkTimeIf
1464[info] compiling 7 Scala sources to /build/repo/modules/tracer/shared/target/js-3/classes ...
1465
1466 unhandled exception while running genSJSIR on /build/repo/modules/tracer/shared/src/main/scala/Direction.scala
1467
1468 An unhandled exception was thrown in the compiler.
1469 Please file a crash report here:
1470 https://github.com/scala/scala3/issues/new/choose
1471 For non-enriched exceptions, compile with -Xno-enrich-error-messages.
1472
1473
1474 while compiling: /build/repo/modules/tracer/shared/src/main/scala/Direction.scala
1475 during phase: genSJSIR
1476 mode: Mode(ImplicitsEnabled)
1477 library version: version 3.8.0-RC1-bin-20251114-d221ef5-NIGHTLY
1478 compiler version: version 3.8.0-RC1-bin-20251114-d221ef5-NIGHTLY-git-d221ef5
1479 settings: -Wconf List(msg=can be rewritten automatically under:s) -Wunused List(imports) -classpath /build/repo/modules/tracer/shared/target/js-3/classes:/root/.cache/coursier/v1/https/repo.scala-lang.org/artifactory/maven-nightlies/org/scala-lang/scala3-library_sjs1_3/3.8.0-RC1-bin-20251114-d221ef5-NIGHTLY/scala3-library_sjs1_3-3.8.0-RC1-bin-20251114-d221ef5-NIGHTLY.jar:/root/.cache/coursier/v1/https/repo.scala-lang.org/artifactory/maven-nightlies/org/scala-js/scalajs-library_2.13/1.19.0/scalajs-library_2.13-1.19.0.jar:/root/.cache/coursier/v1/https/repo.scala-lang.org/artifactory/maven-nightlies/com/github/plokhotnyuk/jsoniter-scala/jsoniter-scala-core_sjs1_3/2.28.4/jsoniter-scala-core_sjs1_3-2.28.4.jar:/root/.cache/coursier/v1/https/repo.scala-lang.org/artifactory/maven-nightlies/com/github/plokhotnyuk/jsoniter-scala/jsoniter-scala-macros_sjs1_3/2.28.4/jsoniter-scala-macros_sjs1_3-2.28.4.jar:/root/.cache/coursier/v1/https/repo.scala-lang.org/artifactory/maven-nightlies/tech/neander/jsonrpclib-core_sjs1_3/0.0.7/jsonrpclib-core_sjs1_3-0.0.7.jar:/root/.cache/coursier/v1/https/repo.scala-lang.org/artifactory/maven-nightlies/org/scala-js/scalajs-scalalib_2.13/3.8.0-RC1-bin-20251114-d221ef5-NIGHTLY/scalajs-scalalib_2.13-3.8.0-RC1-bin-20251114-d221ef5-NIGHTLY.jar:/root/.cache/coursier/v1/https/repo.scala-lang.org/artifactory/maven-nightlies/org/scala-lang/scala-library/3.8.0-RC1-bin-20251114-d221ef5-NIGHTLY/scala-library-3.8.0-RC1-bin-20251114-d221ef5-NIGHTLY.jar:/root/.cache/coursier/v1/https/repo.scala-lang.org/artifactory/maven-nightlies/org/scala-js/scalajs-javalib/1.20.1/scalajs-javalib-1.20.1.jar:/root/.cache/coursier/v1/https/repo.scala-lang.org/artifactory/maven-nightlies/io/github/cquiroz/scala-java-time_sjs1_3/2.5.0/scala-java-time_sjs1_3-2.5.0.jar:/root/.cache/coursier/v1/https/repo.scala-lang.org/artifactory/maven-nightlies/org/scala-lang/scala3-library_3/3.8.0-RC1-bin-20251114-d221ef5-NIGHTLY/scala3-library_3-3.8.0-RC1-bin-20251114-d221ef5-NIGHTLY.jar:/root/.cache/coursier/v1/https/repo.scala-lang.org/artifactory/maven-nightlies/org/portable-scala/portable-scala-reflect_sjs1_2.13/1.1.2/portable-scala-reflect_sjs1_2.13-1.1.2.jar:/root/.cache/coursier/v1/https/repo.scala-lang.org/artifactory/maven-nightlies/io/github/cquiroz/scala-java-locales_sjs1_3/1.5.1/scala-java-locales_sjs1_3-1.5.1.jar:/root/.cache/coursier/v1/https/repo.scala-lang.org/artifactory/maven-nightlies/io/github/cquiroz/cldr-api_sjs1_3/4.0.0/cldr-api_sjs1_3-4.0.0.jar -d /build/repo/modules/tracer/shared/target/js-3/classes -scalajs true -source 3.4
1480
1481[error] ## Exception when compiling 7 sources to /build/repo/modules/tracer/shared/target/js-3/classes
1482[error] dotty.tools.dotc.core.TypeError$$anon$1: object LinkingInfo does not have a member method linkTimeIf
1483[error]
1484[error]
1485[error] dotty.tools.dotc.core.TypeError$$anon$1: object LinkingInfo does not have a member method linkTimeIf
1486[error] (tracerSharedJS / Compile / compileIncremental) dotty.tools.dotc.core.TypeError$$anon$1: object LinkingInfo does not have a member method linkTimeIf
1487Starting build for ProjectRef(file:/build/repo/,app) (langoustine-app)... [4/5]
1488Compile scalacOptions: -Wunused:imports, -Wconf:msg=can be rewritten automatically under:s, -source:3.4
1489[info] compiling 4 Scala sources to /build/repo/modules/app/target/jvm-3/classes ...
1490[warn] there was 1 deprecation warning; re-run with -deprecation for details
1491[warn] one warning found
1492[info] done compiling
1493
1494************************
1495Build summary:
1496[{
1497 "module": "langoustine-lsp",
1498 "compile": {"status": "ok", "tookMs": 61988, "warnings": 4, "errors": 0, "sourceVersion": "3.4"},
1499 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
1500 "test-compile": {"status": "ok", "tookMs": 370, "warnings": 0, "errors": 0, "sourceVersion": "3.4"},
1501 "test": {"status": "skipped", "tookMs": 0, "passed": 0, "failed": 0, "ignored": 0, "skipped": 0, "total": 0, "byFramework": []},
1502 "publish": {"status": "skipped", "tookMs": 0},
1503 "metadata": {
1504 "crossScalaVersions": ["2.12.20"]
1505}
1506},{
1507 "module": "langoustine-tracer-shared",
1508 "compile": {"status": "ok", "tookMs": 1856, "warnings": 0, "errors": 0, "sourceVersion": "3.4"},
1509 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
1510 "test-compile": {"status": "ok", "tookMs": 97, "warnings": 0, "errors": 0, "sourceVersion": "3.4"},
1511 "test": {"status": "skipped", "tookMs": 0, "passed": 0, "failed": 0, "ignored": 0, "skipped": 0, "total": 0, "byFramework": []},
1512 "publish": {"status": "skipped", "tookMs": 0},
1513 "metadata": {
1514 "crossScalaVersions": ["2.12.20"]
1515}
1516},{
1517 "module": "langoustine-meta",
1518 "compile": {"status": "ok", "tookMs": 2715, "warnings": 4, "errors": 0, "sourceVersion": "3.4"},
1519 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
1520 "test-compile": {"status": "ok", "tookMs": 120, "warnings": 0, "errors": 0, "sourceVersion": "3.4"},
1521 "test": {"status": "skipped", "tookMs": 0, "passed": 0, "failed": 0, "ignored": 0, "skipped": 0, "total": 0, "byFramework": []},
1522 "publish": {"status": "skipped", "tookMs": 0},
1523 "metadata": {
1524 "crossScalaVersions": ["2.12.20"]
1525}
1526},{
1527 "module": "langoustine-tracer",
1528 "compile": {"status": "ok", "tookMs": 5470, "warnings": 5, "errors": 0, "sourceVersion": "3.4"},
1529 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
1530 "test-compile": {"status": "skipped", "tookMs": 0, "warnings": 0, "errors": 0},
1531 "test": {"status": "skipped", "tookMs": 0, "passed": 0, "failed": 0, "ignored": 0, "skipped": 0, "total": 0, "byFramework": []},
1532 "publish": {"status": "skipped", "tookMs": 0},
1533 "metadata": {
1534 "crossScalaVersions": ["2.12.20"]
1535}
1536},{
1537 "module": "langoustine-app",
1538 "compile": {"status": "ok", "tookMs": 1633, "warnings": 0, "errors": 0, "sourceVersion": "3.4"},
1539 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
1540 "test-compile": {"status": "ok", "tookMs": 159, "warnings": 0, "errors": 0, "sourceVersion": "3.4"},
1541 "test": {"status": "skipped", "tookMs": 0, "passed": 0, "failed": 0, "ignored": 0, "skipped": 0, "total": 0, "byFramework": []},
1542 "publish": {"status": "skipped", "tookMs": 0},
1543 "metadata": {
1544 "crossScalaVersions": ["2.12.20"]
1545}
1546}]
1547************************
1548[success] Total time: 91 s (0:01:31.0), completed Nov 15, 2025, 2:10:42 AM
1549[0JChecking patch project/plugins.sbt...
1550Checking patch project/build.properties...
1551Checking patch build.sbt...
1552Applied patch project/plugins.sbt cleanly.
1553Applied patch project/build.properties cleanly.
1554Applied patch build.sbt cleanly.