Build Logs
outr/spice • 3.8.0-RC3:2025-12-04
Errors
4
Warnings
78
Total Lines
1174
1##################################
2Clonning https://github.com/outr/spice.git into /build/repo using revision 0.10.17
3##################################
4Note: switching to '107f4e9b6fad6b06a2b56f63565b5f1d04881831'.
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
21Would override fixed Scala version: 3.3.7
22Using target Scala version for migration: 3.7.4
23Migrating project for -source:3.7 using Scala 3.7.4
24----
25Preparing build for 3.7.4
26Would try to apply common scalacOption (best-effort, sbt/mill only):
27Append: -rewrite,REQUIRE:-source:3.7-migration
28Remove: -indent,-no-indent,-new-syntax,,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
29
30Try apply source patch:
31Path: build.sbt
32Pattern: val scala3: String = "3.3.7"
33Replacement: val scala3: String = "3.7.4"
34Starting compilation server
35Compiling project (Scala 3.7.3, JVM (25))
36Compiled project (Scala 3.7.3, JVM (25))
37WARNING: A terminally deprecated method in sun.misc.Unsafe has been called
38WARNING: sun.misc.Unsafe::objectFieldOffset has been called by scala.runtime.LazyVals$ (file:/root/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala3-library_3/3.7.3/scala3-library_3-3.7.3.jar)
39WARNING: Please consider reporting this to the maintainers of class scala.runtime.LazyVals$
40WARNING: sun.misc.Unsafe::objectFieldOffset will be removed in a future release
41Successfully applied pattern 'val scala3: String = "3.3.7"' in build.sbt
42----
43Starting build for 3.7.4
44Execute tests: false
45sbt project found:
46No prepare script found for project outr/spice
47##################################
48Scala version: 3.7.4
49Targets: com.outr%spice com.outr%spice-client com.outr%spice-client-jvm com.outr%spice-client-netty com.outr%spice-client-okhttp com.outr%spice-core com.outr%spice-delta com.outr%spice-openapi com.outr%spice-server com.outr%spice-server-undertow
50Project projectConfig: {"projects":{"exclude":[],"overrides":{}},"java":{"version":"25"},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"compile-only","migrationVersions":["3.7"],"sourcePatches":[{"path":"build.sbt","pattern":"val scala3: String = \"3.3.7\"","replaceWith":"val scala3: String = \"<SCALA_VERSION>\""}]}
51##################################
52Using extra scalacOptions: -rewrite,REQUIRE:-source:3.7-migration
53Filtering out scalacOptions: -indent,-no-indent,-new-syntax,,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
54[sbt_options] declare -a sbt_options=()
55[process_args] java_version = '25'
56[copyRt] java9_rt = '/root/.sbt/1.0/java9-rt-ext-eclipse_adoptium_25/rt.jar'
57# Executing command line:
58java
59-Dfile.encoding=UTF-8
60-Dcommunitybuild.scala=3.7.4
61-Dcommunitybuild.project.dependencies.add=
62-Xmx7G
63-Xms4G
64-Xss8M
65-Dsbt.script=/root/.sdkman/candidates/sbt/current/bin/sbt
66-Dscala.ext.dirs=/root/.sbt/1.0/java9-rt-ext-eclipse_adoptium_25
67-jar
68/root/.sdkman/candidates/sbt/1.11.5/bin/sbt-launch.jar
69"setCrossScalaVersions 3.7.4"
70"++3.7.4 -v"
71"mapScalacOptions "-rewrite,REQUIRE:-source:3.7-migration,-Wconf:msg=can be rewritten automatically under:s" "-indent,-no-indent,-new-syntax,,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e""
72"set every credentials := Nil"
73"excludeLibraryDependency com.github.ghik:zerowaste_{scalaVersion} com.olegpy:better-monadic-for_3 org.polyvariant:better-tostring_{scalaVersion} org.wartremover:wartremover_{scalaVersion}"
74"removeScalacOptionsStartingWith -P:wartremover"
75
76moduleMappings
77"runBuild 3.7.4 """{"projects":{"exclude":[],"overrides":{}},"java":{"version":"25"},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"compile-only","migrationVersions":["3.7"],"sourcePatches":[{"path":"build.sbt","pattern":"val scala3: String = \"3.3.7\"","replaceWith":"val scala3: String = \"<SCALA_VERSION>\""}]}""" com.outr%spice com.outr%spice-client com.outr%spice-client-jvm com.outr%spice-client-netty com.outr%spice-client-okhttp com.outr%spice-core com.outr%spice-delta com.outr%spice-openapi com.outr%spice-server com.outr%spice-server-undertow"
78
79[info] [launcher] getting org.scala-sbt sbt 1.11.7 (this may take some time)...
80WARNING: A terminally deprecated method in sun.misc.Unsafe has been called
81WARNING: sun.misc.Unsafe::arrayBaseOffset has been called by net.openhft.hashing.UnsafeAccess (file:/root/.sbt/boot/scala-2.12.20/org.scala-sbt/sbt/1.11.7/zero-allocation-hashing-0.16.jar)
82WARNING: Please consider reporting this to the maintainers of class net.openhft.hashing.UnsafeAccess
83WARNING: sun.misc.Unsafe::arrayBaseOffset will be removed in a future release
84WARNING: A restricted method in java.lang.System has been called
85WARNING: java.lang.System::load has been called by com.sun.jna.Native in an unnamed module (file:/root/.sbt/boot/scala-2.12.20/org.scala-sbt/sbt/1.11.7/jna-5.12.0.jar)
86WARNING: Use --enable-native-access=ALL-UNNAMED to avoid a warning for callers in this module
87WARNING: Restricted methods will be blocked in a future release unless native access is enabled
88
89[info] welcome to sbt 1.11.7 (Eclipse Adoptium Java 25)
90[info] loading settings for project repo-build from akka.sbt, plugins.sbt...
91[info] loading project definition from /build/repo/project
92[info] compiling 3 Scala sources to /build/repo/project/target/scala-2.12/sbt-1.0/classes ...
93[info] Non-compiled module 'compiler-bridge_2.12' for Scala 2.12.20. Compiling...
94[info] Compilation completed in 7.815s.
95[info] done compiling
96[info] loading settings for project root from build.sbt...
97[info] resolving key references (10786 settings) ...
98[info] set current project to spice (in build file:/build/repo/)
99Execute setCrossScalaVersions: 3.7.4
100OpenCB::Changing crossVersion 3.7.4 -> 3.7.4 in server/crossScalaVersions
101OpenCB::Changing crossVersion 3.7.4 -> 3.7.4 in clientJVM/crossScalaVersions
102OpenCB::Changing crossVersion 3.7.4 -> 3.7.4 in coreJVM/crossScalaVersions
103OpenCB::Changing crossVersion 3.7.4 -> 3.7.4 in clientImplementationJVM/crossScalaVersions
104OpenCB::Changing crossVersion 3.7.4 -> 3.7.4 in coreJS/crossScalaVersions
105OpenCB::Changing crossVersion 3.7.4 -> 3.7.4 in clientImplementationOkHttp/crossScalaVersions
106OpenCB::Changing crossVersion 3.7.4 -> 3.7.4 in clientJS/crossScalaVersions
107OpenCB::Changing crossVersion 3.7.4 -> 3.7.4 in root/crossScalaVersions
108OpenCB::Changing crossVersion 3.7.4 -> 3.7.4 in clientImplementationNetty/crossScalaVersions
109OpenCB::Changing crossVersion 3.7.4 -> 3.7.4 in serverImplementationUndertow/crossScalaVersions
110OpenCB::Changing crossVersion 3.7.4 -> 3.7.4 in openAPI/crossScalaVersions
111OpenCB::Changing crossVersion 3.7.4 -> 3.7.4 in delta/crossScalaVersions
112[info] set current project to spice (in build file:/build/repo/)
113[info] Setting Scala version to 3.7.4 on 12 projects.
114[info] Switching Scala version on:
115[info] server (2.13.17, 3.7.4)
116[info] openAPI (2.13.17, 3.7.4)
117[info] * root (2.13.17, 3.7.4)
118[info] clientJS (2.13.17, 3.7.4)
119[info] clientImplementationNetty (2.13.17, 3.7.4)
120[info] clientJVM (2.13.17, 3.7.4)
121[info] coreJS (2.13.17, 3.7.4)
122[info] clientImplementationOkHttp (2.13.17, 3.7.4)
123[info] coreJVM (2.13.17, 3.7.4)
124[info] delta (2.13.17, 3.7.4)
125[info] serverImplementationUndertow (2.13.17, 3.7.4)
126[info] clientImplementationJVM (2.13.17, 3.7.4)
127[info] Excluding projects:
128[info] Reapplying settings...
129[info] set current project to spice (in build file:/build/repo/)
130Execute mapScalacOptions: -rewrite,REQUIRE:-source:3.7-migration,-Wconf:msg=can be rewritten automatically under:s -indent,-no-indent,-new-syntax,,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
131[info] Reapplying settings...
132[info] set current project to spice (in build file:/build/repo/)
133[info] Defining Global / credentials, clientImplementationJVM / credentials and 10 others.
134[info] The new values will be used by Global / pgpSelectPassphrase, Global / pgpSigningKey and 59 others.
135[info] Run `last` for details.
136[info] Reapplying settings...
137[info] set current project to spice (in build file:/build/repo/)
138Execute excludeLibraryDependency: com.github.ghik:zerowaste_{scalaVersion} com.olegpy:better-monadic-for_3 org.polyvariant:better-tostring_{scalaVersion} org.wartremover:wartremover_{scalaVersion}
139[info] Reapplying settings...
140OpenCB::Failed to reapply settings in excludeLibraryDependency: Reference to undefined setting:
141
142 Global / allExcludeDependencies from Global / allExcludeDependencies (CommunityBuildPlugin.scala:331)
143 Did you mean allExcludeDependencies ?
144 , retry without global scopes
145[info] Reapplying settings...
146[info] set current project to spice (in build file:/build/repo/)
147Execute removeScalacOptionsStartingWith: -P:wartremover
148[info] Reapplying settings...
149[info] set current project to spice (in build file:/build/repo/)
150[success] Total time: 0 s, completed Dec 4, 2025, 3:53:20 PM
151Build config: {"projects":{"exclude":[],"overrides":{}},"java":{"version":"25"},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"compile-only","migrationVersions":["3.7"],"sourcePatches":[{"path":"build.sbt","pattern":"val scala3: String = \"3.3.7\"","replaceWith":"val scala3: String = \"<SCALA_VERSION>\""}]}
152Parsed config: Success(ProjectBuildConfig(ProjectsConfig(List(),Map()),CompileOnly,List()))
153Starting build...
154Projects: Set(server, openAPI, root, clientImplementationNetty, clientJVM, clientImplementationOkHttp, coreJVM, delta, serverImplementationUndertow, clientImplementationJVM)
155Starting build for ProjectRef(file:/build/repo/,openAPI) (spice-openapi)... [0/10]
156OpenCB::Exclude Scala3 specific scalacOption `-rewrite` in Scala 2.12.20 module Global
157OpenCB::Exclude Scala3 specific scalacOption `REQUIRE:-source:3.7-migration` in Scala 2.12.20 module Global
158OpenCB::Filter out '-deprecation', matches setting pattern '^-?-deprecation'
159Compile scalacOptions: -rewrite, -Wconf:msg=can be rewritten automatically under:s, -source:3.7-migration
160[info] compiling 92 Scala sources to /build/repo/core/jvm/target/scala-3.7.4/classes ...
161[info] [patched file /build/repo/core/shared/src/main/scala/spice/http/Headers.scala]
162[info] [patched file /build/repo/core/shared/src/main/scala/spice/http/content/SharedContentHelpers.scala]
163[info] [patched file /build/repo/core/shared/src/main/scala/spice/util/BufferManager.scala]
164[info] done compiling
165[info] compiling 22 Scala sources to /build/repo/delta/target/scala-3.7.4/classes ...
166[info] done compiling
167[info] compiling 49 Scala sources to /build/repo/server/target/scala-3.7.4/classes ...
168[info] [patched file /build/repo/server/src/main/scala/spice/http/server/dsl/package.scala]
169[info] [patched file /build/repo/server/src/main/scala/spice/http/server/rest/Restful.scala]
170[info] [patched file /build/repo/server/src/main/scala/spice/http/server/handler/HttpHandlerBuilder.scala]
171[info] [patched file /build/repo/server/src/main/scala/spice/http/server/dsl/LastConnectionFilter.scala]
172[info] done compiling
173[info] compiling 29 Scala sources to /build/repo/openapi/target/scala-3.7.4/classes ...
174[warn] -- [E029] Pattern Match Exhaustivity Warning: /build/repo/openapi/src/main/scala/spice/openapi/generator/dart/OpenAPIDartGenerator.scala:30:24
175[warn] 30 | api.componentByRef(s) match {
176[warn] | ^^^^^^^^^^^^^^^^^^^^^
177[warn] |match may not be exhaustive.
178[warn] |
179[warn] |It would fail on pattern case: Some(_: spice.openapi.OpenAPISchema.MultiSchema)
180[warn] |
181[warn] | longer explanation available when compiling with `-explain`
182[warn] -- [E029] Pattern Match Exhaustivity Warning: /build/repo/openapi/src/main/scala/spice/openapi/generator/dart/OpenAPIDartGenerator.scala:548:20
183[warn] 548 | case ref: OpenAPISchema.Ref => ref.ref.ref2Type
184[warn] | ^
185[warn] |match may not be exhaustive.
186[warn] |
187[warn] |It would fail on pattern case: _: spice.openapi.OpenAPISchema.MultiSchema, spice.openapi.OpenAPISchema.Not(_, _)
188[warn] |
189[warn] | longer explanation available when compiling with `-explain`
190[info] [patched file /build/repo/openapi/src/main/scala/spice/openapi/OpenAPIPath.scala]
191[info] [patched file /build/repo/openapi/src/main/scala/spice/openapi/OpenAPIContent.scala]
192[info] [patched file /build/repo/openapi/src/main/scala/spice/openapi/server/ServiceCall.scala]
193[info] [patched file /build/repo/openapi/src/main/scala/spice/openapi/server/OpenAPIHttpServer.scala]
194[info] [patched file /build/repo/openapi/src/main/scala/spice/openapi/OpenAPISchema.scala]
195[warn] two warnings found
196[info] done compiling
197[info] compiling 3 Scala sources to /build/repo/core/jvm/target/scala-3.7.4/classes ...
198[info] done compiling
199[info] compiling 17 Scala sources to /build/repo/client/jvm/target/scala-3.7.4/classes ...
200[info] compiling 4 Scala sources to /build/repo/server/target/scala-3.7.4/classes ...
201[info] done compiling
202[info] done compiling
203[info] compiling 5 Scala sources to /build/repo/openapi/target/scala-3.7.4/classes ...
204[info] compiling 3 Scala sources to /build/repo/client/implementation/jvm/target/scala-3.7.4/classes ...
205[info] [patched file /build/repo/client/implementation/jvm/src/main/scala/spice/http/client/JVMHttpClientInstance.scala]
206[info] [patched file /build/repo/client/implementation/jvm/src/main/scala/spice/http/client/JVMHttpClientWebSocket.scala]
207[info] done compiling
208[info] compiling 1 Scala source to /build/repo/client/implementation/jvm/target/scala-3.7.4/test-classes ...
209[info] done compiling
210[info] compiling 5 Scala sources to /build/repo/server/target/scala-3.7.4/test-classes ...
211[info] done compiling
212[info] compiling 4 Scala sources to /build/repo/openapi/target/scala-3.7.4/classes ...
213[info] done compiling
214[info] done compiling
215[info] compiling 5 Scala sources to /build/repo/openapi/target/scala-3.7.4/test-classes ...
216[info] done compiling
217[info] compiling 3 Scala sources to /build/repo/client/implementation/jvm/target/scala-3.7.4/classes ...
218[info] done compiling
219Starting build for ProjectRef(file:/build/repo/,clientImplementationOkHttp) (spice-client-okhttp)... [1/10]
220Compile scalacOptions: -rewrite, -Wconf:msg=can be rewritten automatically under:s, -source:3.7-migration
221[info] compiling 4 Scala sources to /build/repo/client/implementation/okhttp/target/scala-3.7.4/classes ...
222[info] done compiling
223[info] compiling 1 Scala source to /build/repo/client/implementation/okhttp/target/scala-3.7.4/test-classes ...
224[info] done compiling
225Starting build for ProjectRef(file:/build/repo/,clientImplementationJVM) (spice-client-jvm)... [2/10]
226Compile scalacOptions: -rewrite, -Wconf:msg=can be rewritten automatically under:s, -source:3.7-migration
227Starting build for ProjectRef(file:/build/repo/,root) (spice)... [3/10]
228Compile scalacOptions: -rewrite, -Wconf:msg=can be rewritten automatically under:s, -source:3.7-migration
229Starting build for ProjectRef(file:/build/repo/,coreJVM) (spice-core)... [4/10]
230Compile scalacOptions: -rewrite, -Wconf:msg=can be rewritten automatically under:s, -source:3.7-migration
231[info] compiling 7 Scala sources to /build/repo/core/jvm/target/scala-3.7.4/test-classes ...
2322025.12.04 15:54:38:631 pool-48-thread-7 WARN spice.net.EmailAddress.parse:52
233 Unrecognized email address: [test]
234[info] done compiling
235Starting build for ProjectRef(file:/build/repo/,clientImplementationNetty) (spice-client-netty)... [5/10]
236Compile scalacOptions: -rewrite, -Wconf:msg=can be rewritten automatically under:s, -source:3.7-migration
237[info] compiling 5 Scala sources to /build/repo/client/implementation/netty/target/scala-3.7.4/classes ...
238[info] [patched file /build/repo/client/implementation/netty/src/main/scala/spice/http/client/NettyHttpClientInstance.scala]
239[info] done compiling
240[info] compiling 1 Scala source to /build/repo/client/implementation/netty/target/scala-3.7.4/classes ...
241[info] done compiling
242[info] compiling 1 Scala source to /build/repo/client/implementation/netty/target/scala-3.7.4/test-classes ...
243[info] done compiling
244Starting build for ProjectRef(file:/build/repo/,delta) (spice-delta)... [6/10]
245Compile scalacOptions: -rewrite, -Wconf:msg=can be rewritten automatically under:s, -source:3.7-migration
246[info] compiling 1 Scala source to /build/repo/delta/target/scala-3.7.4/test-classes ...
247[info] done compiling
248Starting build for ProjectRef(file:/build/repo/,clientJVM) (spice-client)... [7/10]
249Compile scalacOptions: -rewrite, -Wconf:msg=can be rewritten automatically under:s, -source:3.7-migration
250Starting build for ProjectRef(file:/build/repo/,server) (spice-server)... [8/10]
251Compile scalacOptions: -rewrite, -Wconf:msg=can be rewritten automatically under:s, -source:3.7-migration
252Starting build for ProjectRef(file:/build/repo/,serverImplementationUndertow) (spice-server-undertow)... [9/10]
253Compile scalacOptions: -rewrite, -Wconf:msg=can be rewritten automatically under:s, -source:3.7-migration
254[info] compiling 5 Scala sources to /build/repo/server/implementation/undertow/target/scala-3.7.4/classes ...
255[info] done compiling
256[info] compiling 3 Scala sources to /build/repo/server/implementation/undertow/target/scala-3.7.4/test-classes ...
257[info] [patched file /build/repo/server/implementation/undertow/src/test/scala/spec/UndertowWebSocketSpec.scala]
258[info] done compiling
259[info] compiling 1 Scala source to /build/repo/server/implementation/undertow/target/scala-3.7.4/test-classes ...
260[info] done compiling
261
262************************
263Build summary:
264[{
265 "module": "spice-openapi",
266 "compile": {"status": "ok", "tookMs": 24221, "warnings": 2, "errors": 0, "sourceVersion": "3.7-migration"},
267 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
268 "test-compile": {"status": "ok", "tookMs": 8269, "warnings": 0, "errors": 0, "sourceVersion": "3.7-migration"},
269 "test": {"status": "skipped", "tookMs": 0, "passed": 0, "failed": 0, "ignored": 0, "skipped": 0, "total": 0, "byFramework": []},
270 "publish": {"status": "skipped", "tookMs": 0},
271 "metadata": {
272 "crossScalaVersions": ["2.13.17", "3.3.7"]
273}
274},{
275 "module": "spice-client-okhttp",
276 "compile": {"status": "ok", "tookMs": 599, "warnings": 0, "errors": 0, "sourceVersion": "3.7-migration"},
277 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
278 "test-compile": {"status": "ok", "tookMs": 947, "warnings": 0, "errors": 0, "sourceVersion": "3.7-migration"},
279 "test": {"status": "skipped", "tookMs": 0, "passed": 0, "failed": 0, "ignored": 0, "skipped": 0, "total": 0, "byFramework": []},
280 "publish": {"status": "skipped", "tookMs": 0},
281 "metadata": {
282 "crossScalaVersions": ["2.13.17", "3.3.7"]
283}
284},{
285 "module": "spice-client-jvm",
286 "compile": {"status": "ok", "tookMs": 109, "warnings": 0, "errors": 0, "sourceVersion": "3.7-migration"},
287 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
288 "test-compile": {"status": "ok", "tookMs": 138, "warnings": 0, "errors": 0, "sourceVersion": "3.7-migration"},
289 "test": {"status": "skipped", "tookMs": 0, "passed": 0, "failed": 0, "ignored": 0, "skipped": 0, "total": 0, "byFramework": []},
290 "publish": {"status": "skipped", "tookMs": 0},
291 "metadata": {
292 "crossScalaVersions": ["2.13.17", "3.3.7"]
293}
294},{
295 "module": "spice",
296 "compile": {"status": "ok", "tookMs": 45, "warnings": 0, "errors": 0, "sourceVersion": "3.7-migration"},
297 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
298 "test-compile": {"status": "ok", "tookMs": 68, "warnings": 0, "errors": 0, "sourceVersion": "3.7-migration"},
299 "test": {"status": "skipped", "tookMs": 0, "passed": 0, "failed": 0, "ignored": 0, "skipped": 0, "total": 0, "byFramework": []},
300 "publish": {"status": "skipped", "tookMs": 0},
301 "metadata": {
302 "crossScalaVersions": ["2.13.17", "3.3.7"]
303}
304},{
305 "module": "spice-core",
306 "compile": {"status": "ok", "tookMs": 39, "warnings": 0, "errors": 0, "sourceVersion": "3.7-migration"},
307 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
308 "test-compile": {"status": "ok", "tookMs": 1638, "warnings": 0, "errors": 0, "sourceVersion": "3.7-migration"},
309 "test": {"status": "skipped", "tookMs": 0, "passed": 0, "failed": 0, "ignored": 0, "skipped": 0, "total": 0, "byFramework": []},
310 "publish": {"status": "skipped", "tookMs": 0},
311 "metadata": {
312 "crossScalaVersions": ["2.13.17", "3.3.7"]
313}
314},{
315 "module": "spice-client-netty",
316 "compile": {"status": "ok", "tookMs": 737, "warnings": 0, "errors": 0, "sourceVersion": "3.7-migration"},
317 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
318 "test-compile": {"status": "ok", "tookMs": 1384, "warnings": 0, "errors": 0, "sourceVersion": "3.7-migration"},
319 "test": {"status": "skipped", "tookMs": 0, "passed": 0, "failed": 0, "ignored": 0, "skipped": 0, "total": 0, "byFramework": []},
320 "publish": {"status": "skipped", "tookMs": 0},
321 "metadata": {
322 "crossScalaVersions": ["2.13.17", "3.3.7"]
323}
324},{
325 "module": "spice-delta",
326 "compile": {"status": "ok", "tookMs": 85, "warnings": 0, "errors": 0, "sourceVersion": "3.7-migration"},
327 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
328 "test-compile": {"status": "ok", "tookMs": 598, "warnings": 0, "errors": 0, "sourceVersion": "3.7-migration"},
329 "test": {"status": "skipped", "tookMs": 0, "passed": 0, "failed": 0, "ignored": 0, "skipped": 0, "total": 0, "byFramework": []},
330 "publish": {"status": "skipped", "tookMs": 0},
331 "metadata": {
332 "crossScalaVersions": ["2.13.17", "3.3.7"]
333}
334},{
335 "module": "spice-client",
336 "compile": {"status": "ok", "tookMs": 83, "warnings": 0, "errors": 0, "sourceVersion": "3.7-migration"},
337 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
338 "test-compile": {"status": "ok", "tookMs": 127, "warnings": 0, "errors": 0, "sourceVersion": "3.7-migration"},
339 "test": {"status": "skipped", "tookMs": 0, "passed": 0, "failed": 0, "ignored": 0, "skipped": 0, "total": 0, "byFramework": []},
340 "publish": {"status": "skipped", "tookMs": 0},
341 "metadata": {
342 "crossScalaVersions": ["2.13.17", "3.3.7"]
343}
344},{
345 "module": "spice-server",
346 "compile": {"status": "ok", "tookMs": 141, "warnings": 0, "errors": 0, "sourceVersion": "3.7-migration"},
347 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
348 "test-compile": {"status": "ok", "tookMs": 239, "warnings": 0, "errors": 0, "sourceVersion": "3.7-migration"},
349 "test": {"status": "skipped", "tookMs": 0, "passed": 0, "failed": 0, "ignored": 0, "skipped": 0, "total": 0, "byFramework": []},
350 "publish": {"status": "skipped", "tookMs": 0},
351 "metadata": {
352 "crossScalaVersions": ["2.13.17", "3.3.7"]
353}
354},{
355 "module": "spice-server-undertow",
356 "compile": {"status": "ok", "tookMs": 896, "warnings": 0, "errors": 0, "sourceVersion": "3.7-migration"},
357 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
358 "test-compile": {"status": "ok", "tookMs": 1652, "warnings": 0, "errors": 0, "sourceVersion": "3.7-migration"},
359 "test": {"status": "skipped", "tookMs": 0, "passed": 0, "failed": 0, "ignored": 0, "skipped": 0, "total": 0, "byFramework": []},
360 "publish": {"status": "skipped", "tookMs": 0},
361 "metadata": {
362 "crossScalaVersions": ["2.13.17", "3.3.7"]
363}
364}]
365************************
366[success] Total time: 112 s (0:01:52.0), completed Dec 4, 2025, 3:55:12 PM
367[0JChecking patch project/plugins.sbt...
368Checking patch build.sbt...
369Applied patch project/plugins.sbt cleanly.
370Applied patch build.sbt cleanly.
371Commit migration rewrites
372Switched to a new branch 'opencb/migrate-source-3.7'
373[opencb/migrate-source-3.7 3cf00e5] Apply Scala compiler rewrites using -source:3.7-migration using Scala 3.7.4
374 16 files changed, 22 insertions(+), 22 deletions(-)
375----
376Preparing build for 3.8.0-RC3
377Scala binary version found: 3.8
378Implicitly using source version 3.8
379Scala binary version found: 3.8
380Implicitly using source version 3.8
381Would try to apply common scalacOption (best-effort, sbt/mill only):
382Append: ,REQUIRE:-source:3.8
383Remove: ,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
384
385Try apply source patch:
386Path: build.sbt
387Pattern: val scala3: String = "3.3.7"
388Replacement: val scala3: String = "3.8.0-RC3"
389WARNING: A terminally deprecated method in sun.misc.Unsafe has been called
390WARNING: sun.misc.Unsafe::objectFieldOffset has been called by scala.runtime.LazyVals$ (file:/root/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala3-library_3/3.7.3/scala3-library_3-3.7.3.jar)
391WARNING: Please consider reporting this to the maintainers of class scala.runtime.LazyVals$
392WARNING: sun.misc.Unsafe::objectFieldOffset will be removed in a future release
393Successfully applied pattern 'val scala3: String = "3.3.7"' in build.sbt
394----
395Starting build for 3.8.0-RC3
396Execute tests: true
397sbt project found:
398No prepare script found for project outr/spice
399##################################
400Scala version: 3.8.0-RC3
401Targets: com.outr%spice com.outr%spice-client com.outr%spice-client-jvm com.outr%spice-client-netty com.outr%spice-client-okhttp com.outr%spice-core com.outr%spice-delta com.outr%spice-openapi com.outr%spice-server com.outr%spice-server-undertow
402Project projectConfig: {"projects":{"exclude":[],"overrides":{}},"java":{"version":"25"},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"full","migrationVersions":["3.7"],"sourcePatches":[{"path":"build.sbt","pattern":"val scala3: String = \"3.3.7\"","replaceWith":"val scala3: String = \"<SCALA_VERSION>\""}]}
403##################################
404Using extra scalacOptions: ,REQUIRE:-source:3.8
405Filtering out scalacOptions: ,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
406[sbt_options] declare -a sbt_options=()
407[process_args] java_version = '25'
408[copyRt] java9_rt = '/root/.sbt/1.0/java9-rt-ext-eclipse_adoptium_25/rt.jar'
409# Executing command line:
410java
411-Dfile.encoding=UTF-8
412-Dcommunitybuild.scala=3.8.0-RC3
413-Dcommunitybuild.project.dependencies.add=
414-Xmx7G
415-Xms4G
416-Xss8M
417-Dsbt.script=/root/.sdkman/candidates/sbt/current/bin/sbt
418-Dscala.ext.dirs=/root/.sbt/1.0/java9-rt-ext-eclipse_adoptium_25
419-jar
420/root/.sdkman/candidates/sbt/1.11.5/bin/sbt-launch.jar
421"setCrossScalaVersions 3.8.0-RC3"
422"++3.8.0-RC3 -v"
423"mapScalacOptions ",REQUIRE:-source:3.8,-Wconf:msg=can be rewritten automatically under:s" ",-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e""
424"set every credentials := Nil"
425"excludeLibraryDependency com.github.ghik:zerowaste_{scalaVersion} com.olegpy:better-monadic-for_3 org.polyvariant:better-tostring_{scalaVersion} org.wartremover:wartremover_{scalaVersion}"
426"removeScalacOptionsStartingWith -P:wartremover"
427
428moduleMappings
429"runBuild 3.8.0-RC3 """{"projects":{"exclude":[],"overrides":{}},"java":{"version":"25"},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"full","migrationVersions":["3.7"],"sourcePatches":[{"path":"build.sbt","pattern":"val scala3: String = \"3.3.7\"","replaceWith":"val scala3: String = \"<SCALA_VERSION>\""}]}""" com.outr%spice com.outr%spice-client com.outr%spice-client-jvm com.outr%spice-client-netty com.outr%spice-client-okhttp com.outr%spice-core com.outr%spice-delta com.outr%spice-openapi com.outr%spice-server com.outr%spice-server-undertow"
430
431WARNING: A terminally deprecated method in sun.misc.Unsafe has been called
432WARNING: sun.misc.Unsafe::arrayBaseOffset has been called by net.openhft.hashing.UnsafeAccess (file:/root/.sbt/boot/scala-2.12.20/org.scala-sbt/sbt/1.11.7/zero-allocation-hashing-0.16.jar)
433WARNING: Please consider reporting this to the maintainers of class net.openhft.hashing.UnsafeAccess
434WARNING: sun.misc.Unsafe::arrayBaseOffset will be removed in a future release
435WARNING: A restricted method in java.lang.System has been called
436WARNING: java.lang.System::load has been called by com.sun.jna.Native in an unnamed module (file:/root/.sbt/boot/scala-2.12.20/org.scala-sbt/sbt/1.11.7/jna-5.12.0.jar)
437WARNING: Use --enable-native-access=ALL-UNNAMED to avoid a warning for callers in this module
438WARNING: Restricted methods will be blocked in a future release unless native access is enabled
439
440[info] welcome to sbt 1.11.7 (Eclipse Adoptium Java 25)
441[info] loading settings for project repo-build from akka.sbt, plugins.sbt...
442[info] loading project definition from /build/repo/project
443[info] loading settings for project root from build.sbt...
444[info] resolving key references (10786 settings) ...
445[info] set current project to spice (in build file:/build/repo/)
446Execute setCrossScalaVersions: 3.8.0-RC3
447OpenCB::Changing crossVersion 3.8.0-RC3 -> 3.8.0-RC3 in server/crossScalaVersions
448OpenCB::Changing crossVersion 3.8.0-RC3 -> 3.8.0-RC3 in clientJVM/crossScalaVersions
449OpenCB::Changing crossVersion 3.8.0-RC3 -> 3.8.0-RC3 in coreJVM/crossScalaVersions
450OpenCB::Changing crossVersion 3.8.0-RC3 -> 3.8.0-RC3 in clientImplementationJVM/crossScalaVersions
451OpenCB::Changing crossVersion 3.8.0-RC3 -> 3.8.0-RC3 in coreJS/crossScalaVersions
452OpenCB::Changing crossVersion 3.8.0-RC3 -> 3.8.0-RC3 in clientImplementationOkHttp/crossScalaVersions
453OpenCB::Changing crossVersion 3.8.0-RC3 -> 3.8.0-RC3 in clientJS/crossScalaVersions
454OpenCB::Changing crossVersion 3.8.0-RC3 -> 3.8.0-RC3 in clientImplementationNetty/crossScalaVersions
455OpenCB::Changing crossVersion 3.8.0-RC3 -> 3.8.0-RC3 in root/crossScalaVersions
456OpenCB::Changing crossVersion 3.8.0-RC3 -> 3.8.0-RC3 in serverImplementationUndertow/crossScalaVersions
457OpenCB::Changing crossVersion 3.8.0-RC3 -> 3.8.0-RC3 in openAPI/crossScalaVersions
458OpenCB::Changing crossVersion 3.8.0-RC3 -> 3.8.0-RC3 in delta/crossScalaVersions
459[info] set current project to spice (in build file:/build/repo/)
460[info] Setting Scala version to 3.8.0-RC3 on 12 projects.
461[info] Switching Scala version on:
462[info] server (2.13.17, 3.8.0-RC3)
463[info] openAPI (2.13.17, 3.8.0-RC3)
464[info] * root (2.13.17, 3.8.0-RC3)
465[info] clientJS (2.13.17, 3.8.0-RC3)
466[info] clientImplementationNetty (2.13.17, 3.8.0-RC3)
467[info] clientJVM (2.13.17, 3.8.0-RC3)
468[info] coreJS (2.13.17, 3.8.0-RC3)
469[info] clientImplementationOkHttp (2.13.17, 3.8.0-RC3)
470[info] coreJVM (2.13.17, 3.8.0-RC3)
471[info] delta (2.13.17, 3.8.0-RC3)
472[info] serverImplementationUndertow (2.13.17, 3.8.0-RC3)
473[info] clientImplementationJVM (2.13.17, 3.8.0-RC3)
474[info] Excluding projects:
475[info] Reapplying settings...
476[info] set current project to spice (in build file:/build/repo/)
477Execute mapScalacOptions: ,REQUIRE:-source:3.8,-Wconf:msg=can be rewritten automatically under:s ,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
478[info] Reapplying settings...
479[info] set current project to spice (in build file:/build/repo/)
480[info] Defining Global / credentials, clientImplementationJVM / credentials and 10 others.
481[info] The new values will be used by Global / pgpSelectPassphrase, Global / pgpSigningKey and 59 others.
482[info] Run `last` for details.
483[info] Reapplying settings...
484[info] set current project to spice (in build file:/build/repo/)
485Execute excludeLibraryDependency: com.github.ghik:zerowaste_{scalaVersion} com.olegpy:better-monadic-for_3 org.polyvariant:better-tostring_{scalaVersion} org.wartremover:wartremover_{scalaVersion}
486[info] Reapplying settings...
487OpenCB::Failed to reapply settings in excludeLibraryDependency: Reference to undefined setting:
488
489 Global / allExcludeDependencies from Global / allExcludeDependencies (CommunityBuildPlugin.scala:331)
490 Did you mean allExcludeDependencies ?
491 , retry without global scopes
492[info] Reapplying settings...
493[info] set current project to spice (in build file:/build/repo/)
494Execute removeScalacOptionsStartingWith: -P:wartremover
495[info] Reapplying settings...
496[info] set current project to spice (in build file:/build/repo/)
497[success] Total time: 0 s, completed Dec 4, 2025, 3:55:28 PM
498Build config: {"projects":{"exclude":[],"overrides":{}},"java":{"version":"25"},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"full","migrationVersions":["3.7"],"sourcePatches":[{"path":"build.sbt","pattern":"val scala3: String = \"3.3.7\"","replaceWith":"val scala3: String = \"<SCALA_VERSION>\""}]}
499Parsed config: Success(ProjectBuildConfig(ProjectsConfig(List(),Map()),Full,List()))
500Starting build...
501Projects: Set(server, openAPI, root, clientImplementationNetty, clientJVM, clientImplementationOkHttp, coreJVM, delta, serverImplementationUndertow, clientImplementationJVM)
502Starting build for ProjectRef(file:/build/repo/,openAPI) (spice-openapi)... [0/10]
503OpenCB::Exclude Scala3 specific scalacOption `REQUIRE:-source:3.8` in Scala 2.12.20 module Global
504OpenCB::Filter out '-deprecation', matches setting pattern '^-?-deprecation'
505Compile scalacOptions: -Wconf:msg=can be rewritten automatically under:s, -source:3.8
506[info] compiling 92 Scala sources to /build/repo/core/jvm/target/scala-3.8.0-RC3/classes ...
507[info] done compiling
508[info] compiling 22 Scala sources to /build/repo/delta/target/scala-3.8.0-RC3/classes ...
509[info] done compiling
510[info] compiling 49 Scala sources to /build/repo/server/target/scala-3.8.0-RC3/classes ...
511[info] done compiling
512[info] compiling 29 Scala sources to /build/repo/openapi/target/scala-3.8.0-RC3/classes ...
513[warn] -- [E029] Pattern Match Exhaustivity Warning: /build/repo/openapi/src/main/scala/spice/openapi/generator/dart/OpenAPIDartGenerator.scala:30:24
514[warn] 30 | api.componentByRef(s) match {
515[warn] | ^^^^^^^^^^^^^^^^^^^^^
516[warn] |match may not be exhaustive.
517[warn] |
518[warn] |It would fail on pattern case: Some(_: spice.openapi.OpenAPISchema.MultiSchema)
519[warn] |
520[warn] | longer explanation available when compiling with `-explain`
521[warn] -- [E029] Pattern Match Exhaustivity Warning: /build/repo/openapi/src/main/scala/spice/openapi/generator/dart/OpenAPIDartGenerator.scala:548:20
522[warn] 548 | case ref: OpenAPISchema.Ref => ref.ref.ref2Type
523[warn] | ^
524[warn] |match may not be exhaustive.
525[warn] |
526[warn] |It would fail on pattern case: _: spice.openapi.OpenAPISchema.MultiSchema, spice.openapi.OpenAPISchema.Not(_, _)
527[warn] |
528[warn] | longer explanation available when compiling with `-explain`
529[warn] two warnings found
530[info] done compiling
531[info] compiling 17 Scala sources to /build/repo/client/jvm/target/scala-3.8.0-RC3/classes ...
532[info] done compiling
533[info] compiling 3 Scala sources to /build/repo/client/implementation/jvm/target/scala-3.8.0-RC3/classes ...
534[info] done compiling
535[info] compiling 1 Scala source to /build/repo/client/implementation/jvm/target/scala-3.8.0-RC3/test-classes ...
536[info] done compiling
537[info] compiling 5 Scala sources to /build/repo/server/target/scala-3.8.0-RC3/test-classes ...
538[info] done compiling
539[info] compiling 5 Scala sources to /build/repo/openapi/target/scala-3.8.0-RC3/test-classes ...
540[info] done compiling
541WARNING: A terminally deprecated method in sun.misc.Unsafe has been called
542WARNING: sun.misc.Unsafe::objectFieldOffset has been called by scala.runtime.LazyVals$ (file:/root/.cache/coursier/v1/https/repo.scala-lang.org/artifactory/maven-nightlies/org/scala-lang/scala3-library_3/3.8.0-RC3/scala3-library_3-3.8.0-RC3.jar)
543WARNING: Please consider reporting this to the maintainers of class scala.runtime.LazyVals$
544WARNING: sun.misc.Unsafe::objectFieldOffset will be removed in a future release
545[info] OpenAPIServerSpec:
546[info] OpenAPIServer
547[info] - should initialize the server (169 milliseconds)
548[info] - should validate a proper swagger.yml file (326 milliseconds)
549[info] - should call the /users endpoint on api.example.com (64 milliseconds)
550[info] - should call the /users endpoint on staging-api.example.com (3 milliseconds)
551[info] OpenAPIHttpServerSpec:
552[info] OpenAPIHttpServer
553openapi: '3.0.3'
554info:
555 title: 'Example Server'
556 version: '1.0'
557servers:
558 - url: 'http://127.0.0.1:8080/'
559 - url: 'https://127.0.0.1'
560paths:
561 /reverse:
562 post:
563 summary: 'Reverses text'
564 description: 'Reverses text'
565 requestBody:
566 required: true
567 content:
568 application/json:
569 schema:
570 $ref: '#/components/schemas/ReverseRequest'
571 responses:
572 200:
573 description: 'OK'
574 content:
575 application/json:
576 schema:
577 $ref: '#/components/schemas/ReverseResponse'
578 /combine:
579 post:
580 summary: 'Combines the values of an enum'
581 description: 'Combines the values of an enum'
582 requestBody:
583 required: true
584 content:
585 application/json:
586 schema:
587 $ref: '#/components/schemas/CombineRequest'
588 responses:
589 200:
590 description: 'OK'
591 content:
592 application/json:
593 schema:
594 $ref: '#/components/schemas/CombineResponse'
595 /upload:
596 post:
597 summary: 'Uploads a file'
598 description: 'Uploads a file'
599 requestBody:
600 required: true
601 content:
602 multipart/form-data:
603 schema:
604 type: 'object'
605 properties:
606 userId:
607 type: 'string'
608 file:
609 type: 'string'
610 format: 'binary'
611 xFullClass: 'spec.OpenAPIHttpServerSpec.FileUploadRequest'
612 responses:
613 200:
614 description: 'OK'
615 content:
616 application/json:
617 schema:
618 $ref: '#/components/schemas/FileUploadResponse'
619components:
620 schemas:
621 Auth:
622 type: 'object'
623 properties:
624 username:
625 type: 'string'
626 password:
627 type: 'string'
628 xFullClass: 'spec.OpenAPIHttpServerSpec.Auth'
629 CombineRequest:
630 type: 'object'
631 properties:
632 auth:
633 $ref: '#/components/schemas/Auth'
634 map:
635 type: 'object'
636 additionalProperties:
637 $ref: '#/components/schemas/NumEnum'
638 xFullClass: 'spec.OpenAPIHttpServerSpec.CombineRequest'
639 CombineResponse:
640 type: 'object'
641 properties:
642 list:
643 type: 'array'
644 items:
645 $ref: '#/components/schemas/NumEnum'
646 error:
647 type: 'string'
648 nullable: true
649 xFullClass: 'spec.OpenAPIHttpServerSpec.CombineResponse'
650 FileUploadResponse:
651 type: 'object'
652 properties:
653 userId:
654 type: 'string'
655 length:
656 type: 'integer'
657 xFullClass: 'spec.OpenAPIHttpServerSpec.FileUploadResponse'
658 NumEnum:
659 type: 'string'
660 description: 'spec.OpenAPIHttpServerSpec.NumEnum'
661 enum:
662 - 'One'
663 - 'Two'
664 - 'Three'
665 xFullClass: 'spec.OpenAPIHttpServerSpec.NumEnum'
666 ReverseRequest:
667 type: 'object'
668 properties:
669 auth:
670 $ref: '#/components/schemas/Auth'
671 text:
672 type: 'string'
673 xFullClass: 'spec.OpenAPIHttpServerSpec.ReverseRequest'
674 ReverseResponse:
675 type: 'object'
676 properties:
677 text:
678 type: 'string'
679 nullable: true
680 error:
681 type: 'string'
682 nullable: true
683 xFullClass: 'spec.OpenAPIHttpServerSpec.ReverseResponse'
684[info] - should verify the YAML generated is correct (75 milliseconds)
685[info] - should generate Dart code for the server (41 milliseconds)
686[info] OpenAPIServerAdvancedSpec:
687[info] OpenAPIServer Advanced
688[info] - should validate a proper swagger.yml file (17 milliseconds)
689[info] OpenAPISpec:
690[info] OpenAPI Generation
691[info] - should create a minimal OpenAPI document manually (2 milliseconds)
692[info] - should create a simple OpenAPI document manually (4 milliseconds)
693[info] - should create a simple OpenAPI document manually using oneOf (5 milliseconds)
694[info] - should create a tic tac toe example manually (11 milliseconds)
695[info] OpenAPIDartGeneratorSpec:
696[info] OpenAPIDartGenerator
697[info] - should generate Dart code for the server (15 milliseconds)
698[info] - should not generate Dart files for primitive types without additional properties (5 milliseconds)
699[info] - should handle schema named 'string' correctly (1 millisecond)
700Starting build for ProjectRef(file:/build/repo/,clientImplementationOkHttp) (spice-client-okhttp)... [1/10]
701Compile scalacOptions: -Wconf:msg=can be rewritten automatically under:s, -source:3.8
702[info] compiling 4 Scala sources to /build/repo/client/implementation/okhttp/target/scala-3.8.0-RC3/classes ...
703[info] done compiling
704[info] compiling 1 Scala source to /build/repo/client/implementation/okhttp/target/scala-3.8.0-RC3/test-classes ...
705[info] done compiling
706[info] OkHttpClientSpec:
707[info] OkHttpClient
708[info] - should load Moduload (18 milliseconds)
709[info] - should be the default implementation (57 milliseconds)
710[info] - should GET the user-agent (22 milliseconds)
711[info] - should call a URL multiple times with a rate limiter (2 milliseconds)
712[info] - should call a URL and get a case class back (3 milliseconds)
713[info] - should restful call to a URL (63 milliseconds)
714[info] - should call a URL and get an image back (1 millisecond)
715Starting build for ProjectRef(file:/build/repo/,clientImplementationJVM) (spice-client-jvm)... [2/10]
716Compile scalacOptions: -Wconf:msg=can be rewritten automatically under:s, -source:3.8
717[info] JVMHttpClientSpec:
718[info] JVMHttpClient
719[info] - should load Moduload (9 milliseconds)
720[info] - should be the default implementation (21 milliseconds)
721[info] - should GET the user-agent (11 milliseconds)
722[info] - should call a URL multiple times with a rate limiter (2 milliseconds)
723[info] - should call a URL and get a case class back (2 milliseconds)
724[info] - should restful call to a URL (43 milliseconds)
725[info] - should call a URL and get an image back (1 millisecond)
726Starting build for ProjectRef(file:/build/repo/,root) (spice)... [3/10]
727Compile scalacOptions: -Wconf:msg=can be rewritten automatically under:s, -source:3.8
728Starting build for ProjectRef(file:/build/repo/,coreJVM) (spice-core)... [4/10]
729Compile scalacOptions: -Wconf:msg=can be rewritten automatically under:s, -source:3.8
730[info] compiling 7 Scala sources to /build/repo/core/jvm/target/scala-3.8.0-RC3/test-classes ...
7312025.12.04 15:56:23:095 pool-55-thread-5 WARN spice.net.EmailAddress.parse:52
732 Unrecognized email address: [test]
733[info] done compiling
734[info] CookieSpec:
735[info] Cookies
736[info] when parsing
737[info] - should support a single entry (14 milliseconds)
738[info] - should support two entries (1 millisecond)
739[info] - should support a poorly processed value (1 millisecond)
740[info] URLPathSpec:
741[info] Path
742[info] - should interpolate a simple path (15 milliseconds)
743[info] - should interpolate with up-level and same-level (1 millisecond)
744[info] - should verify path argument matching (3 milliseconds)
745[info] - should verify partial path argument matching (1 millisecond)
746[info] - should verify a slightly more complex path with argument (3 milliseconds)
747[info] - should validate a complex encoded path (4 milliseconds)
748[info] EmailAddressSpec:
749[info] EmailAddress
750[info] when validating
751[info] - should parse simple@example.com (14 milliseconds)
752[info] - should parse SIMPLE@ExAmPlE.com (1 millisecond)
753[info] - should parse SI(a comment)MPLE+test@ExAm{another comment}PlE.com (1 millisecond)
754[info] - should parse an email address via interpolation (1 millisecond)
755[info] - should fail to compile with invalid email address interpolation (0 milliseconds)
756[info] PortSpec:
757[info] Port
758[info] - should validate 8080 via interpolation (2 milliseconds)
759[info] - should fail validation of -1 via interpolation (0 milliseconds)
760[info] - should fail validation of 100000 via interpolation (0 milliseconds)
761[info] - should convert to JSON (2 milliseconds)
762[info] - should convert from JSON (1 millisecond)
763[info] IPSpec:
764[info] IP
765[info] - should validate 127.0.0.1 via interpolation (14 milliseconds)
766[info] - should fail interpolation of 127.0.0.1.2 (1 millisecond)
767[info] - should fail interpolation of 300.0.0.1 (0 milliseconds)
768[info] - should convert to JSON (7 milliseconds)
769[info] - should convert from JSON (3 milliseconds)
770[info] should parsing IPv4 addresses
771[info] - should properly parse 127.0.01 (1 millisecond)
772[info] - should properly parse 1.2.3.4 (1 millisecond)
773[info] - should resolve None for 256.0.0.1 (1 millisecond)
774[info] should parsing IPv6 addresses
775[info] - should properly parse fe80:0:0:0:0:0:0:1%1 (3 milliseconds)
776[info] - should properly parse 2604:ca00:129:99af::860:930a (4 milliseconds)
777[info] - should properly parse 0:0:0:0:0:0:0:0 (0 milliseconds)
778[info] ContentTypeSpec:
779[info] ContentType
780[info] - should parse a massive type (40 milliseconds)
781[info] - should parse a simple type with dual semi-colons (1 millisecond)
782[info] URLSpec:
783[info] URL
784[info] when parsing
785[info] - should properly parse a simple URL (0 milliseconds)
786[info] - should properly parse a URL with GET params (1 millisecond)
787[info] - should properly parse an IP address with a ? on the end (1 millisecond)
788[info] - should property parse an IPv6 url (1 millisecond)
789[info] - should quick fail parsing a non-URL (1 millisecond)
790[info] - should fail to parse an email address (0 milliseconds)
791[info] - should fail to parse 'it...' (1 millisecond)
792[info] - should fail to parse 'it.' (0 milliseconds)
793[info] - should fail to parse ':smile' (0 milliseconds)
794[info] - should test (4 milliseconds)
795[info] - should properly parse a simple URL with key-only param (1 millisecond)
796[info] - should properly parse a simple HTTPS URL (0 milliseconds)
797[info] - should properly parse a simple file URL (2 milliseconds)
798[info] - should properly parse a URL without the protocol defined (6 milliseconds)
799[info] - should properly parse a URL with just the domain name (0 milliseconds)
800[info] - should properly parse a fairly long URL (0 milliseconds)
801[info] - should properly detect an invalid TLD (0 milliseconds)
802[info] - should properly unapply from a String (0 milliseconds)
803[info] - should properly parse a URL with two for the same key (1 millisecond)
804[info] - should properly parse a URL with some crazy characters (2 milliseconds)
805[info] - should properly encode a URL with a pipe (1 millisecond)
806[info] - should properly parse a relative URL (0 milliseconds)
807[info] - should properly parse a relative URL with invalid higher level (0 milliseconds)
808[info] - should properly parse a relative URL with multiple higher levels (0 milliseconds)
809[info] - should apply a relative URL to an existing URL (1 millisecond)
810[info] - should apply an absolute path to an existing path (1 millisecond)
811[info] - should apply a full part to an existing URL (1 millisecond)
812[info] - should apply a relative path as a part to an existing URL (0 milliseconds)
813[info] - should properly parse an extremely long URL and spit it back syntactically equal (1 millisecond)
814[info] - should properly create a decoded URL and encode it (1 millisecond)
815[info] - should properly parse a URL with an encoded path and decode it (1 millisecond)
816[info] - should properly parse a URL with a + (0 milliseconds)
817[info] - should properly parse a URL with regex interference (1 millisecond)
818[info] - should properly interpolate a URL (0 milliseconds)
819[info] - should properly parse a URL with IPv6 (0 milliseconds)
820[info] - should properly parse a URL with a colon (1 millisecond)
821[info] - should fail to parse an invalid URL (1 millisecond)
822[info] - should fail to compile when interpolating a URL with a param (0 milliseconds)
823[info] - should fail to compile an invalid URL (0 milliseconds)
824[info] when applying parts
825[info] - should replace one URL with another (0 milliseconds)
826[info] - should replace the path (0 milliseconds)
827[info] - should replace params (1 millisecond)
828[info] - should replace the path and params (1 millisecond)
829[info] - should apply relative path (0 milliseconds)
830[info] - should apply a new path without forward-slash (1 millisecond)
831[info] when encoding to path
832[info] - should apply a complete path properly (0 milliseconds)
833[info] - should apply a complete path with port properly (1 millisecond)
834[info] - should should handle commas (0 milliseconds)
835[info] - should use a URL with a colon in the path (0 milliseconds)
836Starting build for ProjectRef(file:/build/repo/,clientImplementationNetty) (spice-client-netty)... [5/10]
837Compile scalacOptions: -Wconf:msg=can be rewritten automatically under:s, -source:3.8
838[info] compiling 5 Scala sources to /build/repo/client/implementation/netty/target/scala-3.8.0-RC3/classes ...
839[info] done compiling
840[info] compiling 1 Scala source to /build/repo/client/implementation/netty/target/scala-3.8.0-RC3/test-classes ...
841[info] done compiling
842[info] NettyHttpClientSpec:
843[info] NettyHttpClient
844[info] - should load Moduload (8 milliseconds)
845[info] - should be the default implementation (21 milliseconds)
846[info] - should GET the user-agent (12 milliseconds)
847[info] - should call a URL multiple times with a rate limiter (2 milliseconds)
848[info] - should call a URL and get a case class back (2 milliseconds)
849[info] - should restful call to a URL (38 milliseconds)
850[info] - should call a URL and get an image back (1 millisecond)
851[info] - should download a large HTTPS file and stream to disk (1 millisecond)
852Starting build for ProjectRef(file:/build/repo/,delta) (spice-delta)... [6/10]
853Compile scalacOptions: -Wconf:msg=can be rewritten automatically under:s, -source:3.8
854[info] compiling 1 Scala source to /build/repo/delta/target/scala-3.8.0-RC3/test-classes ...
855[info] done compiling
8562025.12.04 15:56:28:352 pool-77-thread-7-ScalaTest-running-TemplateGeneratorSpec INFO spec.TemplateGeneratorSpec.result:31
857 Tag: Open(h1,Map(data-spice -> object, id -> heading),29,66,Some(Close(h1,73,78))), Content: <h1 data-spice="object" id="heading">Heading</h1>, Type: object, Class: heading
858 Tag: Open(li,Map(data-spice -> class, data-spice-class -> listItem, id -> entry),85,147,Some(Close(li,152,157))), Content: <li data-spice="class" data-spice-class="listItem" id="entry">Entry</li>, Type: class, Class: listItem
859[info] TemplateGeneratorSpec:
860[info] TemplateGenerator
861[info] - should generate source from a simple HTML file (85 milliseconds)
862Starting build for ProjectRef(file:/build/repo/,clientJVM) (spice-client)... [7/10]
863Compile scalacOptions: -Wconf:msg=can be rewritten automatically under:s, -source:3.8
864Starting build for ProjectRef(file:/build/repo/,server) (spice-server)... [8/10]
865Compile scalacOptions: -Wconf:msg=can be rewritten automatically under:s, -source:3.8
866WARNING: A terminally deprecated method in sun.misc.Unsafe has been called
867WARNING: sun.misc.Unsafe::objectFieldOffset has been called by scala.runtime.LazyVals$ (file:/root/.cache/coursier/v1/https/repo.scala-lang.org/artifactory/maven-nightlies/org/scala-lang/scala3-library_3/3.8.0-RC3/scala3-library_3-3.8.0-RC3.jar)
868WARNING: Please consider reporting this to the maintainers of class scala.runtime.LazyVals$
869WARNING: sun.misc.Unsafe::objectFieldOffset will be removed in a future release
870[info] ServerDSLSpec:
871[info] Server DSL
872[info] when creating a simple handler with MutableHttpServer
873[info] - should properly accept a request for /hello/world.txt (210 milliseconds)
874[info] - should properly accept a request for /hello/world.html (3 milliseconds)
875[info] - should properly return a 404 for /hello/other.html (8 milliseconds)
876[info] - should properly return a 404 for a POST (2 milliseconds)
877[info] - should reject a request from a different origin IP (3 milliseconds)
878[info] when creating a HttpServer directly
879[info] - should match a simple GET (4 milliseconds)
880[info] - should match a simple POST (2 milliseconds)
881[info] - should match not-found (3 milliseconds)
882[info] when specific testing with filters
883[info] - should properly process the first path (33 milliseconds)
884[info] - should properly fall through to the second path (2 milliseconds)
885WARNING: A terminally deprecated method in sun.misc.Unsafe has been called
886WARNING: sun.misc.Unsafe::objectFieldOffset has been called by scala.runtime.LazyVals$ (file:/root/.cache/coursier/v1/https/repo.scala-lang.org/artifactory/maven-nightlies/org/scala-lang/scala3-library_3/3.8.0-RC3/scala3-library_3-3.8.0-RC3.jar)
887WARNING: Please consider reporting this to the maintainers of class scala.runtime.LazyVals$
888WARNING: sun.misc.Unsafe::objectFieldOffset will be removed in a future release
889[info] RestfulSpec:
890[info] Restful
891[info] when working with GET parameters
892[info] - should convert dot-separated values properly (85 milliseconds)
893WARNING: A terminally deprecated method in sun.misc.Unsafe has been called
894WARNING: sun.misc.Unsafe::objectFieldOffset has been called by scala.runtime.LazyVals$ (file:/root/.cache/coursier/v1/https/repo.scala-lang.org/artifactory/maven-nightlies/org/scala-lang/scala3-library_3/3.8.0-RC3/scala3-library_3-3.8.0-RC3.jar)
895WARNING: Please consider reporting this to the maintainers of class scala.runtime.LazyVals$
896WARNING: sun.misc.Unsafe::objectFieldOffset will be removed in a future release
897[info] ServerSpec:
898[info] TestHttpApplication
899[info] - should configure the TestServer (84 milliseconds)
900[info] - should configure Restful endpoints (25 milliseconds)
901[info] - should receive OK for test.html (106 milliseconds)
902[info] - should receive NotFound for other.html (7 milliseconds)
903[info] - should reverse a String with the Restful endpoint via POST (72 milliseconds)
904[info] - should reverse a String with the Restful endpoint via GET (8 milliseconds)
905[info] - should reverse a String with the Restful endpoint via GET with path-based arg (3 milliseconds)
9062025.12.04 15:56:32:580 pool-1-thread-1-ScalaTest-running-ServerSpec WARN spice.http.server.handler.LifecycleHandler.throwable2Content:81
907 http://localhost/test/reverse/info failed with Info Test - /build/repo/server/src/test/scala/spec/ServerSpec.scala:181 (spec.ServerSpec#ReverseService.apply result)
908[info] - should reverse a String with an informational error (99 milliseconds)
909 http://localhost/test/reverse/warn failed with Warn Test - /build/repo/server/src/test/scala/spec/ServerSpec.scala:182 (spec.ServerSpec#ReverseService.apply result)
910[info] - should reverse a String with an warn error (3 milliseconds)
9112025.12.04 15:56:32:643 pool-1-thread-1-ScalaTest-running-ServerSpec ERROR spice.http.server.handler.LifecycleHandler.throwable2Content:82
912 http://localhost/test/reverse/error failed with Error Test - /build/repo/server/src/test/scala/spec/ServerSpec.scala:183 (spec.ServerSpec#ReverseService.apply result)
913 spice.UserException: Error Test
914 at spice.UserException$.apply(UserException.scala:27)
915 at spec.ServerSpec#ReverseService.apply.<task>(ServerSpec.scala:187)
916 at spec.ServerSpec$ReverseService$.apply$$anonfun$1(ServerSpec.scala:183)
917 at rapid.fiber.SynchronousFiber.handle$1(SynchronousFiber.scala:47)
918 at rapid.fiber.SynchronousFiber.execute(SynchronousFiber.scala:78)
919 at rapid.fiber.SynchronousFiber.<init>(SynchronousFiber.scala:96)
920 at rapid.fiber.SynchronousFiber$.apply(SynchronousFiber.scala:10)
921 at rapid.Task.exec(Task.scala:25)
922 at rapid.Task.exec$(Task.scala:20)
923 at rapid.task.Suspend.exec(Suspend.scala:6)
924 at rapid.Task.sync(Task.scala:351)
925 at rapid.Task.sync$(Task.scala:20)
926 at rapid.task.Suspend.sync(Suspend.scala:6)
927 at rapid.Task.attempt$$anonfun$1$$anonfun$1(Task.scala:310)
928 at scala.util.Try$.apply(Try.scala:218)
929 at rapid.Task.attempt$$anonfun$1(Task.scala:310)
930 at rapid.fiber.SynchronousFiber.handle$1(SynchronousFiber.scala:47)
931 at rapid.fiber.SynchronousFiber.execute(SynchronousFiber.scala:78)
932 at rapid.fiber.SynchronousFiber.<init>(SynchronousFiber.scala:96)
933 at rapid.fiber.SynchronousFiber$.apply(SynchronousFiber.scala:10)
934 at rapid.Task.exec(Task.scala:25)
935 at rapid.Task.exec$(Task.scala:20)
936 at rapid.task.FlatMap.exec(FlatMap.scala:6)
937 at rapid.Task.sync(Task.scala:351)
938 at rapid.Task.sync$(Task.scala:20)
939 at rapid.task.FlatMap.sync(FlatMap.scala:6)
940 at rapid.Task.attempt$$anonfun$1$$anonfun$1(Task.scala:310)
941 at scala.util.Try$.apply(Try.scala:218)
942 at rapid.Task.attempt$$anonfun$1(Task.scala:310)
943 at rapid.fiber.SynchronousFiber.handle$1(SynchronousFiber.scala:47)
944 at rapid.fiber.SynchronousFiber.execute(SynchronousFiber.scala:78)
945 at rapid.fiber.SynchronousFiber.<init>(SynchronousFiber.scala:96)
946 at rapid.fiber.SynchronousFiber$.apply(SynchronousFiber.scala:10)
947 at rapid.Task.exec(Task.scala:25)
948 at rapid.Task.exec$(Task.scala:20)
949 at rapid.task.FlatMap.exec(FlatMap.scala:6)
950 at rapid.Task.sync(Task.scala:351)
951 at rapid.Task.sync$(Task.scala:20)
952 at rapid.task.FlatMap.sync(FlatMap.scala:6)
953 at spec.ServerSpec.f$proxy10$1(ServerSpec.scala:133)
954 at spec.ServerSpec.$init$$$anonfun$1$$anonfun$10(ServerSpec.scala:121)
955 at org.scalatest.Transformer.apply$$anonfun$1(Transformer.scala:22)
956 at org.scalatest.OutcomeOf.outcomeOf(OutcomeOf.scala:85)
957 at org.scalatest.OutcomeOf.outcomeOf$(OutcomeOf.scala:31)
958 at org.scalatest.OutcomeOf$.outcomeOf(OutcomeOf.scala:104)
959 at org.scalatest.Transformer.apply(Transformer.scala:22)
960 at org.scalatest.Transformer.apply(Transformer.scala:21)
961 at org.scalatest.wordspec.AnyWordSpecLike$$anon$3.apply(AnyWordSpecLike.scala:1118)
962 at org.scalatest.TestSuite.withFixture(TestSuite.scala:196)
963 at org.scalatest.TestSuite.withFixture$(TestSuite.scala:138)
964 at org.scalatest.wordspec.AnyWordSpec.withFixture(AnyWordSpec.scala:1879)
965 at org.scalatest.wordspec.AnyWordSpecLike.invokeWithFixture$1(AnyWordSpecLike.scala:1124)
966 at org.scalatest.wordspec.AnyWordSpecLike.runTest$$anonfun$1(AnyWordSpecLike.scala:1128)
967 at org.scalatest.SuperEngine.runTestImpl(Engine.scala:306)
968 at org.scalatest.wordspec.AnyWordSpecLike.runTest(AnyWordSpecLike.scala:1128)
969 at org.scalatest.wordspec.AnyWordSpecLike.runTest$(AnyWordSpecLike.scala:44)
970 at org.scalatest.wordspec.AnyWordSpec.runTest(AnyWordSpec.scala:1879)
971 at org.scalatest.wordspec.AnyWordSpecLike.runTests$$anonfun$1(AnyWordSpecLike.scala:1187)
972 at org.scalatest.SuperEngine.traverseSubNodes$1$$anonfun$1(Engine.scala:413)
973 at scala.runtime.function.JProcedure1.apply(JProcedure1.java:15)
974 at scala.runtime.function.JProcedure1.apply(JProcedure1.java:10)
975 at scala.collection.immutable.List.foreach(List.scala:327)
976 at org.scalatest.SuperEngine.traverseSubNodes$1(Engine.scala:429)
977 at org.scalatest.SuperEngine.runTestsInBranch(Engine.scala:390)
978 at org.scalatest.SuperEngine.traverseSubNodes$1$$anonfun$1(Engine.scala:427)
979 at scala.runtime.function.JProcedure1.apply(JProcedure1.java:15)
980 at scala.runtime.function.JProcedure1.apply(JProcedure1.java:10)
981 at scala.collection.immutable.List.foreach(List.scala:327)
982 at org.scalatest.SuperEngine.traverseSubNodes$1(Engine.scala:429)
983 at org.scalatest.SuperEngine.runTestsInBranch(Engine.scala:396)
984 at org.scalatest.SuperEngine.runTestsImpl(Engine.scala:475)
985 at org.scalatest.wordspec.AnyWordSpecLike.runTests(AnyWordSpecLike.scala:1187)
986 at org.scalatest.wordspec.AnyWordSpecLike.runTests$(AnyWordSpecLike.scala:44)
987 at org.scalatest.wordspec.AnyWordSpec.runTests(AnyWordSpec.scala:1879)
988 at org.scalatest.Suite.run(Suite.scala:1114)
989 at org.scalatest.Suite.run$(Suite.scala:564)
990 at org.scalatest.wordspec.AnyWordSpec.org$scalatest$wordspec$AnyWordSpecLike$$super$run(AnyWordSpec.scala:1879)
991 at org.scalatest.wordspec.AnyWordSpecLike.run$$anonfun$1(AnyWordSpecLike.scala:1232)
992 at org.scalatest.SuperEngine.runImpl(Engine.scala:535)
993 at org.scalatest.wordspec.AnyWordSpecLike.run(AnyWordSpecLike.scala:1232)
994 at org.scalatest.wordspec.AnyWordSpecLike.run$(AnyWordSpecLike.scala:44)
995 at org.scalatest.wordspec.AnyWordSpec.run(AnyWordSpec.scala:1879)
996 at org.scalatest.tools.Framework.org$scalatest$tools$Framework$$runSuite(Framework.scala:321)
997 at org.scalatest.tools.Framework$ScalaTestTask.execute(Framework.scala:517)
998 at sbt.ForkMain$Run.lambda$runTest$1(ForkMain.java:414)
999 at java.util.concurrent.FutureTask.run(FutureTask.java:328)
1000 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1090)
1001 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:614)
1002 at java.lang.Thread.run(Thread.java:1474)
1003
1004[info] - should reverse a String with a logged error (12 milliseconds)
1005[info] - should call a Restful endpoint that takes Unit as the request (6 milliseconds)
1006[info] - should call a Restful endpoint that takes multipart content (11 milliseconds)
1007Starting build for ProjectRef(file:/build/repo/,serverImplementationUndertow) (spice-server-undertow)... [9/10]
1008Compile scalacOptions: -Wconf:msg=can be rewritten automatically under:s, -source:3.8
1009[info] compiling 5 Scala sources to /build/repo/server/implementation/undertow/target/scala-3.8.0-RC3/classes ...
1010[info] done compiling
1011[info] compiling 3 Scala sources to /build/repo/server/implementation/undertow/target/scala-3.8.0-RC3/test-classes ...
1012[info] done compiling
1013WARNING: A terminally deprecated method in sun.misc.Unsafe has been called
1014WARNING: sun.misc.Unsafe::objectFieldOffset has been called by scala.runtime.LazyVals$ (file:/root/.cache/coursier/v1/https/repo.scala-lang.org/artifactory/maven-nightlies/org/scala-lang/scala3-library_3/3.8.0-RC3/scala3-library_3-3.8.0-RC3.jar)
1015WARNING: Please consider reporting this to the maintainers of class scala.runtime.LazyVals$
1016WARNING: sun.misc.Unsafe::objectFieldOffset will be removed in a future release
1017[info] UndertowWebSocketSpec:
1018[info] Undertow WebSocket
10192025.12.04 15:56:36:990 pool-1-thread-1-ScalaTest-running-UndertowWebSocketSpec INFO io.undertow.Undertow.start
1020 starting server: Undertow - 2.3.20.Final
10212025.12.04 15:56:37:052 pool-1-thread-1-ScalaTest-running-UndertowWebSocketSpec INFO org.xnio.Xnio.<clinit>
1022 XNIO version 3.8.16.Final
10232025.12.04 15:56:37:061 pool-1-thread-1-ScalaTest-running-UndertowWebSocketSpec INFO org.xnio.nio.NioXnio.<clinit>
1024 XNIO NIO Implementation Version 3.8.16.Final
10252025.12.04 15:56:37:194 pool-1-thread-1-ScalaTest-running-UndertowWebSocketSpec INFO org.jboss.threads.Version.<clinit>
1026 JBoss Threads version 3.7.0.Final
10272025.12.04 15:56:37:270 pool-1-thread-1-ScalaTest-running-UndertowWebSocketSpec INFO spice.http.server.HttpServer.start:31
1028 Server started on http://127.0.0.1:40333/
1029[info] - should start the server (450 milliseconds)
1030[info] - should open a WebSocket to the server (368 milliseconds)
1031[info] - should send a message to the server (3 milliseconds)
10322025.12.04 15:56:37:666 XNIO-1 I/O-2 INFO spec.UndertowWebSocketSpec.connect:68
1033 Received: Hello, World! from client! Echoing back...
10342025.12.04 15:56:37:670 HttpClient-1-Worker-1 INFO spec.UndertowWebSocketSpec.UndertowWebSocketSpec:32
1035 Received Hello, World! from server!
1036[info] - should receive a response from the server (106 milliseconds)
1037[info] - should disconnect the client (2 milliseconds)
10382025.12.04 15:56:37:772 pool-1-thread-1-ScalaTest-running-UndertowWebSocketSpec INFO io.undertow.Undertow.stop
1039 stopping server: Undertow - 2.3.20.Final
1040[info] - should stop the server (4 milliseconds)
1041[info] UndertowServerSpec:
1042[info] UndertowServerSpec
1043[info] - should configure the server (42 milliseconds)
10442025.12.04 15:56:37:841 pool-1-thread-1-ScalaTest-running-UndertowServerSpec INFO io.undertow.Undertow.start
1045 starting server: Undertow - 2.3.20.Final
10462025.12.04 15:56:37:845 pool-1-thread-1-ScalaTest-running-UndertowServerSpec INFO spice.http.server.HttpServer.start:31
1047 Server started on http://127.0.0.1:46419/
1048[info] - should start the server (7 milliseconds)
1049[info] - should receive OK for test.txt (70 milliseconds)
1050[info] - should receive NotFound for test.html (22 milliseconds)
1051[info] - should reverse a String with the Restful endpoint via POST (105 milliseconds)
1052[info] - should reverse a String with the Restful endpoint via GET (11 milliseconds)
1053[info] - should reverse a String with the Restful endpoint via GET with path-based arg (5 milliseconds)
1054[info] - should call a Restful endpoint that takes Unit as the request (9 milliseconds)
1055[info] - should call a Restful endpoint that takes a String as the request (8 milliseconds)
10562025.12.04 15:56:38:087 pool-1-thread-1-ScalaTest-running-UndertowServerSpec INFO io.undertow.Undertow.start
1057 starting server: Undertow - 2.3.20.Final
10582025.12.04 15:56:38:092 pool-1-thread-1-ScalaTest-running-UndertowServerSpec INFO spice.http.server.HttpServer.start:31
1059 Server started on http://127.0.0.1:34017/, http://127.0.0.1:8282/
10602025.12.04 15:56:38:097 pool-1-thread-1-ScalaTest-running-UndertowServerSpec INFO io.undertow.Undertow.stop
1061 stopping server: Undertow - 2.3.20.Final
1062[info] - should start an adhoc server on any available port and make sure it propagates back (14 milliseconds)
1063 stopping server: Undertow - 2.3.20.Final
1064[info] - should stop the server (3 milliseconds)
1065
1066************************
1067Build summary:
1068[{
1069 "module": "spice-openapi",
1070 "compile": {"status": "ok", "tookMs": 27884, "warnings": 2, "errors": 0, "sourceVersion": "3.8"},
1071 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
1072 "test-compile": {"status": "ok", "tookMs": 6890, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
1073 "test": {"status": "ok", "tookMs": 2014, "passed": 14, "failed": 0, "ignored": 0, "skipped": 0, "total": 14, "byFramework": [{"framework": "unknown", "stats": {"passed": 14, "failed": 0, "ignored": 0, "skipped": 0, "total": 14}}]},
1074 "publish": {"status": "skipped", "tookMs": 0},
1075 "metadata": {
1076 "crossScalaVersions": ["2.13.17", "3.3.7"]
1077}
1078},{
1079 "module": "spice-client-okhttp",
1080 "compile": {"status": "ok", "tookMs": 920, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
1081 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
1082 "test-compile": {"status": "ok", "tookMs": 758, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
1083 "test": {"status": "ok", "tookMs": 517, "passed": 7, "failed": 0, "ignored": 0, "skipped": 0, "total": 7, "byFramework": [{"framework": "unknown", "stats": {"passed": 7, "failed": 0, "ignored": 0, "skipped": 0, "total": 7}}]},
1084 "publish": {"status": "skipped", "tookMs": 0},
1085 "metadata": {
1086 "crossScalaVersions": ["2.13.17", "3.3.7"]
1087}
1088},{
1089 "module": "spice-client-jvm",
1090 "compile": {"status": "ok", "tookMs": 112, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
1091 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
1092 "test-compile": {"status": "ok", "tookMs": 158, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
1093 "test": {"status": "ok", "tookMs": 363, "passed": 7, "failed": 0, "ignored": 0, "skipped": 0, "total": 7, "byFramework": [{"framework": "unknown", "stats": {"passed": 7, "failed": 0, "ignored": 0, "skipped": 0, "total": 7}}]},
1094 "publish": {"status": "skipped", "tookMs": 0},
1095 "metadata": {
1096 "crossScalaVersions": ["2.13.17", "3.3.7"]
1097}
1098},{
1099 "module": "spice",
1100 "compile": {"status": "ok", "tookMs": 46, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
1101 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
1102 "test-compile": {"status": "ok", "tookMs": 66, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
1103 "test": {"status": "ok", "tookMs": 58, "passed": 0, "failed": 0, "ignored": 0, "skipped": 0, "total": 0, "byFramework": []},
1104 "publish": {"status": "skipped", "tookMs": 0},
1105 "metadata": {
1106 "crossScalaVersions": ["2.13.17", "3.3.7"]
1107}
1108},{
1109 "module": "spice-core",
1110 "compile": {"status": "ok", "tookMs": 42, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
1111 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
1112 "test-compile": {"status": "ok", "tookMs": 1514, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
1113 "test": {"status": "ok", "tookMs": 340, "passed": 81, "failed": 0, "ignored": 0, "skipped": 0, "total": 81, "byFramework": [{"framework": "unknown", "stats": {"passed": 81, "failed": 0, "ignored": 0, "skipped": 0, "total": 81}}]},
1114 "publish": {"status": "skipped", "tookMs": 0},
1115 "metadata": {
1116 "crossScalaVersions": ["2.13.17", "3.3.7"]
1117}
1118},{
1119 "module": "spice-client-netty",
1120 "compile": {"status": "ok", "tookMs": 806, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
1121 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
1122 "test-compile": {"status": "ok", "tookMs": 958, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
1123 "test": {"status": "ok", "tookMs": 367, "passed": 8, "failed": 0, "ignored": 0, "skipped": 0, "total": 8, "byFramework": [{"framework": "unknown", "stats": {"passed": 8, "failed": 0, "ignored": 0, "skipped": 0, "total": 8}}]},
1124 "publish": {"status": "skipped", "tookMs": 0},
1125 "metadata": {
1126 "crossScalaVersions": ["2.13.17", "3.3.7"]
1127}
1128},{
1129 "module": "spice-delta",
1130 "compile": {"status": "ok", "tookMs": 80, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
1131 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
1132 "test-compile": {"status": "ok", "tookMs": 461, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
1133 "test": {"status": "ok", "tookMs": 299, "passed": 1, "failed": 0, "ignored": 0, "skipped": 0, "total": 1, "byFramework": [{"framework": "unknown", "stats": {"passed": 1, "failed": 0, "ignored": 0, "skipped": 0, "total": 1}}]},
1134 "publish": {"status": "skipped", "tookMs": 0},
1135 "metadata": {
1136 "crossScalaVersions": ["2.13.17", "3.3.7"]
1137}
1138},{
1139 "module": "spice-client",
1140 "compile": {"status": "ok", "tookMs": 93, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
1141 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
1142 "test-compile": {"status": "ok", "tookMs": 127, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
1143 "test": {"status": "ok", "tookMs": 125, "passed": 0, "failed": 0, "ignored": 0, "skipped": 0, "total": 0, "byFramework": []},
1144 "publish": {"status": "skipped", "tookMs": 0},
1145 "metadata": {
1146 "crossScalaVersions": ["2.13.17", "3.3.7"]
1147}
1148},{
1149 "module": "spice-server",
1150 "compile": {"status": "ok", "tookMs": 150, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
1151 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
1152 "test-compile": {"status": "ok", "tookMs": 236, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
1153 "test": {"status": "ok", "tookMs": 3035, "passed": 23, "failed": 0, "ignored": 0, "skipped": 0, "total": 23, "byFramework": [{"framework": "unknown", "stats": {"passed": 23, "failed": 0, "ignored": 0, "skipped": 0, "total": 23}}]},
1154 "publish": {"status": "skipped", "tookMs": 0},
1155 "metadata": {
1156 "crossScalaVersions": ["2.13.17", "3.3.7"]
1157}
1158},{
1159 "module": "spice-server-undertow",
1160 "compile": {"status": "ok", "tookMs": 722, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
1161 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
1162 "test-compile": {"status": "ok", "tookMs": 1516, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
1163 "test": {"status": "ok", "tookMs": 2548, "passed": 17, "failed": 0, "ignored": 0, "skipped": 0, "total": 17, "byFramework": [{"framework": "unknown", "stats": {"passed": 17, "failed": 0, "ignored": 0, "skipped": 0, "total": 17}}]},
1164 "publish": {"status": "skipped", "tookMs": 0},
1165 "metadata": {
1166 "crossScalaVersions": ["2.13.17", "3.3.7"]
1167}
1168}]
1169************************
1170[success] Total time: 71 s (0:01:11.0), completed Dec 4, 2025, 3:56:38 PM
1171[0JChecking patch project/plugins.sbt...
1172Checking patch build.sbt...
1173Applied patch project/plugins.sbt cleanly.
1174Applied patch build.sbt cleanly.