Build Logs

outr/spice • 3.8.1-RC1:2026-01-13

Errors

4

Warnings

78

Total Lines

1212

1##################################
2Clonning https://github.com/outr/spice.git into /build/repo using revision 0.10.19
3##################################
4Note: switching to '97013926ef544c796c9af8864a19eef3ed4f9ac8'.
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 8.022s.
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 root/crossScalaVersions
107OpenCB::Changing crossVersion 3.7.4 -> 3.7.4 in clientImplementationNetty/crossScalaVersions
108OpenCB::Changing crossVersion 3.7.4 -> 3.7.4 in serverImplementationUndertow/crossScalaVersions
109OpenCB::Changing crossVersion 3.7.4 -> 3.7.4 in openAPI/crossScalaVersions
110OpenCB::Changing crossVersion 3.7.4 -> 3.7.4 in clientJS/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.18, 3.7.4)
116[info] openAPI (2.13.18, 3.7.4)
117[info] * root (2.13.18, 3.7.4)
118[info] clientJS (2.13.18, 3.7.4)
119[info] clientImplementationNetty (2.13.18, 3.7.4)
120[info] clientJVM (2.13.18, 3.7.4)
121[info] coreJS (2.13.18, 3.7.4)
122[info] clientImplementationOkHttp (2.13.18, 3.7.4)
123[info] coreJVM (2.13.18, 3.7.4)
124[info] delta (2.13.18, 3.7.4)
125[info] serverImplementationUndertow (2.13.18, 3.7.4)
126[info] clientImplementationJVM (2.13.18, 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 Jan 13, 2026, 7:32:53 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/content/SharedContentHelpers.scala]
162[info] [patched file /build/repo/core/shared/src/main/scala/spice/util/BufferManager.scala]
163[info] [patched file /build/repo/core/shared/src/main/scala/spice/http/Headers.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/rest/Restful.scala]
169[info] [patched file /build/repo/server/src/main/scala/spice/http/server/dsl/package.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/server/OpenAPIHttpServer.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/OpenAPIContent.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 3 Scala sources to /build/repo/client/implementation/jvm/target/scala-3.7.4/classes ...
204[info] compiling 5 Scala sources to /build/repo/openapi/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 8 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 ...
2322026.01.13 19:33:37:576 pool-48-thread-2 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": 23494, "warnings": 2, "errors": 0, "sourceVersion": "3.7-migration"},
267 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
268 "test-compile": {"status": "ok", "tookMs": 11456, "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.18", "3.3.7"]
273}
274},{
275 "module": "spice-client-okhttp",
276 "compile": {"status": "ok", "tookMs": 770, "warnings": 0, "errors": 0, "sourceVersion": "3.7-migration"},
277 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
278 "test-compile": {"status": "ok", "tookMs": 1025, "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.18", "3.3.7"]
283}
284},{
285 "module": "spice-client-jvm",
286 "compile": {"status": "ok", "tookMs": 117, "warnings": 0, "errors": 0, "sourceVersion": "3.7-migration"},
287 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
288 "test-compile": {"status": "ok", "tookMs": 234, "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.18", "3.3.7"]
293}
294},{
295 "module": "spice",
296 "compile": {"status": "ok", "tookMs": 43, "warnings": 0, "errors": 0, "sourceVersion": "3.7-migration"},
297 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
298 "test-compile": {"status": "ok", "tookMs": 66, "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.18", "3.3.7"]
303}
304},{
305 "module": "spice-core",
306 "compile": {"status": "ok", "tookMs": 46, "warnings": 0, "errors": 0, "sourceVersion": "3.7-migration"},
307 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
308 "test-compile": {"status": "ok", "tookMs": 1375, "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.18", "3.3.7"]
313}
314},{
315 "module": "spice-client-netty",
316 "compile": {"status": "ok", "tookMs": 717, "warnings": 0, "errors": 0, "sourceVersion": "3.7-migration"},
317 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
318 "test-compile": {"status": "ok", "tookMs": 1528, "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.18", "3.3.7"]
323}
324},{
325 "module": "spice-delta",
326 "compile": {"status": "ok", "tookMs": 75, "warnings": 0, "errors": 0, "sourceVersion": "3.7-migration"},
327 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
328 "test-compile": {"status": "ok", "tookMs": 632, "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.18", "3.3.7"]
333}
334},{
335 "module": "spice-client",
336 "compile": {"status": "ok", "tookMs": 81, "warnings": 0, "errors": 0, "sourceVersion": "3.7-migration"},
337 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
338 "test-compile": {"status": "ok", "tookMs": 135, "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.18", "3.3.7"]
343}
344},{
345 "module": "spice-server",
346 "compile": {"status": "ok", "tookMs": 108, "warnings": 0, "errors": 0, "sourceVersion": "3.7-migration"},
347 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
348 "test-compile": {"status": "ok", "tookMs": 266, "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.18", "3.3.7"]
353}
354},{
355 "module": "spice-server-undertow",
356 "compile": {"status": "ok", "tookMs": 780, "warnings": 0, "errors": 0, "sourceVersion": "3.7-migration"},
357 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
358 "test-compile": {"status": "ok", "tookMs": 1641, "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.18", "3.3.7"]
363}
364}]
365************************
366[success] Total time: 56 s, completed Jan 13, 2026, 7:33:49 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 0dbedc9] 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.1-RC1
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.1-RC1"
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.1-RC1
396Execute tests: true
397sbt project found:
398No prepare script found for project outr/spice
399##################################
400Scala version: 3.8.1-RC1
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.1-RC1
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.1-RC1"
422"++3.8.1-RC1 -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.1-RC1 """{"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.1-RC1
447OpenCB::Changing crossVersion 3.8.1-RC1 -> 3.8.1-RC1 in server/crossScalaVersions
448OpenCB::Changing crossVersion 3.8.1-RC1 -> 3.8.1-RC1 in clientJVM/crossScalaVersions
449OpenCB::Changing crossVersion 3.8.1-RC1 -> 3.8.1-RC1 in coreJVM/crossScalaVersions
450OpenCB::Changing crossVersion 3.8.1-RC1 -> 3.8.1-RC1 in coreJS/crossScalaVersions
451OpenCB::Changing crossVersion 3.8.1-RC1 -> 3.8.1-RC1 in clientImplementationOkHttp/crossScalaVersions
452OpenCB::Changing crossVersion 3.8.1-RC1 -> 3.8.1-RC1 in clientJS/crossScalaVersions
453OpenCB::Changing crossVersion 3.8.1-RC1 -> 3.8.1-RC1 in root/crossScalaVersions
454OpenCB::Changing crossVersion 3.8.1-RC1 -> 3.8.1-RC1 in clientImplementationNetty/crossScalaVersions
455OpenCB::Changing crossVersion 3.8.1-RC1 -> 3.8.1-RC1 in serverImplementationUndertow/crossScalaVersions
456OpenCB::Changing crossVersion 3.8.1-RC1 -> 3.8.1-RC1 in clientImplementationJVM/crossScalaVersions
457OpenCB::Changing crossVersion 3.8.1-RC1 -> 3.8.1-RC1 in openAPI/crossScalaVersions
458OpenCB::Changing crossVersion 3.8.1-RC1 -> 3.8.1-RC1 in delta/crossScalaVersions
459[info] set current project to spice (in build file:/build/repo/)
460[info] Setting Scala version to 3.8.1-RC1 on 12 projects.
461[info] Switching Scala version on:
462[info] server (2.13.18, 3.8.1-RC1)
463[info] openAPI (2.13.18, 3.8.1-RC1)
464[info] * root (2.13.18, 3.8.1-RC1)
465[info] clientJS (2.13.18, 3.8.1-RC1)
466[info] clientImplementationNetty (2.13.18, 3.8.1-RC1)
467[info] clientJVM (2.13.18, 3.8.1-RC1)
468[info] coreJS (2.13.18, 3.8.1-RC1)
469[info] clientImplementationOkHttp (2.13.18, 3.8.1-RC1)
470[info] coreJVM (2.13.18, 3.8.1-RC1)
471[info] delta (2.13.18, 3.8.1-RC1)
472[info] serverImplementationUndertow (2.13.18, 3.8.1-RC1)
473[info] clientImplementationJVM (2.13.18, 3.8.1-RC1)
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 Jan 13, 2026, 7:34:04 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.1-RC1/classes ...
507[info] done compiling
508[info] compiling 22 Scala sources to /build/repo/delta/target/scala-3.8.1-RC1/classes ...
509[info] done compiling
510[info] compiling 49 Scala sources to /build/repo/server/target/scala-3.8.1-RC1/classes ...
511[info] done compiling
512[info] compiling 29 Scala sources to /build/repo/openapi/target/scala-3.8.1-RC1/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.1-RC1/classes ...
532[info] done compiling
533[info] compiling 3 Scala sources to /build/repo/client/implementation/jvm/target/scala-3.8.1-RC1/classes ...
534[info] done compiling
535[info] compiling 1 Scala source to /build/repo/client/implementation/jvm/target/scala-3.8.1-RC1/test-classes ...
536[info] done compiling
537[info] compiling 5 Scala sources to /build/repo/server/target/scala-3.8.1-RC1/test-classes ...
538[info] done compiling
539[info] compiling 8 Scala sources to /build/repo/openapi/target/scala-3.8.1-RC1/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/repo1.maven.org/maven2/org/scala-lang/scala-library/3.8.1-RC1/scala-library-3.8.1-RC1.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 (164 milliseconds)
548[info] - should validate a proper swagger.yml file (349 milliseconds)
549[info] - should call the /users endpoint on api.example.com (58 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 (134 milliseconds)
685[info] - should generate Dart code for the server (53 milliseconds)
686[info] OpenAPIServerAdvancedSpec:
687[info] OpenAPIServer Advanced
688[info] - should validate a proper swagger.yml file (41 milliseconds)
689[info] OpenAPISpec:
690[info] OpenAPI Generation
691[info] - should create a minimal OpenAPI document manually (1 millisecond)
692[info] - should create a simple OpenAPI document manually (5 milliseconds)
693[info] - should create a simple OpenAPI document manually using oneOf (7 milliseconds)
694[info] - should create a tic tac toe example manually (11 milliseconds)
695[info] DartGeneratorComprehensiveSpec:
696[info] Dart Generator Comprehensive Features
697[info] - should generate Dart code for complex validation constraints (4 milliseconds)
698[info] - should generate Dart code for OneOf schemas with discriminator (2 milliseconds)
699[info] - should generate Dart code for AllOf schemas (10 milliseconds)
700[info] - should generate Dart code for nullable schemas (2 milliseconds)
701[info] - should generate Dart code for enum schemas (3 milliseconds)
702[info] OpenAPIDartGeneratorSpec:
703[info] OpenAPIDartGenerator
704[info] - should generate Dart code for the server (28 milliseconds)
705[info] - should not generate Dart files for primitive types without additional properties (12 milliseconds)
706[info] - should handle schema named 'string' correctly (2 milliseconds)
707[info] OpenAPISchemaComprehensiveSpec:
708[info] OpenAPISchema Enhanced Features
709[info] - should support comprehensive validation constraints (2 milliseconds)
710[info] - should support numeric validation constraints (5 milliseconds)
711[info] - should support array validation constraints (0 milliseconds)
712[info] - should support required properties (0 milliseconds)
713[info] - should support additional properties (2 milliseconds)
714[info] - should support proper discriminator objects (0 milliseconds)
715[info] - should support OneOf with discriminator (0 milliseconds)
716[info] - should support AllOf schemas (1 millisecond)
717[info] - should support AnyOf schemas (6 milliseconds)
718[info] - should support Not schemas (1 millisecond)
719[info] - should support XML metadata (1 millisecond)
720[info] - should support external documentation (5 milliseconds)
721[info] - should support readOnly and writeOnly properties (0 milliseconds)
722[info] - should support deprecated schemas (1 millisecond)
723[info] - should generate proper JSON for complex schemas (9 milliseconds)
724[info] - should generate proper JSON for OneOf with discriminator (0 milliseconds)
725[info] - should support nullable schemas properly (0 milliseconds)
726[info] - should handle enum values correctly (6 milliseconds)
727[info] - should support format specifications (1 millisecond)
728[info] OpenAPI Schema Validation
729[info] - should validate required fields are present (0 milliseconds)
730[info] - should validate constraint relationships (1 millisecond)
731[info] - should validate array constraints (3 milliseconds)
732[info] - should validate string constraints (1 millisecond)
733[info] OpenAPIStandardsComplianceSpec:
734[info] OpenAPI Standards Compliance
735[info] - should support enhanced schema validation constraints (12 milliseconds)
736[info] - should support OneOf schemas with discriminators (7 milliseconds)
737[info] - should support AllOf schemas for composition (5 milliseconds)
738Starting build for ProjectRef(file:/build/repo/,clientImplementationOkHttp) (spice-client-okhttp)... [1/10]
739Compile scalacOptions: -Wconf:msg=can be rewritten automatically under:s, -source:3.8
740[info] compiling 4 Scala sources to /build/repo/client/implementation/okhttp/target/scala-3.8.1-RC1/classes ...
741[info] done compiling
742[info] compiling 1 Scala source to /build/repo/client/implementation/okhttp/target/scala-3.8.1-RC1/test-classes ...
743[info] done compiling
744[info] OkHttpClientSpec:
745[info] OkHttpClient
746[info] - should load Moduload (21 milliseconds)
747[info] - should be the default implementation (49 milliseconds)
748[info] - should GET the user-agent (21 milliseconds)
749[info] - should call a URL multiple times with a rate limiter (2 milliseconds)
750[info] - should call a URL and get a case class back (2 milliseconds)
751[info] - should restful call to a URL (61 milliseconds)
752[info] - should call a URL and get an image back (1 millisecond)
753Starting build for ProjectRef(file:/build/repo/,clientImplementationJVM) (spice-client-jvm)... [2/10]
754Compile scalacOptions: -Wconf:msg=can be rewritten automatically under:s, -source:3.8
755[info] JVMHttpClientSpec:
756[info] JVMHttpClient
757[info] - should load Moduload (9 milliseconds)
758[info] - should be the default implementation (22 milliseconds)
759[info] - should GET the user-agent (14 milliseconds)
760[info] - should call a URL multiple times with a rate limiter (3 milliseconds)
761[info] - should call a URL and get a case class back (2 milliseconds)
762[info] - should restful call to a URL (45 milliseconds)
763[info] - should call a URL and get an image back (1 millisecond)
764Starting build for ProjectRef(file:/build/repo/,root) (spice)... [3/10]
765Compile scalacOptions: -Wconf:msg=can be rewritten automatically under:s, -source:3.8
766Starting build for ProjectRef(file:/build/repo/,coreJVM) (spice-core)... [4/10]
767Compile scalacOptions: -Wconf:msg=can be rewritten automatically under:s, -source:3.8
768[info] compiling 7 Scala sources to /build/repo/core/jvm/target/scala-3.8.1-RC1/test-classes ...
7692026.01.13 19:34:50:283 pool-55-thread-8 WARN spice.net.EmailAddress.parse:52
770 Unrecognized email address: [test]
771[info] done compiling
772[info] ContentTypeSpec:
773[info] ContentType
774[info] - should parse a massive type (44 milliseconds)
775[info] - should parse a simple type with dual semi-colons (1 millisecond)
776[info] CookieSpec:
777[info] Cookies
778[info] when parsing
779[info] - should support a single entry (13 milliseconds)
780[info] - should support two entries (1 millisecond)
781[info] - should support a poorly processed value (0 milliseconds)
782[info] IPSpec:
783[info] IP
784[info] - should validate 127.0.0.1 via interpolation (13 milliseconds)
785[info] - should fail interpolation of 127.0.0.1.2 (3 milliseconds)
786[info] - should fail interpolation of 300.0.0.1 (1 millisecond)
787[info] - should convert to JSON (10 milliseconds)
788[info] - should convert from JSON (2 milliseconds)
789[info] should parsing IPv4 addresses
790[info] - should properly parse 127.0.01 (0 milliseconds)
791[info] - should properly parse 1.2.3.4 (1 millisecond)
792[info] - should resolve None for 256.0.0.1 (0 milliseconds)
793[info] should parsing IPv6 addresses
794[info] - should properly parse fe80:0:0:0:0:0:0:1%1 (1 millisecond)
795[info] - should properly parse 2604:ca00:129:99af::860:930a (9 milliseconds)
796[info] - should properly parse 0:0:0:0:0:0:0:0 (0 milliseconds)
797[info] EmailAddressSpec:
798[info] EmailAddress
799[info] when validating
800[info] - should parse simple@example.com (4 milliseconds)
801[info] - should parse SIMPLE@ExAmPlE.com (5 milliseconds)
802[info] - should parse SI(a comment)MPLE+test@ExAm{another comment}PlE.com (1 millisecond)
803[info] - should parse an email address via interpolation (0 milliseconds)
804[info] - should fail to compile with invalid email address interpolation (0 milliseconds)
805[info] URLPathSpec:
806[info] Path
807[info] - should interpolate a simple path (1 millisecond)
808[info] - should interpolate with up-level and same-level (1 millisecond)
809[info] - should verify path argument matching (2 milliseconds)
810[info] - should verify partial path argument matching (1 millisecond)
811[info] - should verify a slightly more complex path with argument (0 milliseconds)
812[info] - should validate a complex encoded path (0 milliseconds)
813[info] PortSpec:
814[info] Port
815[info] - should validate 8080 via interpolation (2 milliseconds)
816[info] - should fail validation of -1 via interpolation (1 millisecond)
817[info] - should fail validation of 100000 via interpolation (0 milliseconds)
818[info] - should convert to JSON (2 milliseconds)
819[info] - should convert from JSON (0 milliseconds)
820[info] URLSpec:
821[info] URL
822[info] when parsing
823[info] - should properly parse a simple URL (5 milliseconds)
824[info] - should properly parse a URL with GET params (0 milliseconds)
825[info] - should properly parse an IP address with a ? on the end (0 milliseconds)
826[info] - should property parse an IPv6 url (1 millisecond)
827[info] - should quick fail parsing a non-URL (1 millisecond)
828[info] - should fail to parse an email address (0 milliseconds)
829[info] - should fail to parse 'it...' (0 milliseconds)
830[info] - should fail to parse 'it.' (0 milliseconds)
831[info] - should fail to parse ':smile' (0 milliseconds)
832[info] - should test (4 milliseconds)
833[info] - should properly parse a simple URL with key-only param (1 millisecond)
834[info] - should properly parse a simple HTTPS URL (1 millisecond)
835[info] - should properly parse a simple file URL (1 millisecond)
836[info] - should properly parse a URL without the protocol defined (0 milliseconds)
837[info] - should properly parse a URL with just the domain name (0 milliseconds)
838[info] - should properly parse a fairly long URL (0 milliseconds)
839[info] - should properly detect an invalid TLD (0 milliseconds)
840[info] - should properly unapply from a String (0 milliseconds)
841[info] - should properly parse a URL with two for the same key (4 milliseconds)
842[info] - should properly parse a URL with some crazy characters (9 milliseconds)
843[info] - should properly encode a URL with a pipe (1 millisecond)
844[info] - should properly parse a relative URL (1 millisecond)
845[info] - should properly parse a relative URL with invalid higher level (10 milliseconds)
846[info] - should properly parse a relative URL with multiple higher levels (0 milliseconds)
847[info] - should apply a relative URL to an existing URL (1 millisecond)
848[info] - should apply an absolute path to an existing path (1 millisecond)
849[info] - should apply a full part to an existing URL (0 milliseconds)
850[info] - should apply a relative path as a part to an existing URL (1 millisecond)
851[info] - should properly parse an extremely long URL and spit it back syntactically equal (1 millisecond)
852[info] - should properly create a decoded URL and encode it (0 milliseconds)
853[info] - should properly parse a URL with an encoded path and decode it (0 milliseconds)
854[info] - should properly parse a URL with a + (0 milliseconds)
855[info] - should properly parse a URL with regex interference (0 milliseconds)
856[info] - should properly interpolate a URL (0 milliseconds)
857[info] - should properly parse a URL with IPv6 (0 milliseconds)
858[info] - should properly parse a URL with a colon (1 millisecond)
859[info] - should fail to parse an invalid URL (1 millisecond)
860[info] - should fail to compile when interpolating a URL with a param (1 millisecond)
861[info] - should fail to compile an invalid URL (0 milliseconds)
862[info] when applying parts
863[info] - should replace one URL with another (1 millisecond)
864[info] - should replace the path (1 millisecond)
865[info] - should replace params (1 millisecond)
866[info] - should replace the path and params (1 millisecond)
867[info] - should apply relative path (1 millisecond)
868[info] - should apply a new path without forward-slash (1 millisecond)
869[info] when encoding to path
870[info] - should apply a complete path properly (0 milliseconds)
871[info] - should apply a complete path with port properly (1 millisecond)
872[info] - should should handle commas (1 millisecond)
873[info] - should use a URL with a colon in the path (0 milliseconds)
874Starting build for ProjectRef(file:/build/repo/,clientImplementationNetty) (spice-client-netty)... [5/10]
875Compile scalacOptions: -Wconf:msg=can be rewritten automatically under:s, -source:3.8
876[info] compiling 5 Scala sources to /build/repo/client/implementation/netty/target/scala-3.8.1-RC1/classes ...
877[info] done compiling
878[info] compiling 1 Scala source to /build/repo/client/implementation/netty/target/scala-3.8.1-RC1/test-classes ...
879[info] done compiling
880[info] NettyHttpClientSpec:
881[info] NettyHttpClient
882[info] - should load Moduload (11 milliseconds)
883[info] - should be the default implementation (22 milliseconds)
884[info] - should GET the user-agent (14 milliseconds)
885[info] - should call a URL multiple times with a rate limiter (2 milliseconds)
886[info] - should call a URL and get a case class back (3 milliseconds)
887[info] - should restful call to a URL (46 milliseconds)
888[info] - should call a URL and get an image back (1 millisecond)
889[info] - should download a large HTTPS file and stream to disk (1 millisecond)
890Starting build for ProjectRef(file:/build/repo/,delta) (spice-delta)... [6/10]
891Compile scalacOptions: -Wconf:msg=can be rewritten automatically under:s, -source:3.8
892[info] compiling 1 Scala source to /build/repo/delta/target/scala-3.8.1-RC1/test-classes ...
893[info] done compiling
8942026.01.13 19:34:56:127 pool-77-thread-1-ScalaTest-running-TemplateGeneratorSpec INFO spec.TemplateGeneratorSpec.result:31
895 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
896 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
897[info] TemplateGeneratorSpec:
898[info] TemplateGenerator
899[info] - should generate source from a simple HTML file (96 milliseconds)
900Starting build for ProjectRef(file:/build/repo/,clientJVM) (spice-client)... [7/10]
901Compile scalacOptions: -Wconf:msg=can be rewritten automatically under:s, -source:3.8
902Starting build for ProjectRef(file:/build/repo/,server) (spice-server)... [8/10]
903Compile scalacOptions: -Wconf:msg=can be rewritten automatically under:s, -source:3.8
904WARNING: A terminally deprecated method in sun.misc.Unsafe has been called
905WARNING: sun.misc.Unsafe::objectFieldOffset has been called by scala.runtime.LazyVals$ (file:/root/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-library/3.8.1-RC1/scala-library-3.8.1-RC1.jar)
906WARNING: Please consider reporting this to the maintainers of class scala.runtime.LazyVals$
907WARNING: sun.misc.Unsafe::objectFieldOffset will be removed in a future release
908[info] ServerDSLSpec:
909[info] Server DSL
910[info] when creating a simple handler with MutableHttpServer
911[info] - should properly accept a request for /hello/world.txt (205 milliseconds)
912[info] - should properly accept a request for /hello/world.html (3 milliseconds)
913[info] - should properly return a 404 for /hello/other.html (11 milliseconds)
914[info] - should properly return a 404 for a POST (2 milliseconds)
915[info] - should reject a request from a different origin IP (2 milliseconds)
916[info] when creating a HttpServer directly
917[info] - should match a simple GET (4 milliseconds)
918[info] - should match a simple POST (2 milliseconds)
919[info] - should match not-found (3 milliseconds)
920[info] when specific testing with filters
921[info] - should properly process the first path (31 milliseconds)
922[info] - should properly fall through to the second path (4 milliseconds)
923WARNING: A terminally deprecated method in sun.misc.Unsafe has been called
924WARNING: sun.misc.Unsafe::objectFieldOffset has been called by scala.runtime.LazyVals$ (file:/root/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-library/3.8.1-RC1/scala-library-3.8.1-RC1.jar)
925WARNING: Please consider reporting this to the maintainers of class scala.runtime.LazyVals$
926WARNING: sun.misc.Unsafe::objectFieldOffset will be removed in a future release
927[info] RestfulSpec:
928[info] Restful
929[info] when working with GET parameters
930[info] - should convert dot-separated values properly (96 milliseconds)
931WARNING: A terminally deprecated method in sun.misc.Unsafe has been called
932WARNING: sun.misc.Unsafe::objectFieldOffset has been called by scala.runtime.LazyVals$ (file:/root/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-library/3.8.1-RC1/scala-library-3.8.1-RC1.jar)
933WARNING: Please consider reporting this to the maintainers of class scala.runtime.LazyVals$
934WARNING: sun.misc.Unsafe::objectFieldOffset will be removed in a future release
935[info] ServerSpec:
936[info] TestHttpApplication
937[info] - should configure the TestServer (94 milliseconds)
938[info] - should configure Restful endpoints (27 milliseconds)
939[info] - should receive OK for test.html (106 milliseconds)
940[info] - should receive NotFound for other.html (7 milliseconds)
941[info] - should reverse a String with the Restful endpoint via POST (76 milliseconds)
942[info] - should reverse a String with the Restful endpoint via GET (10 milliseconds)
943[info] - should reverse a String with the Restful endpoint via GET with path-based arg (2 milliseconds)
9442026.01.13 19:35:00:490 pool-1-thread-1-ScalaTest-running-ServerSpec WARN spice.http.server.handler.LifecycleHandler.throwable2Content:81
945 http://localhost/test/reverse/info failed with Info Test - /build/repo/server/src/test/scala/spec/ServerSpec.scala:181 (spec.ServerSpec#ReverseService.apply result)
946[info] - should reverse a String with an informational error (102 milliseconds)
947 http://localhost/test/reverse/warn failed with Warn Test - /build/repo/server/src/test/scala/spec/ServerSpec.scala:182 (spec.ServerSpec#ReverseService.apply result)
948[info] - should reverse a String with an warn error (5 milliseconds)
9492026.01.13 19:35:00:563 pool-1-thread-1-ScalaTest-running-ServerSpec ERROR spice.http.server.handler.LifecycleHandler.throwable2Content:82
950 http://localhost/test/reverse/error failed with Error Test - /build/repo/server/src/test/scala/spec/ServerSpec.scala:183 (spec.ServerSpec#ReverseService.apply result)
951 spice.UserException: Error Test
952 at spice.UserException$.apply(UserException.scala:27)
953 at spec.ServerSpec#ReverseService.apply.<task>(ServerSpec.scala:187)
954 at spec.ServerSpec$ReverseService$.apply$$anonfun$1(ServerSpec.scala:183)
955 at rapid.fiber.SynchronousFiber.handle$1(SynchronousFiber.scala:47)
956 at rapid.fiber.SynchronousFiber.execute(SynchronousFiber.scala:78)
957 at rapid.fiber.SynchronousFiber.<init>(SynchronousFiber.scala:96)
958 at rapid.fiber.SynchronousFiber$.apply(SynchronousFiber.scala:10)
959 at rapid.Task.exec(Task.scala:25)
960 at rapid.Task.exec$(Task.scala:20)
961 at rapid.task.Suspend.exec(Suspend.scala:6)
962 at rapid.Task.sync(Task.scala:351)
963 at rapid.Task.sync$(Task.scala:20)
964 at rapid.task.Suspend.sync(Suspend.scala:6)
965 at rapid.Task.attempt$$anonfun$1$$anonfun$1(Task.scala:310)
966 at scala.util.Try$.apply(Try.scala:218)
967 at rapid.Task.attempt$$anonfun$1(Task.scala:310)
968 at rapid.fiber.SynchronousFiber.handle$1(SynchronousFiber.scala:47)
969 at rapid.fiber.SynchronousFiber.execute(SynchronousFiber.scala:78)
970 at rapid.fiber.SynchronousFiber.<init>(SynchronousFiber.scala:96)
971 at rapid.fiber.SynchronousFiber$.apply(SynchronousFiber.scala:10)
972 at rapid.Task.exec(Task.scala:25)
973 at rapid.Task.exec$(Task.scala:20)
974 at rapid.task.FlatMap.exec(FlatMap.scala:6)
975 at rapid.Task.sync(Task.scala:351)
976 at rapid.Task.sync$(Task.scala:20)
977 at rapid.task.FlatMap.sync(FlatMap.scala:6)
978 at rapid.Task.attempt$$anonfun$1$$anonfun$1(Task.scala:310)
979 at scala.util.Try$.apply(Try.scala:218)
980 at rapid.Task.attempt$$anonfun$1(Task.scala:310)
981 at rapid.fiber.SynchronousFiber.handle$1(SynchronousFiber.scala:47)
982 at rapid.fiber.SynchronousFiber.execute(SynchronousFiber.scala:78)
983 at rapid.fiber.SynchronousFiber.<init>(SynchronousFiber.scala:96)
984 at rapid.fiber.SynchronousFiber$.apply(SynchronousFiber.scala:10)
985 at rapid.Task.exec(Task.scala:25)
986 at rapid.Task.exec$(Task.scala:20)
987 at rapid.task.FlatMap.exec(FlatMap.scala:6)
988 at rapid.Task.sync(Task.scala:351)
989 at rapid.Task.sync$(Task.scala:20)
990 at rapid.task.FlatMap.sync(FlatMap.scala:6)
991 at spec.ServerSpec.f$proxy10$1(ServerSpec.scala:133)
992 at spec.ServerSpec.$init$$$anonfun$1$$anonfun$10(ServerSpec.scala:121)
993 at org.scalatest.Transformer.apply$$anonfun$1(Transformer.scala:22)
994 at org.scalatest.OutcomeOf.outcomeOf(OutcomeOf.scala:85)
995 at org.scalatest.OutcomeOf.outcomeOf$(OutcomeOf.scala:31)
996 at org.scalatest.OutcomeOf$.outcomeOf(OutcomeOf.scala:104)
997 at org.scalatest.Transformer.apply(Transformer.scala:22)
998 at org.scalatest.Transformer.apply(Transformer.scala:21)
999 at org.scalatest.wordspec.AnyWordSpecLike$$anon$3.apply(AnyWordSpecLike.scala:1118)
1000 at org.scalatest.TestSuite.withFixture(TestSuite.scala:196)
1001 at org.scalatest.TestSuite.withFixture$(TestSuite.scala:138)
1002 at org.scalatest.wordspec.AnyWordSpec.withFixture(AnyWordSpec.scala:1879)
1003 at org.scalatest.wordspec.AnyWordSpecLike.invokeWithFixture$1(AnyWordSpecLike.scala:1124)
1004 at org.scalatest.wordspec.AnyWordSpecLike.runTest$$anonfun$1(AnyWordSpecLike.scala:1128)
1005 at org.scalatest.SuperEngine.runTestImpl(Engine.scala:306)
1006 at org.scalatest.wordspec.AnyWordSpecLike.runTest(AnyWordSpecLike.scala:1128)
1007 at org.scalatest.wordspec.AnyWordSpecLike.runTest$(AnyWordSpecLike.scala:44)
1008 at org.scalatest.wordspec.AnyWordSpec.runTest(AnyWordSpec.scala:1879)
1009 at org.scalatest.wordspec.AnyWordSpecLike.runTests$$anonfun$1(AnyWordSpecLike.scala:1187)
1010 at org.scalatest.SuperEngine.traverseSubNodes$1$$anonfun$1(Engine.scala:413)
1011 at scala.runtime.function.JProcedure1.apply(JProcedure1.java:15)
1012 at scala.runtime.function.JProcedure1.apply(JProcedure1.java:10)
1013 at scala.collection.immutable.List.foreach(List.scala:327)
1014 at org.scalatest.SuperEngine.traverseSubNodes$1(Engine.scala:429)
1015 at org.scalatest.SuperEngine.runTestsInBranch(Engine.scala:390)
1016 at org.scalatest.SuperEngine.traverseSubNodes$1$$anonfun$1(Engine.scala:427)
1017 at scala.runtime.function.JProcedure1.apply(JProcedure1.java:15)
1018 at scala.runtime.function.JProcedure1.apply(JProcedure1.java:10)
1019 at scala.collection.immutable.List.foreach(List.scala:327)
1020 at org.scalatest.SuperEngine.traverseSubNodes$1(Engine.scala:429)
1021 at org.scalatest.SuperEngine.runTestsInBranch(Engine.scala:396)
1022 at org.scalatest.SuperEngine.runTestsImpl(Engine.scala:475)
1023 at org.scalatest.wordspec.AnyWordSpecLike.runTests(AnyWordSpecLike.scala:1187)
1024 at org.scalatest.wordspec.AnyWordSpecLike.runTests$(AnyWordSpecLike.scala:44)
1025 at org.scalatest.wordspec.AnyWordSpec.runTests(AnyWordSpec.scala:1879)
1026 at org.scalatest.Suite.run(Suite.scala:1114)
1027 at org.scalatest.Suite.run$(Suite.scala:564)
1028 at org.scalatest.wordspec.AnyWordSpec.org$scalatest$wordspec$AnyWordSpecLike$$super$run(AnyWordSpec.scala:1879)
1029 at org.scalatest.wordspec.AnyWordSpecLike.run$$anonfun$1(AnyWordSpecLike.scala:1232)
1030 at org.scalatest.SuperEngine.runImpl(Engine.scala:535)
1031 at org.scalatest.wordspec.AnyWordSpecLike.run(AnyWordSpecLike.scala:1232)
1032 at org.scalatest.wordspec.AnyWordSpecLike.run$(AnyWordSpecLike.scala:44)
1033 at org.scalatest.wordspec.AnyWordSpec.run(AnyWordSpec.scala:1879)
1034 at org.scalatest.tools.Framework.org$scalatest$tools$Framework$$runSuite(Framework.scala:321)
1035 at org.scalatest.tools.Framework$ScalaTestTask.execute(Framework.scala:517)
1036 at sbt.ForkMain$Run.lambda$runTest$1(ForkMain.java:414)
1037 at java.util.concurrent.FutureTask.run(FutureTask.java:328)
1038 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1090)
1039 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:614)
1040 at java.lang.Thread.run(Thread.java:1474)
1041
1042[info] - should reverse a String with a logged error (13 milliseconds)
1043[info] - should call a Restful endpoint that takes Unit as the request (5 milliseconds)
1044[info] - should call a Restful endpoint that takes multipart content (21 milliseconds)
1045Starting build for ProjectRef(file:/build/repo/,serverImplementationUndertow) (spice-server-undertow)... [9/10]
1046Compile scalacOptions: -Wconf:msg=can be rewritten automatically under:s, -source:3.8
1047[info] compiling 5 Scala sources to /build/repo/server/implementation/undertow/target/scala-3.8.1-RC1/classes ...
1048[info] done compiling
1049[info] compiling 3 Scala sources to /build/repo/server/implementation/undertow/target/scala-3.8.1-RC1/test-classes ...
1050[info] done compiling
1051WARNING: A terminally deprecated method in sun.misc.Unsafe has been called
1052WARNING: sun.misc.Unsafe::objectFieldOffset has been called by scala.runtime.LazyVals$ (file:/root/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-library/3.8.1-RC1/scala-library-3.8.1-RC1.jar)
1053WARNING: Please consider reporting this to the maintainers of class scala.runtime.LazyVals$
1054WARNING: sun.misc.Unsafe::objectFieldOffset will be removed in a future release
1055[info] UndertowWebSocketSpec:
1056[info] Undertow WebSocket
10572026.01.13 19:35:05:042 pool-1-thread-1-ScalaTest-running-UndertowWebSocketSpec INFO io.undertow.Undertow.start
1058 starting server: Undertow - 2.3.20.Final
10592026.01.13 19:35:05:113 pool-1-thread-1-ScalaTest-running-UndertowWebSocketSpec INFO org.xnio.Xnio.<clinit>
1060 XNIO version 3.8.16.Final
10612026.01.13 19:35:05:120 pool-1-thread-1-ScalaTest-running-UndertowWebSocketSpec INFO org.xnio.nio.NioXnio.<clinit>
1062 XNIO NIO Implementation Version 3.8.16.Final
10632026.01.13 19:35:05:245 pool-1-thread-1-ScalaTest-running-UndertowWebSocketSpec INFO org.jboss.threads.Version.<clinit>
1064 JBoss Threads version 3.7.0.Final
10652026.01.13 19:35:05:319 pool-1-thread-1-ScalaTest-running-UndertowWebSocketSpec INFO spice.http.server.HttpServer.start:31
1066 Server started on http://127.0.0.1:36383/
1067[info] - should start the server (471 milliseconds)
1068[info] - should open a WebSocket to the server (405 milliseconds)
1069[info] - should send a message to the server (4 milliseconds)
10702026.01.13 19:35:05:753 XNIO-1 I/O-4 INFO spec.UndertowWebSocketSpec.connect:68
1071 Received: Hello, World! from client! Echoing back...
10722026.01.13 19:35:05:757 HttpClient-1-Worker-1 INFO spec.UndertowWebSocketSpec.UndertowWebSocketSpec:32
1073 Received Hello, World! from server!
1074[info] - should receive a response from the server (111 milliseconds)
1075[info] - should disconnect the client (2 milliseconds)
10762026.01.13 19:35:05:861 pool-1-thread-1-ScalaTest-running-UndertowWebSocketSpec INFO io.undertow.Undertow.stop
1077 stopping server: Undertow - 2.3.20.Final
1078[info] - should stop the server (7 milliseconds)
1079[info] UndertowServerSpec:
1080[info] UndertowServerSpec
1081[info] - should configure the server (51 milliseconds)
10822026.01.13 19:35:05:939 pool-1-thread-1-ScalaTest-running-UndertowServerSpec INFO io.undertow.Undertow.start
1083 starting server: Undertow - 2.3.20.Final
10842026.01.13 19:35:05:943 pool-1-thread-1-ScalaTest-running-UndertowServerSpec INFO spice.http.server.HttpServer.start:31
1085 Server started on http://127.0.0.1:42155/
1086[info] - should start the server (8 milliseconds)
1087[info] - should receive OK for test.txt (63 milliseconds)
1088[info] - should receive NotFound for test.html (14 milliseconds)
1089[info] - should reverse a String with the Restful endpoint via POST (85 milliseconds)
1090[info] - should reverse a String with the Restful endpoint via GET (10 milliseconds)
1091[info] - should reverse a String with the Restful endpoint via GET with path-based arg (5 milliseconds)
1092[info] - should call a Restful endpoint that takes Unit as the request (6 milliseconds)
1093[info] - should call a Restful endpoint that takes a String as the request (7 milliseconds)
10942026.01.13 19:35:06:143 pool-1-thread-1-ScalaTest-running-UndertowServerSpec INFO io.undertow.Undertow.start
1095 starting server: Undertow - 2.3.20.Final
10962026.01.13 19:35:06:148 pool-1-thread-1-ScalaTest-running-UndertowServerSpec INFO spice.http.server.HttpServer.start:31
1097 Server started on http://127.0.0.1:45861/, http://127.0.0.1:8282/
10982026.01.13 19:35:06:152 pool-1-thread-1-ScalaTest-running-UndertowServerSpec INFO io.undertow.Undertow.stop
1099 stopping server: Undertow - 2.3.20.Final
1100[info] - should start an adhoc server on any available port and make sure it propagates back (13 milliseconds)
1101 stopping server: Undertow - 2.3.20.Final
1102[info] - should stop the server (3 milliseconds)
1103
1104************************
1105Build summary:
1106[{
1107 "module": "spice-openapi",
1108 "compile": {"status": "ok", "tookMs": 23329, "warnings": 2, "errors": 0, "sourceVersion": "3.8"},
1109 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
1110 "test-compile": {"status": "ok", "tookMs": 9488, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
1111 "test": {"status": "ok", "tookMs": 2469, "passed": 45, "failed": 0, "ignored": 0, "skipped": 0, "total": 45, "byFramework": [{"framework": "unknown", "stats": {"passed": 45, "failed": 0, "ignored": 0, "skipped": 0, "total": 45}}]},
1112 "publish": {"status": "skipped", "tookMs": 0},
1113 "metadata": {
1114 "crossScalaVersions": ["2.13.18", "3.3.7"]
1115}
1116},{
1117 "module": "spice-client-okhttp",
1118 "compile": {"status": "ok", "tookMs": 897, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
1119 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
1120 "test-compile": {"status": "ok", "tookMs": 1006, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
1121 "test": {"status": "ok", "tookMs": 518, "passed": 7, "failed": 0, "ignored": 0, "skipped": 0, "total": 7, "byFramework": [{"framework": "unknown", "stats": {"passed": 7, "failed": 0, "ignored": 0, "skipped": 0, "total": 7}}]},
1122 "publish": {"status": "skipped", "tookMs": 0},
1123 "metadata": {
1124 "crossScalaVersions": ["2.13.18", "3.3.7"]
1125}
1126},{
1127 "module": "spice-client-jvm",
1128 "compile": {"status": "ok", "tookMs": 113, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
1129 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
1130 "test-compile": {"status": "ok", "tookMs": 152, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
1131 "test": {"status": "ok", "tookMs": 378, "passed": 7, "failed": 0, "ignored": 0, "skipped": 0, "total": 7, "byFramework": [{"framework": "unknown", "stats": {"passed": 7, "failed": 0, "ignored": 0, "skipped": 0, "total": 7}}]},
1132 "publish": {"status": "skipped", "tookMs": 0},
1133 "metadata": {
1134 "crossScalaVersions": ["2.13.18", "3.3.7"]
1135}
1136},{
1137 "module": "spice",
1138 "compile": {"status": "ok", "tookMs": 48, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
1139 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
1140 "test-compile": {"status": "ok", "tookMs": 62, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
1141 "test": {"status": "ok", "tookMs": 60, "passed": 0, "failed": 0, "ignored": 0, "skipped": 0, "total": 0, "byFramework": []},
1142 "publish": {"status": "skipped", "tookMs": 0},
1143 "metadata": {
1144 "crossScalaVersions": ["2.13.18", "3.3.7"]
1145}
1146},{
1147 "module": "spice-core",
1148 "compile": {"status": "ok", "tookMs": 37, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
1149 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
1150 "test-compile": {"status": "ok", "tookMs": 1634, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
1151 "test": {"status": "ok", "tookMs": 368, "passed": 81, "failed": 0, "ignored": 0, "skipped": 0, "total": 81, "byFramework": [{"framework": "unknown", "stats": {"passed": 81, "failed": 0, "ignored": 0, "skipped": 0, "total": 81}}]},
1152 "publish": {"status": "skipped", "tookMs": 0},
1153 "metadata": {
1154 "crossScalaVersions": ["2.13.18", "3.3.7"]
1155}
1156},{
1157 "module": "spice-client-netty",
1158 "compile": {"status": "ok", "tookMs": 958, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
1159 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
1160 "test-compile": {"status": "ok", "tookMs": 779, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
1161 "test": {"status": "ok", "tookMs": 424, "passed": 8, "failed": 0, "ignored": 0, "skipped": 0, "total": 8, "byFramework": [{"framework": "unknown", "stats": {"passed": 8, "failed": 0, "ignored": 0, "skipped": 0, "total": 8}}]},
1162 "publish": {"status": "skipped", "tookMs": 0},
1163 "metadata": {
1164 "crossScalaVersions": ["2.13.18", "3.3.7"]
1165}
1166},{
1167 "module": "spice-delta",
1168 "compile": {"status": "ok", "tookMs": 88, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
1169 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
1170 "test-compile": {"status": "ok", "tookMs": 675, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
1171 "test": {"status": "ok", "tookMs": 366, "passed": 1, "failed": 0, "ignored": 0, "skipped": 0, "total": 1, "byFramework": [{"framework": "unknown", "stats": {"passed": 1, "failed": 0, "ignored": 0, "skipped": 0, "total": 1}}]},
1172 "publish": {"status": "skipped", "tookMs": 0},
1173 "metadata": {
1174 "crossScalaVersions": ["2.13.18", "3.3.7"]
1175}
1176},{
1177 "module": "spice-client",
1178 "compile": {"status": "ok", "tookMs": 80, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
1179 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
1180 "test-compile": {"status": "ok", "tookMs": 123, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
1181 "test": {"status": "ok", "tookMs": 117, "passed": 0, "failed": 0, "ignored": 0, "skipped": 0, "total": 0, "byFramework": []},
1182 "publish": {"status": "skipped", "tookMs": 0},
1183 "metadata": {
1184 "crossScalaVersions": ["2.13.18", "3.3.7"]
1185}
1186},{
1187 "module": "spice-server",
1188 "compile": {"status": "ok", "tookMs": 151, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
1189 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
1190 "test-compile": {"status": "ok", "tookMs": 302, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
1191 "test": {"status": "ok", "tookMs": 3119, "passed": 23, "failed": 0, "ignored": 0, "skipped": 0, "total": 23, "byFramework": [{"framework": "unknown", "stats": {"passed": 23, "failed": 0, "ignored": 0, "skipped": 0, "total": 23}}]},
1192 "publish": {"status": "skipped", "tookMs": 0},
1193 "metadata": {
1194 "crossScalaVersions": ["2.13.18", "3.3.7"]
1195}
1196},{
1197 "module": "spice-server-undertow",
1198 "compile": {"status": "ok", "tookMs": 728, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
1199 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
1200 "test-compile": {"status": "ok", "tookMs": 1628, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
1201 "test": {"status": "ok", "tookMs": 2560, "passed": 17, "failed": 0, "ignored": 0, "skipped": 0, "total": 17, "byFramework": [{"framework": "unknown", "stats": {"passed": 17, "failed": 0, "ignored": 0, "skipped": 0, "total": 17}}]},
1202 "publish": {"status": "skipped", "tookMs": 0},
1203 "metadata": {
1204 "crossScalaVersions": ["2.13.18", "3.3.7"]
1205}
1206}]
1207************************
1208[success] Total time: 62 s (0:01:02.0), completed Jan 13, 2026, 7:35:07 PM
1209[0JChecking patch project/plugins.sbt...
1210Checking patch build.sbt...
1211Applied patch project/plugins.sbt cleanly.
1212Applied patch build.sbt cleanly.