Build Logs

kalin-rudnicki/oxygen • 3.8.0-RC2:2025-11-28

Errors

2

Warnings

13

Total Lines

1448

1##################################
2Clonning https://github.com/kalin-rudnicki/oxygen.git into /build/repo using revision 0.0.94
3##################################
4Note: switching to '10ce8e90e543c3b1d0b0ccf1cf154e014b1c77c2'.
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.7.1
22----
23Preparing build for 3.8.0-RC2
24Scala binary version found: 3.8
25Implicitly using source version 3.8
26Scala binary version found: 3.8
27Implicitly using source version 3.8
28Would try to apply common scalacOption (best-effort, sbt/mill only):
29Append: ,REQUIRE:-source:3.8
30Remove: ,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
31
32Try apply source patch:
33Path: project/Settings.scala
34Pattern: val Scala_3 = "3.7.1"
35Replacement: val Scala_3 = "3.8.0-RC2"
36Starting compilation server
37Compiling project (Scala 3.7.3, JVM (17))
38Compiled project (Scala 3.7.3, JVM (17))
39Successfully applied pattern 'val Scala_3 = "3.7.1"' in project/Settings.scala
40----
41Starting build for 3.8.0-RC2
42Execute tests: true
43sbt project found:
44Sbt version 1.11.3 is not supported, minimal supported version is 1.11.5
45Enforcing usage of sbt in version 1.11.5
46No prepare script found for project kalin-rudnicki/oxygen
47##################################
48Scala version: 3.8.0-RC2
49Targets: io.github.kalin-rudnicki%oxygen-cli io.github.kalin-rudnicki%oxygen-core io.github.kalin-rudnicki%oxygen-crypto-model io.github.kalin-rudnicki%oxygen-crypto-service io.github.kalin-rudnicki%oxygen-executable io.github.kalin-rudnicki%oxygen-http-zio io.github.kalin-rudnicki%oxygen-json io.github.kalin-rudnicki%oxygen-meta io.github.kalin-rudnicki%oxygen-quoted io.github.kalin-rudnicki%oxygen-schema io.github.kalin-rudnicki%oxygen-sql io.github.kalin-rudnicki%oxygen-sql-migration io.github.kalin-rudnicki%oxygen-sql-test io.github.kalin-rudnicki%oxygen-storage io.github.kalin-rudnicki%oxygen-test io.github.kalin-rudnicki%oxygen-test-container io.github.kalin-rudnicki%oxygen-transform io.github.kalin-rudnicki%oxygen-zio
50Project projectConfig: {"projects":{"exclude":[],"overrides":{}},"java":{"version":"17"},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"full","migrationVersions":[],"sourcePatches":[{"path":"project/Settings.scala","pattern":"val Scala_3 = \"3.7.1\"","replaceWith":"val Scala_3 = \"<SCALA_VERSION>\""}]}
51##################################
52Using extra scalacOptions: ,REQUIRE:-source:3.8
53Filtering out scalacOptions: ,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
54[sbt_options] declare -a sbt_options=()
55[process_args] java_version = '17'
56[copyRt] java9_rt = '/root/.sbt/1.0/java9-rt-ext-eclipse_adoptium_17_0_8/rt.jar'
57# Executing command line:
58java
59-Xmx16G
60-Xss4M
61-Dcommunitybuild.scala=3.8.0-RC2
62-Dcommunitybuild.project.dependencies.add=
63-Xmx7G
64-Xms4G
65-Xss8M
66-Dsbt.script=/root/.sdkman/candidates/sbt/current/bin/sbt
67-Dscala.ext.dirs=/root/.sbt/1.0/java9-rt-ext-eclipse_adoptium_17_0_8
68-jar
69/root/.sdkman/candidates/sbt/1.11.5/bin/sbt-launch.jar
70"setCrossScalaVersions 3.8.0-RC2"
71"++3.8.0-RC2 -v"
72"mapScalacOptions ",REQUIRE:-source:3.8,-Wconf:msg=can be rewritten automatically under:s" ",-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e""
73"set every credentials := Nil"
74"excludeLibraryDependency com.github.ghik:zerowaste_{scalaVersion} com.olegpy:better-monadic-for_3 org.polyvariant:better-tostring_{scalaVersion} org.wartremover:wartremover_{scalaVersion}"
75"removeScalacOptionsStartingWith -P:wartremover"
76
77moduleMappings
78"runBuild 3.8.0-RC2 """{"projects":{"exclude":[],"overrides":{}},"java":{"version":"17"},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"full","migrationVersions":[],"sourcePatches":[{"path":"project/Settings.scala","pattern":"val Scala_3 = \"3.7.1\"","replaceWith":"val Scala_3 = \"<SCALA_VERSION>\""}]}""" io.github.kalin-rudnicki%oxygen-cli io.github.kalin-rudnicki%oxygen-core io.github.kalin-rudnicki%oxygen-crypto-model io.github.kalin-rudnicki%oxygen-crypto-service io.github.kalin-rudnicki%oxygen-executable io.github.kalin-rudnicki%oxygen-http-zio io.github.kalin-rudnicki%oxygen-json io.github.kalin-rudnicki%oxygen-meta io.github.kalin-rudnicki%oxygen-quoted io.github.kalin-rudnicki%oxygen-schema io.github.kalin-rudnicki%oxygen-sql io.github.kalin-rudnicki%oxygen-sql-migration io.github.kalin-rudnicki%oxygen-sql-test io.github.kalin-rudnicki%oxygen-storage io.github.kalin-rudnicki%oxygen-test io.github.kalin-rudnicki%oxygen-test-container io.github.kalin-rudnicki%oxygen-transform io.github.kalin-rudnicki%oxygen-zio"
79
80[info] welcome to sbt 1.11.5 (Eclipse Adoptium Java 17.0.8)
81[info] loading settings for project repo-build from akka.sbt, plugins.sbt...
82[info] loading project definition from /build/repo/project
83[info] compiling 4 Scala sources to /build/repo/project/target/scala-2.12/sbt-1.0/classes ...
84[info] Non-compiled module 'compiler-bridge_2.12' for Scala 2.12.20. Compiling...
85[info] Compilation completed in 8.944s.
86[info] done compiling
87[info] loading settings for project oxygen-root from build.sbt...
88[info] resolving key references (73301 settings) ...
89[info] set current project to oxygen-root (in build file:/build/repo/)
90[warn] there's a key that's not used by any other settings/tasks:
91[warn]
92[warn] * example-ui / webCompDirs
93[warn] +- /build/repo/build.sbt:671
94[warn]
95[warn] note: a setting might still be used by a command; to exclude a key from this `lintUnused` check
96[warn] either append it to `Global / excludeLintKeys` or call .withRank(KeyRanks.Invisible) on the key
97Execute setCrossScalaVersions: 3.8.0-RC2
98OpenCB::Changing crossVersion 3.8.0-RC2 -> 3.8.0-RC2 in example-apiJS/crossScalaVersions
99OpenCB::Changing crossVersion 3.8.0-RC2 -> 3.8.0-RC2 in sql-it/crossScalaVersions
100OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.8.0-RC2) in example-apiJS/crossScalaVersions
101OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.8.0-RC2) in sql-it/crossScalaVersions
102OpenCB::Changing crossVersion 3.8.0-RC2 -> 3.8.0-RC2 in oxygen-crypto-modelNative/crossScalaVersions
103OpenCB::Changing crossVersion 3.8.0-RC2 -> 3.8.0-RC2 in example/crossScalaVersions
104OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.8.0-RC2) in example/crossScalaVersions
105OpenCB::Changing crossVersion 3.8.0-RC2 -> 3.8.0-RC2 in oxygen-test-container/crossScalaVersions
106OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.8.0-RC2) in oxygen-test-container/crossScalaVersions
107OpenCB::Changing crossVersion 3.8.0-RC2 -> 3.8.0-RC2 in oxygen-sql-test/crossScalaVersions
108OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.8.0-RC2) in oxygen-sql-test/crossScalaVersions
109OpenCB::Changing crossVersion 3.8.0-RC2 -> 3.8.0-RC2 in oxygen-jsonNative/crossScalaVersions
110OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.8.0-RC2) in oxygen-crypto-modelNative/crossScalaVersions
111OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.8.0-RC2) in oxygen-jsonNative/crossScalaVersions
112OpenCB::Changing crossVersion 3.8.0-RC2 -> 3.8.0-RC2 in oxygen-jsonJS/crossScalaVersions
113OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.8.0-RC2) in oxygen-jsonJS/crossScalaVersions
114OpenCB::Changing crossVersion 3.8.0-RC2 -> 3.8.0-RC2 in oxygen-metaJVM/crossScalaVersions
115OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.8.0-RC2) in oxygen-metaJVM/crossScalaVersions
116OpenCB::Changing crossVersion 3.8.0-RC2 -> 3.8.0-RC2 in example-ui/crossScalaVersions
117OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.8.0-RC2) in example-ui/crossScalaVersions
118OpenCB::Changing crossVersion 3.8.0-RC2 -> 3.8.0-RC2 in oxygen-zioJVM/crossScalaVersions
119OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.8.0-RC2) in oxygen-zioJVM/crossScalaVersions
120OpenCB::Changing crossVersion 3.8.0-RC2 -> 3.8.0-RC2 in oxygen-storage/crossScalaVersions
121OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.8.0-RC2) in oxygen-storage/crossScalaVersions
122OpenCB::Changing crossVersion 3.8.0-RC2 -> 3.8.0-RC2 in oxygen-zioJS/crossScalaVersions
123OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.8.0-RC2) in oxygen-zioJS/crossScalaVersions
124OpenCB::Changing crossVersion 3.8.0-RC2 -> 3.8.0-RC2 in oxygen-modules/crossScalaVersions
125OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.8.0-RC2) in oxygen-modules/crossScalaVersions
126OpenCB::Changing crossVersion 3.8.0-RC2 -> 3.8.0-RC2 in oxygen-metaJS/crossScalaVersions
127OpenCB::Changing crossVersion 3.8.0-RC2 -> 3.8.0-RC2 in oxygen-coreNative/crossScalaVersions
128OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.8.0-RC2) in oxygen-coreNative/crossScalaVersions
129OpenCB::Changing crossVersion 3.8.0-RC2 -> 3.8.0-RC2 in oxygen-httpJS/crossScalaVersions
130OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.8.0-RC2) in oxygen-httpJS/crossScalaVersions
131OpenCB::Changing crossVersion 3.8.0-RC2 -> 3.8.0-RC2 in http-it/crossScalaVersions
132OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.8.0-RC2) in http-it/crossScalaVersions
133OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.8.0-RC2) in oxygen-metaJS/crossScalaVersions
134OpenCB::Changing crossVersion 3.8.0-RC2 -> 3.8.0-RC2 in example-api-modelsJS/crossScalaVersions
135OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.8.0-RC2) in example-api-modelsJS/crossScalaVersions
136OpenCB::Changing crossVersion 3.8.0-RC2 -> 3.8.0-RC2 in utJVM/crossScalaVersions
137OpenCB::Changing crossVersion 3.8.0-RC2 -> 3.8.0-RC2 in oxygen-zioNative/crossScalaVersions
138OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.8.0-RC2) in utJVM/crossScalaVersions
139OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.8.0-RC2) in oxygen-zioNative/crossScalaVersions
140OpenCB::Changing crossVersion 3.8.0-RC2 -> 3.8.0-RC2 in it/crossScalaVersions
141OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.8.0-RC2) in it/crossScalaVersions
142OpenCB::Changing crossVersion 3.8.0-RC2 -> 3.8.0-RC2 in example-domain-impl/crossScalaVersions
143OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.8.0-RC2) in example-domain-impl/crossScalaVersions
144OpenCB::Changing crossVersion 3.8.0-RC2 -> 3.8.0-RC2 in example-api-modelsJVM/crossScalaVersions
145OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.8.0-RC2) in example-api-modelsJVM/crossScalaVersions
146OpenCB::Changing crossVersion 3.8.0-RC2 -> 3.8.0-RC2 in example-coreJVM/crossScalaVersions
147OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.8.0-RC2) in example-coreJVM/crossScalaVersions
148OpenCB::Changing crossVersion 3.8.0-RC2 -> 3.8.0-RC2 in oxygen-cliNative/crossScalaVersions
149OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.8.0-RC2) in oxygen-cliNative/crossScalaVersions
150OpenCB::Changing crossVersion 3.8.0-RC2 -> 3.8.0-RC2 in utNative/crossScalaVersions
151OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.8.0-RC2) in utNative/crossScalaVersions
152OpenCB::Changing crossVersion 3.8.0-RC2 -> 3.8.0-RC2 in oxygen-executableJVM/crossScalaVersions
153OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.8.0-RC2) in oxygen-executableJVM/crossScalaVersions
154OpenCB::Changing crossVersion 3.8.0-RC2 -> 3.8.0-RC2 in oxygen-ui-web/crossScalaVersions
155OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.8.0-RC2) in oxygen-ui-web/crossScalaVersions
156OpenCB::Changing crossVersion 3.8.0-RC2 -> 3.8.0-RC2 in oxygen-all/crossScalaVersions
157OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.8.0-RC2) in oxygen-all/crossScalaVersions
158OpenCB::Changing crossVersion 3.8.0-RC2 -> 3.8.0-RC2 in oxygen-quotedJS/crossScalaVersions
159OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.8.0-RC2) in oxygen-quotedJS/crossScalaVersions
160OpenCB::Changing crossVersion 3.8.0-RC2 -> 3.8.0-RC2 in example-apiJVM/crossScalaVersions
161OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.8.0-RC2) in example-apiJVM/crossScalaVersions
162OpenCB::Changing crossVersion 3.8.0-RC2 -> 3.8.0-RC2 in oxygen-modules-jvm/crossScalaVersions
163OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.8.0-RC2) in oxygen-modules-jvm/crossScalaVersions
164OpenCB::Changing crossVersion 3.8.0-RC2 -> 3.8.0-RC2 in example-coreJS/crossScalaVersions
165OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.8.0-RC2) in example-coreJS/crossScalaVersions
166OpenCB::Changing crossVersion 3.8.0-RC2 -> 3.8.0-RC2 in oxygen-sql/crossScalaVersions
167OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.8.0-RC2) in oxygen-sql/crossScalaVersions
168OpenCB::Changing crossVersion 3.8.0-RC2 -> 3.8.0-RC2 in example-domain/crossScalaVersions
169OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.8.0-RC2) in example-domain/crossScalaVersions
170OpenCB::Changing crossVersion 3.8.0-RC2 -> 3.8.0-RC2 in oxygen-testNative/crossScalaVersions
171OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.8.0-RC2) in oxygen-testNative/crossScalaVersions
172OpenCB::Changing crossVersion 3.8.0-RC2 -> 3.8.0-RC2 in oxygen-crypto-service/crossScalaVersions
173OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.8.0-RC2) in oxygen-crypto-service/crossScalaVersions
174OpenCB::Changing crossVersion 3.8.0-RC2 -> 3.8.0-RC2 in oxygen-httpJVM/crossScalaVersions
175OpenCB::Changing crossVersion 3.8.0-RC2 -> 3.8.0-RC2 in oxygen-quotedNative/crossScalaVersions
176OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.8.0-RC2) in oxygen-quotedNative/crossScalaVersions
177OpenCB::Changing crossVersion 3.8.0-RC2 -> 3.8.0-RC2 in oxygen-crypto-modelJVM/crossScalaVersions
178OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.8.0-RC2) in oxygen-crypto-modelJVM/crossScalaVersions
179OpenCB::Changing crossVersion 3.8.0-RC2 -> 3.8.0-RC2 in utJS/crossScalaVersions
180OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.8.0-RC2) in utJS/crossScalaVersions
181OpenCB::Changing crossVersion 3.8.0-RC2 -> 3.8.0-RC2 in example-domain-models/crossScalaVersions
182OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.8.0-RC2) in example-domain-models/crossScalaVersions
183OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.8.0-RC2) in oxygen-httpJVM/crossScalaVersions
184OpenCB::Changing crossVersion 3.8.0-RC2 -> 3.8.0-RC2 in oxygen-jsonJVM/crossScalaVersions
185OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.8.0-RC2) in oxygen-jsonJVM/crossScalaVersions
186OpenCB::Changing crossVersion 3.8.0-RC2 -> 3.8.0-RC2 in example-web-server/crossScalaVersions
187OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.8.0-RC2) in example-web-server/crossScalaVersions
188OpenCB::Changing crossVersion 3.8.0-RC2 -> 3.8.0-RC2 in oxygen-schemaNative/crossScalaVersions
189OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.8.0-RC2) in oxygen-schemaNative/crossScalaVersions
190OpenCB::Changing crossVersion 3.8.0-RC2 -> 3.8.0-RC2 in oxygen-coreJVM/crossScalaVersions
191OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.8.0-RC2) in oxygen-coreJVM/crossScalaVersions
192OpenCB::Changing crossVersion 3.8.0-RC2 -> 3.8.0-RC2 in oxygen-modules-js/crossScalaVersions
193OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.8.0-RC2) in oxygen-modules-js/crossScalaVersions
194OpenCB::Changing crossVersion 3.8.0-RC2 -> 3.8.0-RC2 in oxygen-modules-native/crossScalaVersions
195OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.8.0-RC2) in oxygen-modules-native/crossScalaVersions
196OpenCB::Changing crossVersion 3.8.0-RC2 -> 3.8.0-RC2 in oxygen-transformNative/crossScalaVersions
197OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.8.0-RC2) in oxygen-transformNative/crossScalaVersions
198OpenCB::Changing crossVersion 3.8.0-RC2 -> 3.8.0-RC2 in oxygen-executableNative/crossScalaVersions
199OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.8.0-RC2) in oxygen-executableNative/crossScalaVersions
200OpenCB::Changing crossVersion 3.8.0-RC2 -> 3.8.0-RC2 in oxygen-coreJS/crossScalaVersions
201OpenCB::Changing crossVersion 3.8.0-RC2 -> 3.8.0-RC2 in oxygen-executableJS/crossScalaVersions
202OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.8.0-RC2) in oxygen-coreJS/crossScalaVersions
203OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.8.0-RC2) in oxygen-executableJS/crossScalaVersions
204OpenCB::Changing crossVersion 3.8.0-RC2 -> 3.8.0-RC2 in oxygen-metaNative/crossScalaVersions
205OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.8.0-RC2) in oxygen-metaNative/crossScalaVersions
206OpenCB::Changing crossVersion 3.8.0-RC2 -> 3.8.0-RC2 in oxygen-transformJVM/crossScalaVersions
207OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.8.0-RC2) in oxygen-transformJVM/crossScalaVersions
208OpenCB::Changing crossVersion 3.8.0-RC2 -> 3.8.0-RC2 in oxygen-testJS/crossScalaVersions
209OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.8.0-RC2) in oxygen-testJS/crossScalaVersions
210OpenCB::Changing crossVersion 3.8.0-RC2 -> 3.8.0-RC2 in oxygen-schemaJVM/crossScalaVersions
211OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.8.0-RC2) in oxygen-schemaJVM/crossScalaVersions
212OpenCB::Changing crossVersion 3.8.0-RC2 -> 3.8.0-RC2 in oxygen-quotedJVM/crossScalaVersions
213OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.8.0-RC2) in oxygen-quotedJVM/crossScalaVersions
214OpenCB::Changing crossVersion 3.8.0-RC2 -> 3.8.0-RC2 in oxygen-sql-migration/crossScalaVersions
215OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.8.0-RC2) in oxygen-sql-migration/crossScalaVersions
216OpenCB::Changing crossVersion 3.8.0-RC2 -> 3.8.0-RC2 in oxygen-crypto-modelJS/crossScalaVersions
217OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.8.0-RC2) in oxygen-crypto-modelJS/crossScalaVersions
218OpenCB::Changing crossVersion 3.8.0-RC2 -> 3.8.0-RC2 in oxygen-transformJS/crossScalaVersions
219OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.8.0-RC2) in oxygen-transformJS/crossScalaVersions
220OpenCB::Changing crossVersion 3.8.0-RC2 -> 3.8.0-RC2 in oxygen-root/crossScalaVersions
221OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.8.0-RC2) in oxygen-root/crossScalaVersions
222OpenCB::Changing crossVersion 3.8.0-RC2 -> 3.8.0-RC2 in oxygen-cliJS/crossScalaVersions
223OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.8.0-RC2) in oxygen-cliJS/crossScalaVersions
224OpenCB::Changing crossVersion 3.8.0-RC2 -> 3.8.0-RC2 in oxygen-schemaJS/crossScalaVersions
225OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.8.0-RC2) in oxygen-schemaJS/crossScalaVersions
226OpenCB::Changing crossVersion 3.8.0-RC2 -> 3.8.0-RC2 in oxygen-testJVM/crossScalaVersions
227OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.8.0-RC2) in oxygen-testJVM/crossScalaVersions
228OpenCB::Changing crossVersion 3.8.0-RC2 -> 3.8.0-RC2 in oxygen-cliJVM/crossScalaVersions
229OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.8.0-RC2) in oxygen-cliJVM/crossScalaVersions
230[info] set current project to oxygen-root (in build file:/build/repo/)
231[info] Setting Scala version to 3.8.0-RC2 on 66 projects.
232[info] Switching Scala version on:
233[info] utNative (3.8.0-RC2)
234[info] oxygen-executableJS (3.8.0-RC2)
235[info] oxygen-quotedNative (3.8.0-RC2)
236[info] oxygen-sql (3.8.0-RC2)
237[info] oxygen-crypto-modelJVM (3.8.0-RC2)
238[info] example-coreJS (3.8.0-RC2)
239[info] oxygen-crypto-service (3.8.0-RC2)
240[info] utJVM (3.8.0-RC2)
241[info] oxygen-jsonJVM (3.8.0-RC2)
242[info] example-apiJVM (3.8.0-RC2)
243[info] example-domain (3.8.0-RC2)
244[info] oxygen-testJS (3.8.0-RC2)
245[info] oxygen-storage (3.8.0-RC2)
246[info] oxygen-httpJS (3.8.0-RC2)
247[info] oxygen-crypto-modelJS (3.8.0-RC2)
248[info] oxygen-modules-js (3.8.0-RC2)
249[info] example-api-modelsJS (3.8.0-RC2)
250[info] oxygen-schemaJS (3.8.0-RC2)
251[info] oxygen-quotedJVM (3.8.0-RC2)
252[info] example-ui (3.8.0-RC2)
253[info] oxygen-zioJVM (3.8.0-RC2)
254[info] sql-it (3.8.0-RC2)
255[info] utJS (3.8.0-RC2)
256[info] oxygen-transformJVM (3.8.0-RC2)
257[info] oxygen-modules-jvm (3.8.0-RC2)
258[info] * oxygen-root (3.8.0-RC2)
259[info] example-coreJVM (3.8.0-RC2)
260[info] oxygen-all (3.8.0-RC2)
261[info] oxygen-quotedJS (3.8.0-RC2)
262[info] example-domain-models (3.8.0-RC2)
263[info] it (3.8.0-RC2)
264[info] oxygen-sql-migration (3.8.0-RC2)
265[info] oxygen-metaJVM (3.8.0-RC2)
266[info] oxygen-testJVM (3.8.0-RC2)
267[info] oxygen-metaJS (3.8.0-RC2)
268[info] oxygen-coreJS (3.8.0-RC2)
269[info] oxygen-executableJVM (3.8.0-RC2)
270[info] oxygen-cliJS (3.8.0-RC2)
271[info] oxygen-httpJVM (3.8.0-RC2)
272[info] example-apiJS (3.8.0-RC2)
273[info] oxygen-coreJVM (3.8.0-RC2)
274[info] oxygen-jsonJS (3.8.0-RC2)
275[info] http-it (3.8.0-RC2)
276[info] oxygen-executableNative (3.8.0-RC2)
277[info] oxygen-testNative (3.8.0-RC2)
278[info] oxygen-cliJVM (3.8.0-RC2)
279[info] oxygen-sql-test (3.8.0-RC2)
280[info] example-domain-impl (3.8.0-RC2)
281[info] oxygen-crypto-modelNative (3.8.0-RC2)
282[info] oxygen-zioJS (3.8.0-RC2)
283[info] oxygen-transformNative (3.8.0-RC2)
284[info] oxygen-transformJS (3.8.0-RC2)
285[info] oxygen-ui-web (3.8.0-RC2)
286[info] oxygen-modules (3.8.0-RC2)
287[info] oxygen-schemaJVM (3.8.0-RC2)
288[info] oxygen-jsonNative (3.8.0-RC2)
289[info] oxygen-cliNative (3.8.0-RC2)
290[info] example (3.8.0-RC2)
291[info] example-web-server (3.8.0-RC2)
292[info] example-api-modelsJVM (3.8.0-RC2)
293[info] oxygen-modules-native (3.8.0-RC2)
294[info] oxygen-schemaNative (3.8.0-RC2)
295[info] oxygen-zioNative (3.8.0-RC2)
296[info] oxygen-coreNative (3.8.0-RC2)
297[info] oxygen-test-container (3.8.0-RC2)
298[info] oxygen-metaNative (3.8.0-RC2)
299[info] Excluding projects:
300[info] Reapplying settings...
301[info] set current project to oxygen-root (in build file:/build/repo/)
302Execute mapScalacOptions: ,REQUIRE:-source:3.8,-Wconf:msg=can be rewritten automatically under:s ,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
303[info] Reapplying settings...
304[info] set current project to oxygen-root (in build file:/build/repo/)
305[info] Defining Global / credentials, credentials and 64 others.
306[info] The new values will be used by Global / pgpSelectPassphrase, Global / pgpSigningKey and 329 others.
307[info] Run `last` for details.
308[info] Reapplying settings...
309[info] set current project to oxygen-root (in build file:/build/repo/)
310Execute excludeLibraryDependency: com.github.ghik:zerowaste_{scalaVersion} com.olegpy:better-monadic-for_3 org.polyvariant:better-tostring_{scalaVersion} org.wartremover:wartremover_{scalaVersion}
311[info] Reapplying settings...
312OpenCB::Failed to reapply settings in excludeLibraryDependency: Reference to undefined setting:
313
314 Global / allExcludeDependencies from Global / allExcludeDependencies (CommunityBuildPlugin.scala:331)
315 Did you mean example-ui / allExcludeDependencies ?
316 , retry without global scopes
317[info] Reapplying settings...
318[info] set current project to oxygen-root (in build file:/build/repo/)
319Execute removeScalacOptionsStartingWith: -P:wartremover
320[info] Reapplying settings...
321[info] set current project to oxygen-root (in build file:/build/repo/)
322[success] Total time: 0 s, completed Nov 28, 2025, 2:51:34 PM
323Build config: {"projects":{"exclude":[],"overrides":{}},"java":{"version":"17"},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"full","migrationVersions":[],"sourcePatches":[{"path":"project/Settings.scala","pattern":"val Scala_3 = \"3.7.1\"","replaceWith":"val Scala_3 = \"<SCALA_VERSION>\""}]}
324Parsed config: Success(ProjectBuildConfig(ProjectsConfig(List(),Map()),Full,List()))
325Starting build...
326Projects: Set(oxygen-sql, oxygen-crypto-modelJVM, oxygen-crypto-service, utJVM, oxygen-jsonJVM, oxygen-storage, oxygen-quotedJVM, oxygen-zioJVM, oxygen-transformJVM, oxygen-sql-migration, oxygen-metaJVM, oxygen-testJVM, oxygen-executableJVM, oxygen-httpJVM, oxygen-coreJVM, oxygen-cliJVM, oxygen-sql-test, oxygen-schemaJVM, oxygen-test-container)
327Starting build for ProjectRef(file:/build/repo/,oxygen-transformJVM) (oxygen-transform)... [0/19]
328OpenCB::Exclude Scala3 specific scalacOption `REQUIRE:-source:3.8` in Scala 2.12.20 module Global
329OpenCB::Filter out '-source:future', matches setting pattern '^-?-source(:.*)?'
330OpenCB::Filter out '-Werror', matches setting pattern '^-?-Werror'
331OpenCB::Filter out '-deprecation', matches setting pattern '^-?-deprecation'
332OpenCB::Filter out '-feature', matches setting pattern '^-?-feature'
333Compile scalacOptions: -Ycheck-all-patmat, -Wunused:all, -language:implicitConversions, -Yretain-trees, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
334[info] compiling 35 Scala sources to /build/repo/modules/general/quoted/.jvm/target/scala-3.8.0-RC2/classes ...
335[info] compiling 65 Scala sources to /build/repo/modules/general/core/.jvm/target/scala-3.8.0-RC2/classes ...
336[info] done compiling
337[info] done compiling
338[info] compiling 18 Scala sources to /build/repo/modules/general/meta/.jvm/target/scala-3.8.0-RC2/classes ...
339[info] done compiling
340[info] compiling 5 Scala sources to /build/repo/modules/general/transform/.jvm/target/scala-3.8.0-RC2/classes ...
341[info] done compiling
342[info] compiling 18 Scala sources to /build/repo/modules/general/json/.jvm/target/scala-3.8.0-RC2/classes ...
343[info] done compiling
344[info] compiling 27 Scala sources to /build/repo/modules/general/zio/.jvm/target/scala-3.8.0-RC2/classes ...
345[info] done compiling
346[info] compiling 10 Scala sources to /build/repo/modules/general/test-utils/.jvm/target/scala-3.8.0-RC2/classes ...
347[info] done compiling
348[info] compiling 3 Scala sources to /build/repo/modules/general/transform/.jvm/target/scala-3.8.0-RC2/test-classes ...
349[info] done compiling
350+ TransformSpec
351 + givens
352 + id - String
353 + some - String
354 + seq - Password
355 + seq - String
356 + derived
357 + domain.Person -> api.Person
358 + domain.SumExample.A -> api.SumExample.A
359 + domain.SumExample.B -> api.SumExample.B
3607 tests passed. 0 tests failed. 0 tests ignored.
361
362Executed in 333 ms
363
364Starting build for ProjectRef(file:/build/repo/,oxygen-httpJVM) (oxygen-http-zio)... [1/19]
365Compile scalacOptions: -Ycheck-all-patmat, -Wunused:all, -language:implicitConversions, -Yretain-trees, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
366[info] compiling 8 Scala sources to /build/repo/modules/crypto/model/.jvm/target/scala-3.8.0-RC2/classes ...
367[info] done compiling
368[info] compiling 5 Scala sources to /build/repo/modules/general/schema/.jvm/target/scala-3.8.0-RC2/classes ...
369[info] done compiling
370[info] compiling 58 Scala sources to /build/repo/modules/http/zio/.jvm/target/scala-3.8.0-RC2/classes ...
371[warn] -- [E198] Unused Symbol Warning: /build/repo/modules/http/zio/.jvm/src/main/scala/oxygen/http/server/ResponseHandler.scala:6:17
372[warn] 6 |import zio.http.{Body, Response, Status}
373[warn] | ^^^^
374[warn] | unused import
375[warn] one warning found
376[info] done compiling
377[info] compiling 1 Scala source to /build/repo/modules/http/zio/.jvm/target/scala-3.8.0-RC2/test-classes ...
378[info] done compiling
379+ MultiClientSpec
380 + can support multiple clients which send to base URL
3811 tests passed. 0 tests failed. 0 tests ignored.
382
383Executed in 492 ms
384
385Starting build for ProjectRef(file:/build/repo/,oxygen-crypto-service) (oxygen-crypto-service)... [2/19]
386Compile scalacOptions: -Ycheck-all-patmat, -Wunused:all, -language:implicitConversions, -Yretain-trees, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
387[info] compiling 6 Scala sources to /build/repo/modules/crypto/service/target/scala-3.8.0-RC2/classes ...
388[info] done compiling
389[info] compiling 5 Scala sources to /build/repo/modules/crypto/service/target/scala-3.8.0-RC2/test-classes ...
390[info] done compiling
391+ JWTServiceSpec
392 + rsa
393 + can issue and validate its own token
394 + fails on expired token - after
395 + fails on invalid token
396 + fails on expired token - exact
397 + hmac
398 + can issue and validate its own token
399 + fails on invalid token
400 + fails on expired token - after
401 + fails on expired token - exact
402+ EncryptionServiceSpec
403 + no-op
404 + can 'encrypt' and 'decrypt', and the value is the same
405 + live
406 + encrypting the same value with the same service creates different IV and Cypher
407 + attempting to decrypt with invalid key fails
408 + fails with invalid IV
409 + basic round-trip works
410+ JWTServiceSpec
411 + none
412 + can issue and validate its own token - 1
413 + invalid algo
414 + invalid algo detected
415 + hmac
416 + detects invalid signature
417 + fails with invalid key - 1
418 + can issue and validate its own token - 2
419 + can issue and validate its own token - 1
420 + fails with invalid key - 2
421 + rsa
422 + can issue and validate its own token - 1
423 + detects invalid signature
424 + can issue and validate its own token - 1
425 + fails with invalid key - 1
426 + fails with invalid key - 2
42725 tests passed. 0 tests failed. 0 tests ignored.
428
429Executed in 571 ms
430
431Starting build for ProjectRef(file:/build/repo/,oxygen-testJVM) (oxygen-test)... [3/19]
432Compile scalacOptions: -Ycheck-all-patmat, -Wunused:all, -language:implicitConversions, -Yretain-trees, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
433[info] compiling 1 Scala source to /build/repo/modules/general/test-utils/.jvm/target/scala-3.8.0-RC2/test-classes ...
434[info] done compiling
435+ TestExamplesSpec
436 + flatMap
437 + finite
438 + gen
439 + derived
4404 tests passed. 0 tests failed. 0 tests ignored.
441
442Executed in 302 ms
443
444Starting build for ProjectRef(file:/build/repo/,oxygen-storage) (oxygen-storage)... [4/19]
445Compile scalacOptions: -Ycheck-all-patmat, -Wunused:all, -language:implicitConversions, -Yretain-trees, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
446[info] compiling 2 Scala sources to /build/repo/modules/sql/storage/target/scala-3.8.0-RC2/classes ...
447[info] done compiling
448Starting build for ProjectRef(file:/build/repo/,oxygen-quotedJVM) (oxygen-quoted)... [5/19]
449Compile scalacOptions: -Ycheck-all-patmat, -Wunused:all, -language:implicitConversions, -Yretain-trees, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
450Starting build for ProjectRef(file:/build/repo/,utJVM) (oxygen-core)... [6/19]
451Compile scalacOptions: -Ycheck-all-patmat, -Wunused:all, -language:implicitConversions, -Yretain-trees, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
452[info] compiling 38 Scala sources to /build/repo/modules/tests/pre-test-unit-tests/.jvm/target/scala-3.8.0-RC2/test-classes ...
453[info] done compiling
454+ StreamAggregatorSpec
455 + single
456 + non-empty
457 + empty
458 + many
459 + empty
460 + non-empty
461 + mega
462 + empty
463 + case-1
464 + aOptB
465 + empty
466 + case-1
467 + case-2
468 + optional
469 + empty
470 + non-empty
471+ MyGlobalLayerSpec
472 + test #1
473 + test #2
474 + test #3
475 + test #4
476 + test #5
477+ ParTraverseSpec
478 + parTraverse
479 + list/either
480 + case 1
481 + case 2
482 + case 3
483 + nel/either
484 + case 1
485 + case 2
486 + case 3
487+ EnumSpec
488 + EnumWithOther
489 + EnumSpec.Enum3 / "A" / A
490 + EnumSpec.Enum3 / "a" / A
491 + EnumSpec.Enum3 / "B" / B
492 + EnumSpec.Enum3 / "b" / B
493 + EnumSpec.Enum3 / "other-1" / C(other-1)
494 + EnumSpec.Enum3 / "OTHER-2" / C(OTHER-2)
495 + StrictEnum
496 + EnumSpec.Enum2 / "case-a" / CaseA
497 + EnumSpec.Enum1 / "A" / A
498+ NonEmptyListSpec
499 + EnumSpec.Enum1 / "a" / A
500 + EnumSpec.Enum1 / "Aa" / A
501 + fromList
502 + EnumSpec.Enum2 / "case-C" / CaseC
503 + round trip: A
504 + round trip: B
505 + EnumSpec.Enum2 / "CASE-B" / CaseB
506 + round trip: CaseC
507 + round trip: C
508 + round trip: CaseA
509 + round trip: CaseB
510+ ColorStringSpec
511 + split
512 + nested - color
513 + "-[-|-...-|-]-" : "-"
514 + simple
515 + "[-]" : "-"
516 + "[-|-]" : "-"
517 + "-[-|-]-" : "-"
518 + "" : "-"
519 + nested - no color
520 + "-[-|-]-" : "-"
521 + "-[-|-]-" : "-"
522 + "-[--|--]-" : "-"
523 + "[-|-]" : "-"
524 + "[--|--]" : "-"
525 + "[-|-]" : "-"
526 + interpolation
527 + []
528 + [...]
529 + [...]
530 + [...???...]
531 + [|]
532 + toString
533 + [...???...] + Colorless
534 + [...???...] + Extended
535 + [...???...] + Extended
536 + non-empty
537 + [[...???...]] + Extended
538 + [...[48;2;0;0;128m???...] + PreferSimple
539 + [...[48;2;0;0;128m???...] + Extended
540 + [...???...] + Simple
541 + [...[48;2;0;0;128m???...] + Simple
542 + [...[48;2;0;0;128m???...] + ShowColorName
543+ ShowSpec
544 + derives Show.ToString
545 + .show extension
546 + `sh` interpolator
547+ IndentedStringSpec
548 + break
549 + str
550 + strs
551 + section
552 + prefix-str
553 + prefix-strs
554 + prefix-indented
555 + sections
556+ FunctorSpec
557 + map
558 + list
559 + seq
560 + nel
561 + option
562 + some->some
563 + some->none
564 + none->some
565 + none->none
566 + empty
567 + unapply
568 + nel
569 + list - non-empty
570 + list - non-empty
571 + growing
572 + concat ops work
573 + concat ops via SeqLike works
574 + of
575 + fill
576 + 1
577 + 5
578+ UnionRemovingSpec
579 + removes
580 + Test on line #55
581 + Test on line #56
582 + Test on line #58
583 + Test on line #57
584 + Test on line #59
585 + remains
586 + Test on line #62
587 + Test on line #63
588 + Test on line #64
589 + Test on line #65
590 + Test on line #66
591+ MyNonGlobalLayerSpec
592 + test #1
593 + test #2
594 + test #3
595 + test #4
596 + test #5
597+ GrowableSpec
598 + Many
599 + Concat
600 + Empty
601 + Single
602 + Map
603 + Map
604 + Filter
605 + FilterNot
606 + FlatMap + Fill
607 + Collect
608 + Distinct
609 + DistinctBy
610+ InfiniteSetSpec
611 + &
612 + (Inclusive(A,B),Inclusive(B,C))
613 + (Inclusive(A,B),Inclusive(A,B))
614 + (Inclusive(A,B),Exclusive(A,B))
615 + (Inclusive(A,B),Inclusive(C,D))
616 + (Inclusive(A,B),Exclusive(C,D))
617 + (Inclusive(B,C),Inclusive(A,B))
618 + (Inclusive(B,C),Inclusive(C,D))
619 + (Inclusive(B,C),Exclusive(A,B))
620 + (Inclusive(A,B),Exclusive(B,C))
621 + (Inclusive(B,C),Exclusive(B,C))
622 + (Inclusive(B,C),Exclusive(C,D))
623 + (Inclusive(B,C),Inclusive(B,C))
624 + (Inclusive(C,D),Inclusive(C,D))
625 + (Inclusive(C,D),Inclusive(B,C))
626 + (Inclusive(C,D),Exclusive(B,C))
627 + (Inclusive(C,D),Inclusive(A,B))
628 + (Inclusive(C,D),Exclusive(A,B))
629 + (Exclusive(A,B),Inclusive(A,B))
630 + (Inclusive(C,D),Exclusive(C,D))
631 + (Exclusive(A,B),Exclusive(A,B))
632 + (Exclusive(A,B),Exclusive(C,D))
633 + (Exclusive(A,B),Inclusive(B,C))
634 + (Exclusive(A,B),Inclusive(C,D))
635 + (Exclusive(A,B),Exclusive(B,C))
636 + (Exclusive(B,C),Inclusive(A,B))
637 + (Exclusive(B,C),Exclusive(B,C))
638 + (Exclusive(B,C),Exclusive(A,B))
639 + (Exclusive(B,C),Exclusive(C,D))
640 + (Exclusive(B,C),Inclusive(B,C))
641 + (Exclusive(B,C),Inclusive(C,D))
642 + (Exclusive(C,D),Inclusive(B,C))
643 + (Exclusive(C,D),Inclusive(A,B))
644 + (Exclusive(C,D),Exclusive(B,C))
645 + (Exclusive(C,D),Inclusive(C,D))
646 + (Exclusive(C,D),Exclusive(A,B))
647 + (Exclusive(C,D),Exclusive(C,D))
648 + |
649 + (Inclusive(A,B),Inclusive(A,B))
650 + (Inclusive(A,B),Inclusive(B,C))
651 + (Inclusive(A,B),Inclusive(C,D))
652 + (Inclusive(A,B),Exclusive(A,B))
653 + (Inclusive(A,B),Exclusive(B,C))
654 + (Inclusive(A,B),Exclusive(C,D))
655 + (Inclusive(B,C),Inclusive(A,B))
656 + (Inclusive(B,C),Inclusive(B,C))
657 + (Inclusive(B,C),Inclusive(C,D))
658 + (Inclusive(B,C),Exclusive(A,B))
659 + (Inclusive(C,D),Inclusive(A,B))
660 + (Inclusive(C,D),Inclusive(B,C))
661 + (Inclusive(B,C),Exclusive(B,C))
662 + (Inclusive(C,D),Inclusive(C,D))
663 + (Inclusive(B,C),Exclusive(C,D))
664 + (Inclusive(C,D),Exclusive(A,B))
665 + (Inclusive(C,D),Exclusive(C,D))
666 + (Exclusive(A,B),Inclusive(A,B))
667 + (Exclusive(A,B),Inclusive(B,C))
668 + (Exclusive(A,B),Exclusive(A,B))
669 + (Exclusive(A,B),Inclusive(C,D))
670 + (Exclusive(A,B),Exclusive(B,C))
671 + (Inclusive(C,D),Exclusive(B,C))
672 + (Exclusive(A,B),Exclusive(C,D))
673 + (Exclusive(B,C),Inclusive(A,B))
674 + (Exclusive(B,C),Inclusive(B,C))
675 + (Exclusive(B,C),Exclusive(A,B))
676 + (Exclusive(B,C),Exclusive(B,C))
677 + (Exclusive(B,C),Exclusive(C,D))
678 + (Exclusive(C,D),Inclusive(A,B))
679 + (Exclusive(C,D),Inclusive(B,C))
680 + (Exclusive(C,D),Inclusive(C,D))
681+ SeqOpsSpec
682 + (Exclusive(C,D),Exclusive(A,B))
683 + (Exclusive(B,C),Inclusive(C,D))
684 + (Exclusive(C,D),Exclusive(B,C))
685 + (Exclusive(C,D),Exclusive(C,D))
686 + &~
687 + intersperse
688 + (Inclusive(A,B),Inclusive(A,B))
689 + (Inclusive(A,B),Inclusive(B,C))
690 + (Inclusive(A,B),Inclusive(C,D))
691 + (Inclusive(A,B),Exclusive(A,B))
692 + (Inclusive(A,B),Exclusive(B,C))
693 + (Inclusive(A,B),Exclusive(C,D))
694 + (Inclusive(B,C),Inclusive(A,B))
695 + (Inclusive(B,C),Inclusive(B,C))
696 + (Inclusive(B,C),Exclusive(B,C))
697 + (Inclusive(B,C),Exclusive(C,D))
698 + (Inclusive(C,D),Inclusive(A,B))
699 + (Inclusive(C,D),Inclusive(B,C))
700 + (Inclusive(B,C),Inclusive(C,D))
701 + (Inclusive(B,C),Exclusive(A,B))
702 + (Inclusive(C,D),Exclusive(B,C))
703 + (Exclusive(A,B),Inclusive(A,B))
704 + (Inclusive(C,D),Exclusive(C,D))
705 + (Inclusive(C,D),Inclusive(C,D))
706 + (Inclusive(C,D),Exclusive(A,B))
707 + (Exclusive(A,B),Inclusive(B,C))
708 + (Exclusive(A,B),Exclusive(C,D))
709 + (Exclusive(A,B),Exclusive(A,B))
710 + (Exclusive(A,B),Exclusive(B,C))
711 + (Exclusive(B,C),Inclusive(A,B))
712 + (Exclusive(B,C),Exclusive(A,B))
713 + (Exclusive(A,B),Inclusive(C,D))
714 + (Exclusive(B,C),Inclusive(B,C))
715 + (Exclusive(B,C),Exclusive(B,C))
716 + (Exclusive(B,C),Inclusive(C,D))
717 + (Exclusive(C,D),Inclusive(B,C))
718 + (Exclusive(C,D),Exclusive(A,B))
719 + (Exclusive(C,D),Exclusive(B,C))
720 + (Exclusive(C,D),Exclusive(C,D))
721 + (Exclusive(B,C),Exclusive(C,D))
722 + (Exclusive(C,D),Inclusive(A,B))
723 + (Exclusive(C,D),Inclusive(C,D))
724 + non-empty
725 + empty
726 + surround
727 + non-empty
728 + empty
729+ DeriveSchemaSpec
730 + Product1
731 + works
732 + Product2
733 + works
734 + Sum1
735 + works
736 + Sum2
737 + works
738+ SpecifiedSpec
739 + decode
740 + { "i": 1 }
741 + { "s": null }
742 + {}
743 + { "s": "s" }
744 + { "b": [true, false] }
745 + { "w": 25 }
746 + { "i": 1, "s": "s", "b": [true, false] }
747 + { "b": [] }
748 + round trip
749 + MyClass(<<unspecified>>,<<unspecified>>,<<unspecified>>,<<unspecified>>)
750 + MyClass(1,<<unspecified>>,<<unspecified>>,<<unspecified>>)
751 + MyClass(<<unspecified>>,Some(s),<<unspecified>>,<<unspecified>>)
752 + MyClass(<<unspecified>>,None,<<unspecified>>,<<unspecified>>)
753 + MyClass(<<unspecified>>,<<unspecified>>,List(true, false),<<unspecified>>)
754 + MyClass(1,Some(s),List(true, false),<<unspecified>>)
755 + MyClass(<<unspecified>>,<<unspecified>>,List(),<<unspecified>>)
756+ ApplicativeSpec
757 + pure
758 + list
759 + nel
760 + either
761 + seq
762 + option
763 + ap
764 + nel
765 + list
766 + non-empty/non-empty
767 + empty/non-empty
768 + non-empty/empty
769+ MacroSpec
770 + seq
771 + either
772 + right/right
773 + left/right
774 + right/left
775 + left/left
776 + option
777 + none/none
778 + some/some
779 + none/some
780 + some/none
781+ FunctorSpec
782 + map
783 + seq
784 + empty
785 + non-empty
786 + option
787 + some
788 + none
789 + either
790 + right
791 + left
792 + list
793 + empty
794 + non-empty
795 + nel
796+ TypeTagSpec
797 + from:
798 + make
799 + classTag
800 + boolean
801 + java.lang.String
802 + oxygen.core.TypeTagSpec.types.Companion
803 + int
804 + oxygen.core.TypeTagSpec.types.NonGeneric
805 + oxygen.core.TypeTagSpec.types.Generic[D, E, F]
806 + oxygen.core.TypeTagSpec.types.Stage1[A]
807 + oxygen.core.TypeTagSpec.types.Stage1.Stage2[B]
808 + oxygen.core.TypeTagSpec.types.Stage1.Stage2.Stage3[C]
809 + derived
810 + scala.Int
811 + scala.Boolean
812 + java.lang.String
813 + oxygen.core.TypeTagSpec.types.Companion
814 + oxygen.core.TypeTagSpec.types.NonGeneric
815 + oxygen.core.TypeTagSpec.types.Stage1[scala.Int].Stage2[java.lang.String].Stage3[scala.Boolean]
816 + derives param correctly
817 + oxygen.core.TypeTagSpec.types.Generic[scala.Int, scala.Boolean, java.lang.String]
818 + oxygen.core.TypeTagSpec.types.Stage1[scala.Int]
819 + oxygen.core.TypeTagSpec.types.Stage1[scala.Int].Stage2[java.lang.String]
820 + List()
821 + List(1, 2, 3)
822 + List(1, 2, 3)
823 + product transform
824 + () <-> CaseClass0()
825 + 5 <-> CaseClass1(5)
826 + () <-> CaseObject0
827 + (5,s,true) <-> CaseClass2(5,s,true)
828 + default args
829 + Class1
830 + enum values
831 + Sum1
832 + Sum3
833 + Sum4
834 + Sum2
835 + Sum5
836 + matching
837 + strings
838 + const + const
839 + abc + const
840 + const + def
841 + abc + def
842[[38;2;255;255;0mWARN ]: [38;2;236;140;131mtimestamp=[38;2;130;114;233m2025-11-28T13:53:42.649219822Z [38;2;236;140;131mlocation=[38;2;130;114;233moxygen.zio.system.CommandSpec.testSpec [38;2;236;140;131mfile=[38;2;130;114;233mCommandSpec.scala [38;2;236;140;131mline=[38;2;130;114;233m25 [38;2;236;140;131mfiber-id=[38;2;130;114;233mzio-fiber-21865
843[ ]: [38;2;242;108;167mcommand=[38;2;18;71;248mecho
844[ ]: [38;2;125;205;133mCommandSpec / command / executes as expected=[38;2;223;41;53m88 ms
845[ ]: command-1
846+ VersionSpec
847 + ordering
848 + parse
849 + 1.2.3-RC1
850 + v1.2.3-SNAPSHOT
851 + 1.2.3-what
852 + 1.2.3
853 + v1.2.3
854+ TraverseSpec
855 + travers
856 + nel/option
857 + case 2
858 + case 1
859 + list/option
860 + case 1
861 + case 2
862 + nel/either
863 + case 2
864 + case 3
865 + case 1
866 + list/either
867 + case 1
868 + case 3
869 + case 2
870+ QuotedSpec
871+ StringOpsSpec
872 + empty
873 + "" : "-"
874 + 1
875 + "-|-" : "-"
876 + "|-" : "-"
877 + "-|" : "-"
878 + "|" : "-"
879 + 2
880 + "[-]" : "-"
881 + "-[-]-" : "-"
882 + "[-]-" : "-"
883 + "-[-]" : "-"
884 + 4
885 + "-[-|-|-]-" : "-"
886 + "[-|-|-]-" : "-"
887 + "-[-|-|-]" : "-"
888 + "[-|-|-]" : "-"
889+ CommandSpec
890 + command
891 + Class3
892 + command builds properly
893 + Class1
894 + executes as expected
895 + Class2
896+ EncodedThrowableSpec
897 + "error\n Cause: java.lang.RuntimeException"
898 + "error\n Cause: error2"
899 + "java.lang.RuntimeException"
900 + "error"
901+ DeriveShowSpec
902 + CaseClass1
903 + some
904 + none
905 + CaseObject1
906 + simple
907 + CaseClass3
908 + string
909 + int
910 + CaseClass2
911 + simple
912 + AnyVal1
913 + simple
914 + CaseClass4
915 + 1 level
916 + 2 levels
917 + 3 levels
918 + Enum1
919 + A
920 + B
921 + Enum3
922 + A
923 + B
924+ DerivedFromAndToExprSpec
925 + ToExpr
926 + product
927 + sum
928 + FromExpr
929 + product 1
930 + product 2
931 + sum 1
932 + sum 2
933 + sum 3
934+ JsonSpec
935 + derived instances
936 + Product1
937 + JsonSpec.Product1 -> {"s":"ABC","b":true,"i":123}
938 + JsonSpec.Product1 -> {"s":"ABC","b":true}
939 + Product3
940 + JsonSpec.Product3 -> {"f1":1,"f2":"hi"}
941 + Product2
942 + JsonSpec.Product2 -> {"name":"A"}
943 + JsonSpec.Product2 -> {"name":"A","inner":{"name":"B"}}
944 + JsonSpec.Product2 -> {"name":"A","inner":{"name":"B","inner":{"name":"C"}}}
945 + WrappedBoolean
946 + JsonSpec.WrappedBoolean -> true
947 + Sum2
948 + JsonSpec.Sum2 -> {"c1":{"f1":1}}
949 + JsonSpec.Sum2 -> {"Case2":{"b":true}}
950 + Sum3
951 + JsonSpec.Sum3 -> {"type":"c1","f1":1}
952 + JsonSpec.Sum3 -> {"type":"Case2","b":true}
953 + Sum1
954 + JsonSpec.Sum1 -> {"S":{"s":"ABC"}}
955 + JsonSpec.Sum1 -> {"B":{"b":true}}
956 + JsonSpec.Sum1 -> {"I":{"i":123}}
957 + JsonSpec.Sum1 -> {"I":{}}
958 + JsonSpec.Sum1 -> {"P":{"p":{"s":"ABC","b":false}}}
959 + provided instances
960 + String -> "ABC"
961 + Int -> 123
962 + Boolean -> true
963 + Month -> "July"
964 + Option[Boolean] -> true
965 + Option[Boolean] -> false
966 + Option[Boolean] -> null
967 + seq
968 + Seq[Int] -> []
969 + List[Int] -> []
970 + Vector[Int] -> []
971 + Seq[Int] -> [1,2,3]
972 + <fails> NonEmptyList[Int] -> []
973 + List[Int] -> [1,2,3]
974 + Vector[Int] -> [1,2,3]
975+ ZipNSpec
976 + Zip4
977 + (1, (), (), ()) <-> 1
978 + ((), (), (), ()) <-> ()
979 + (1, 2, (), ()) <-> (1,2)
980 + (1, (), (), 2) <-> (1,2)
981 + (1, 2, 3, 4) <-> (1,2,3,4)
982 + ((), (), (), 1) <-> 1
983 + ((1,2), (3,4), (5,6), (7,8)) <-> (1,2,3,4,5,6,7,8)
984 + Zip5
985 + ((), (), (), (), ()) <-> ()
986 + (1, (), (), (), ()) <-> 1
987 + ((), (), (), (), 1) <-> 1
988 + (1, 2, (), (), ()) <-> (1,2)
989 + (1, 2, 3, 4, 5) <-> (1,2,3,4,5)
990 + (1, (), (), (), 2) <-> (1,2)
991 + ((1,2), (3,4), (5,6), (7,8), (9,10)) <-> (1,2,3,4,5,6,7,8,9,10)
992 + Zip3
993 + ((), (), ()) <-> ()
994 + (1, (), ()) <-> 1
995 + ((), (), 1) <-> 1
996 + (1, 2, ()) <-> (1,2)
997 + (1, (), 2) <-> (1,2)
998 + (1, 2, 3) <-> (1,2,3)
999 + ((1,2), (3,4), (5,6)) <-> (1,2,3,4,5,6)
1000 + ((1,2), ()) <-> (1,2)
1001 + ((), (1,2)) <-> (1,2)
1002+ ZipSpec
1003 + ((), 1) <-> 1
1004 + (1, ()) <-> 1
1005 + ((1,2), 3) <-> (1,2,3)
1006 + ((), ()) <-> ()
1007 + ((1,2), (3,4)) <-> (1,2,3,4)
1008 + (1, 2) <-> (1,2)
1009 + (1, (2,3)) <-> (1,2,3)
1010+ SeqOpsSpec
1011 + List() <-> Vector()
1012 + List(1, 2, 3) <-> List(1, 2, 3)
1013 + List(1, 2, 3) <-> List(1, 2, 3)
1014 + List(1, 2, 3) <-> Vector(1, 2, 3)
1015 + List(1, 2, 3) <-> List(1, 2, 3)
1016+ StringCodecSpec
1017 + misc
1018 + LocalDate : 2024-01-02 - having fun with it (1)
1019 + Instant : 2020-09-13T12:26:40Z - having fun with it (2)
1020 + base64
1021 + String : ABC\nDEF% - base64
1022 + String : ABC\nDEF% - base64Url
1023 + String : ABC\nDEF% - base64Mime
1024 + String : ABC\nDEF% - base64NoPadding
1025 + String : ABC\nDEF% - base64UrlNoPadding
1026 + String : ABC\nDEF% - base64MimeNoPadding
1027 + standard
1028 + string
1029 + String : string
1030 + boolean
1031 + Boolean : true
1032 + Boolean : false
1033 + int
1034 + Int : 25
1035 + Int : -25
1036 + Int : 37
1037 + float
1038 + Float : 25.47
1039 + Float : -25.47
1040 + instant
1041 + Instant : 2020-09-13T12:26:40Z
1042 + zone offset
1043 + ZoneOffset : -07:00
1044 + ZoneOffset : +05:00
1045 + time zone
1046 + TimeZone : sun.util.calendar.ZoneInfo[id=\"MST\",offset=-25200000,dstSavings=0,useDaylight=false,transitions=0,lastRule=null]
1047 + zone id
1048 + ZoneId : America/Denver
1049 + offset date time
1050 + OffsetDateTime : 2020-01-01T01:02:03+05:00
1051 + OffsetDateTime : 2020-01-01T01:02:03Z
1052 + zoned date time
1053 + ZonedDateTime : 2020-01-01T01:02:03Z
1054 + ZonedDateTime : 2020-01-01T01:02:03+05:00
1055 + ZonedDateTime : 2020-01-01T01:02:03-07:00[America/Denver]
1056 + local date time
1057 + LocalDateTime : 2024-02-04T15:30:45
1058 + LocalDateTime : 2020-02-04T14:00
1059 + LocalDateTime : 2020-02-04T14:40
1060 + local date
1061 + LocalDate : 2020-02-04
1062 + LocalDate : 2020-02-04
1063 + LocalDate : 1820-02-04
1064 + LocalDate : 2020-02-04
1065 + LocalDate : 2020-02-04
1066 + LocalDate : 1820-02-04
1067 + local time
1068 + LocalTime : 15:30:45
1069 + LocalTime : 03:30:45
1070 + LocalTime : 01:00
1071 + LocalTime : 01:23
1072 + LocalTime : 13:23:45
1073 + LocalTime : 13:00
1074 + LocalTime : 13:23
1075 + LocalTime : 00:00
1076 + LocalTime : 12:00
1077 + LocalTime : 01:23:45
1078 + duration
1079 + Duration : PT1H
1080 + Duration : PT672H
1081 + Duration : PT1H30M
1082486 tests passed. 0 tests failed. 0 tests ignored.
1083
1084Executed in 2 s 593 ms
1085
1086Starting build for ProjectRef(file:/build/repo/,oxygen-crypto-modelJVM) (oxygen-crypto-model)... [7/19]
1087Compile scalacOptions: -Ycheck-all-patmat, -Wunused:all, -language:implicitConversions, -Yretain-trees, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
1088Starting build for ProjectRef(file:/build/repo/,oxygen-executableJVM) (oxygen-executable)... [8/19]
1089Compile scalacOptions: -Ycheck-all-patmat, -Wunused:all, -language:implicitConversions, -Yretain-trees, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
1090[info] compiling 10 Scala sources to /build/repo/modules/general/cli/.jvm/target/scala-3.8.0-RC2/classes ...
1091[info] done compiling
1092[info] compiling 7 Scala sources to /build/repo/modules/general/executable/.jvm/target/scala-3.8.0-RC2/classes ...
1093[info] done compiling
1094[info] compiling 2 Scala sources to /build/repo/modules/general/cli/.jvm/target/scala-3.8.0-RC2/test-classes ...
1095[info] done compiling
1096[info] compiling 1 Scala source to /build/repo/modules/general/executable/.jvm/target/scala-3.8.0-RC2/test-classes ...
1097[info] done compiling
1098+ ExecutableAppParserSpec
1099 + passing
1100 + jar resource
1101 + env var
1102 + empty
1103 + file
1104 + raw (invalid json)
1105 + raw (valid json)
1106 + env var (with nesting)
1107 + raw (valid json + with nesting)
1108 + raw (invalid json + with nesting)
1109 + zio default
1110 + zio default (short)
111111 tests passed. 0 tests failed. 0 tests ignored.
1112
1113Executed in 388 ms
1114
1115Starting build for ProjectRef(file:/build/repo/,oxygen-jsonJVM) (oxygen-json)... [9/19]
1116Compile scalacOptions: -Ycheck-all-patmat, -Wunused:all, -language:implicitConversions, -Yretain-trees, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
1117Starting build for ProjectRef(file:/build/repo/,oxygen-zioJVM) (oxygen-zio)... [10/19]
1118Compile scalacOptions: -Ycheck-all-patmat, -Wunused:all, -language:implicitConversions, -Yretain-trees, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
1119Starting build for ProjectRef(file:/build/repo/,oxygen-metaJVM) (oxygen-meta)... [11/19]
1120Compile scalacOptions: -Ycheck-all-patmat, -Wunused:all, -language:implicitConversions, -Yretain-trees, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
1121Starting build for ProjectRef(file:/build/repo/,oxygen-sql-migration) (oxygen-sql-migration)... [12/19]
1122Compile scalacOptions: -Ycheck-all-patmat, -Wunused:all, -language:implicitConversions, -Yretain-trees, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
1123[info] compiling 81 Scala sources to /build/repo/modules/sql/core/target/scala-3.8.0-RC2/classes ...
1124Warning: mocking up superclass for module class dsl
1125[info] done compiling
1126[info] compiling 30 Scala sources to /build/repo/modules/sql/migration/target/scala-3.8.0-RC2/classes ...
1127[info] done compiling
1128[info] compiling 1 Scala source to /build/repo/modules/sql/core/target/scala-3.8.0-RC2/test-classes ...
1129[info] done compiling
1130Starting build for ProjectRef(file:/build/repo/,oxygen-sql) (oxygen-sql)... [13/19]
1131Compile scalacOptions: -Ycheck-all-patmat, -Wunused:all, -language:implicitConversions, -Yretain-trees, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
1132+ RowSchemaSpec
1133 + columns
1134 + single
1135 + Int
1136 + Short
1137 + Float
1138 + Long
1139 + String
1140 + Double
1141 + Instant
1142 + LocalDate
1143 + LocalTime
1144 + LocalDateTime
1145 + Json
1146 + Boolean
1147 + UUID
1148 + TypedJson[Int]
1149 + TypedJson[Product1]
1150 + TypedJsonb[Int]
1151 + Jsonb
1152 + TypedJsonb[Product1]
1153 + product
1154 + Product1
1155 + Product3
1156 + Product2
115721 tests passed. 0 tests failed. 0 tests ignored.
1158
1159Executed in 559 ms
1160
1161Starting build for ProjectRef(file:/build/repo/,oxygen-sql-test) (oxygen-sql-test)... [14/19]
1162Compile scalacOptions: -Ycheck-all-patmat, -Wunused:all, -language:implicitConversions, -Yretain-trees, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
1163[info] compiling 5 Scala sources to /build/repo/modules/general/test-container/target/scala-3.8.0-RC2/classes ...
1164[info] done compiling
1165[info] compiling 2 Scala sources to /build/repo/modules/sql/test-utils/target/scala-3.8.0-RC2/classes ...
1166[info] done compiling
1167Starting build for ProjectRef(file:/build/repo/,oxygen-cliJVM) (oxygen-cli)... [15/19]
1168Compile scalacOptions: -Ycheck-all-patmat, -Wunused:all, -language:implicitConversions, -Yretain-trees, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
1169+ ParserSpec
1170 + passes
1171 + values
1172 + optional value - some
1173 + simple value
1174 + optional value - none
1175 + then
1176 + repeated value - list 0
1177 + repeated value - list 3
1178 + repeated value - nel 1
1179 + repeated value - list 1
1180 + or - left
1181 + or - right
1182 + person
1183 + repeated value - nel 3
1184 + person - repeated
1185 + repeated + then
1186 + params
1187 + boolean flag - present
1188 + boolean flag - missing
1189 + simple param - 2 args
1190 + simple param - 1 arg with =
1191 + toggle - prefix true - true
1192 + toggle - prefix true - false
1193 + toggle - prefix false - true
1194 + toggle - prefix false - false
1195 + toggle - prefix false - true
1196 + toggle - prefix false - false
1197 + valueWith - list 0
1198 + valueWith - list 1 - 2 args
1199 + valueWith - list 1 - 1 arg with =
1200 + valueWith - list 3
1201 + person
1202 + multi-short-booleans - 3
1203 + multi-short-booleans - 2
1204 + multi-short-booleans - 1
1205 + empty
1206 + bracketed
1207 + bracketed person
1208 + bracketed person - repeated
1209 + bracketed config - no brackets
1210 + bracketed config - empty brackets
1211 + bracketed config - labels
1212 + bracketed config - max-width
1213 + bracketed config - labels + max-width
1214 + help
1215 + case - 2
1216 + case - 5
1217 + case - 1
1218 + case - 3
1219 + case - 4
1220+ ArgSpec
1221 + splitOn_--
1222 + empty
1223 + right only (implicit)
1224 + left only (explicit)
1225 + right only (explicit)
1226 + left and right
1227 + parse
1228 + fails
1229 + passes
1230 + args only
1231 + params with args
1232 + empty
1233 + params only
1234 + params with brackets
123555 tests passed. 0 tests failed. 0 tests ignored.
1236
1237Executed in 862 ms
1238
1239Starting build for ProjectRef(file:/build/repo/,oxygen-coreJVM) (oxygen-core)... [16/19]
1240Compile scalacOptions: -Ycheck-all-patmat, -Wunused:all, -language:implicitConversions, -Yretain-trees, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
1241Starting build for ProjectRef(file:/build/repo/,oxygen-schemaJVM) (oxygen-schema)... [17/19]
1242Compile scalacOptions: -Ycheck-all-patmat, -Wunused:all, -language:implicitConversions, -Yretain-trees, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
1243Starting build for ProjectRef(file:/build/repo/,oxygen-test-container) (oxygen-test-container)... [18/19]
1244Compile scalacOptions: -Ycheck-all-patmat, -Wunused:all, -language:implicitConversions, -Yretain-trees, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
1245
1246************************
1247Build summary:
1248[{
1249 "module": "oxygen-transform",
1250 "compile": {"status": "ok", "tookMs": 37746, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
1251 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
1252 "test-compile": {"status": "ok", "tookMs": 14895, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
1253 "test": {"status": "ok", "tookMs": 1650, "passed": 7, "failed": 0, "ignored": 0, "skipped": 0, "total": 7, "byFramework": [{"framework": "unknown", "stats": {"passed": 7, "failed": 0, "ignored": 0, "skipped": 0, "total": 7}}]},
1254 "publish": {"status": "skipped", "tookMs": 0},
1255 "metadata": {
1256 "crossScalaVersions": ["2.12.20", "3.7.1"]
1257}
1258},{
1259 "module": "oxygen-http-zio",
1260 "compile": {"status": "ok", "tookMs": 15053, "warnings": 1, "errors": 0, "sourceVersion": "3.8"},
1261 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
1262 "test-compile": {"status": "ok", "tookMs": 1374, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
1263 "test": {"status": "ok", "tookMs": 1758, "passed": 1, "failed": 0, "ignored": 0, "skipped": 0, "total": 1, "byFramework": [{"framework": "unknown", "stats": {"passed": 1, "failed": 0, "ignored": 0, "skipped": 0, "total": 1}}]},
1264 "publish": {"status": "skipped", "tookMs": 0},
1265 "metadata": {
1266 "crossScalaVersions": ["2.12.20", "3.7.1"]
1267}
1268},{
1269 "module": "oxygen-crypto-service",
1270 "compile": {"status": "ok", "tookMs": 2071, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
1271 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
1272 "test-compile": {"status": "ok", "tookMs": 1823, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
1273 "test": {"status": "ok", "tookMs": 1592, "passed": 25, "failed": 0, "ignored": 0, "skipped": 0, "total": 25, "byFramework": [{"framework": "unknown", "stats": {"passed": 25, "failed": 0, "ignored": 0, "skipped": 0, "total": 25}}]},
1274 "publish": {"status": "skipped", "tookMs": 0},
1275 "metadata": {
1276 "crossScalaVersions": ["2.12.20", "3.7.1"]
1277}
1278},{
1279 "module": "oxygen-test",
1280 "compile": {"status": "ok", "tookMs": 250, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
1281 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
1282 "test-compile": {"status": "ok", "tookMs": 1514, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
1283 "test": {"status": "ok", "tookMs": 1201, "passed": 4, "failed": 0, "ignored": 0, "skipped": 0, "total": 4, "byFramework": [{"framework": "unknown", "stats": {"passed": 4, "failed": 0, "ignored": 0, "skipped": 0, "total": 4}}]},
1284 "publish": {"status": "skipped", "tookMs": 0},
1285 "metadata": {
1286 "crossScalaVersions": ["2.12.20", "3.7.1"]
1287}
1288},{
1289 "module": "oxygen-storage",
1290 "compile": {"status": "ok", "tookMs": 1157, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
1291 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
1292 "test-compile": {"status": "ok", "tookMs": 537, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
1293 "test": {"status": "ok", "tookMs": 503, "passed": 0, "failed": 0, "ignored": 0, "skipped": 0, "total": 0, "byFramework": []},
1294 "publish": {"status": "skipped", "tookMs": 0},
1295 "metadata": {
1296 "crossScalaVersions": ["2.12.20", "3.7.1"]
1297}
1298},{
1299 "module": "oxygen-quoted",
1300 "compile": {"status": "ok", "tookMs": 54, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
1301 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
1302 "test-compile": {"status": "ok", "tookMs": 68, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
1303 "test": {"status": "ok", "tookMs": 74, "passed": 0, "failed": 0, "ignored": 0, "skipped": 0, "total": 0, "byFramework": []},
1304 "publish": {"status": "skipped", "tookMs": 0},
1305 "metadata": {
1306 "crossScalaVersions": ["2.12.20", "3.7.1"]
1307}
1308},{
1309 "module": "oxygen-core",
1310 "compile": {"status": "ok", "tookMs": 375, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
1311 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
1312 "test-compile": {"status": "ok", "tookMs": 11099, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
1313 "test": {"status": "ok", "tookMs": 3886, "passed": 486, "failed": 0, "ignored": 0, "skipped": 0, "total": 486, "byFramework": [{"framework": "unknown", "stats": {"passed": 486, "failed": 0, "ignored": 0, "skipped": 0, "total": 486}}]},
1314 "publish": {"status": "ok", "tookMs": 7},
1315 "metadata": {
1316 "crossScalaVersions": ["2.12.20", "3.7.1"]
1317}
1318},{
1319 "module": "oxygen-crypto-model",
1320 "compile": {"status": "ok", "tookMs": 278, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
1321 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
1322 "test-compile": {"status": "ok", "tookMs": 502, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
1323 "test": {"status": "ok", "tookMs": 427, "passed": 0, "failed": 0, "ignored": 0, "skipped": 0, "total": 0, "byFramework": []},
1324 "publish": {"status": "skipped", "tookMs": 0},
1325 "metadata": {
1326 "crossScalaVersions": ["2.12.20", "3.7.1"]
1327}
1328},{
1329 "module": "oxygen-executable",
1330 "compile": {"status": "ok", "tookMs": 7155, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
1331 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
1332 "test-compile": {"status": "ok", "tookMs": 2119, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
1333 "test": {"status": "ok", "tookMs": 1381, "passed": 11, "failed": 0, "ignored": 0, "skipped": 0, "total": 11, "byFramework": [{"framework": "unknown", "stats": {"passed": 11, "failed": 0, "ignored": 0, "skipped": 0, "total": 11}}]},
1334 "publish": {"status": "skipped", "tookMs": 0},
1335 "metadata": {
1336 "crossScalaVersions": ["2.12.20", "3.7.1"]
1337}
1338},{
1339 "module": "oxygen-json",
1340 "compile": {"status": "ok", "tookMs": 234, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
1341 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
1342 "test-compile": {"status": "ok", "tookMs": 365, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
1343 "test": {"status": "ok", "tookMs": 304, "passed": 0, "failed": 0, "ignored": 0, "skipped": 0, "total": 0, "byFramework": []},
1344 "publish": {"status": "skipped", "tookMs": 0},
1345 "metadata": {
1346 "crossScalaVersions": ["2.12.20", "3.7.1"]
1347}
1348},{
1349 "module": "oxygen-zio",
1350 "compile": {"status": "ok", "tookMs": 250, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
1351 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
1352 "test-compile": {"status": "ok", "tookMs": 366, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
1353 "test": {"status": "ok", "tookMs": 420, "passed": 0, "failed": 0, "ignored": 0, "skipped": 0, "total": 0, "byFramework": []},
1354 "publish": {"status": "skipped", "tookMs": 0},
1355 "metadata": {
1356 "crossScalaVersions": ["2.12.20", "3.7.1"]
1357}
1358},{
1359 "module": "oxygen-meta",
1360 "compile": {"status": "ok", "tookMs": 149, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
1361 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
1362 "test-compile": {"status": "ok", "tookMs": 226, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
1363 "test": {"status": "ok", "tookMs": 234, "passed": 0, "failed": 0, "ignored": 0, "skipped": 0, "total": 0, "byFramework": []},
1364 "publish": {"status": "skipped", "tookMs": 0},
1365 "metadata": {
1366 "crossScalaVersions": ["2.12.20", "3.7.1"]
1367}
1368},{
1369 "module": "oxygen-sql-migration",
1370 "compile": {"status": "ok", "tookMs": 15028, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
1371 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
1372 "test-compile": {"status": "ok", "tookMs": 1887, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
1373 "test": {"status": "ok", "tookMs": 685, "passed": 0, "failed": 0, "ignored": 0, "skipped": 0, "total": 0, "byFramework": []},
1374 "publish": {"status": "skipped", "tookMs": 0},
1375 "metadata": {
1376 "crossScalaVersions": ["2.12.20", "3.7.1"]
1377}
1378},{
1379 "module": "oxygen-sql",
1380 "compile": {"status": "ok", "tookMs": 417, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
1381 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
1382 "test-compile": {"status": "ok", "tookMs": 734, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
1383 "test": {"status": "ok", "tookMs": 1700, "passed": 21, "failed": 0, "ignored": 0, "skipped": 0, "total": 21, "byFramework": [{"framework": "unknown", "stats": {"passed": 21, "failed": 0, "ignored": 0, "skipped": 0, "total": 21}}]},
1384 "publish": {"status": "skipped", "tookMs": 0},
1385 "metadata": {
1386 "crossScalaVersions": ["2.12.20", "3.7.1"]
1387}
1388},{
1389 "module": "oxygen-sql-test",
1390 "compile": {"status": "ok", "tookMs": 1854, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
1391 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
1392 "test-compile": {"status": "ok", "tookMs": 963, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
1393 "test": {"status": "ok", "tookMs": 1085, "passed": 0, "failed": 0, "ignored": 0, "skipped": 0, "total": 0, "byFramework": []},
1394 "publish": {"status": "skipped", "tookMs": 0},
1395 "metadata": {
1396 "crossScalaVersions": ["2.12.20", "3.7.1"]
1397}
1398},{
1399 "module": "oxygen-cli",
1400 "compile": {"status": "ok", "tookMs": 266, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
1401 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
1402 "test-compile": {"status": "ok", "tookMs": 501, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
1403 "test": {"status": "ok", "tookMs": 1836, "passed": 55, "failed": 0, "ignored": 0, "skipped": 0, "total": 55, "byFramework": [{"framework": "unknown", "stats": {"passed": 55, "failed": 0, "ignored": 0, "skipped": 0, "total": 55}}]},
1404 "publish": {"status": "skipped", "tookMs": 0},
1405 "metadata": {
1406 "crossScalaVersions": ["2.12.20", "3.7.1"]
1407}
1408},{
1409 "module": "oxygen-core",
1410 "compile": {"status": "ok", "tookMs": 61, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
1411 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
1412 "test-compile": {"status": "ok", "tookMs": 121, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
1413 "test": {"status": "ok", "tookMs": 117, "passed": 0, "failed": 0, "ignored": 0, "skipped": 0, "total": 0, "byFramework": []},
1414 "publish": {"status": "skipped", "tookMs": 0},
1415 "metadata": {
1416 "crossScalaVersions": ["2.12.20", "3.7.1"]
1417}
1418},{
1419 "module": "oxygen-schema",
1420 "compile": {"status": "ok", "tookMs": 405, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
1421 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
1422 "test-compile": {"status": "ok", "tookMs": 666, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
1423 "test": {"status": "ok", "tookMs": 774, "passed": 0, "failed": 0, "ignored": 0, "skipped": 0, "total": 0, "byFramework": []},
1424 "publish": {"status": "skipped", "tookMs": 0},
1425 "metadata": {
1426 "crossScalaVersions": ["2.12.20", "3.7.1"]
1427}
1428},{
1429 "module": "oxygen-test-container",
1430 "compile": {"status": "ok", "tookMs": 467, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
1431 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
1432 "test-compile": {"status": "ok", "tookMs": 705, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
1433 "test": {"status": "ok", "tookMs": 721, "passed": 0, "failed": 0, "ignored": 0, "skipped": 0, "total": 0, "byFramework": []},
1434 "publish": {"status": "skipped", "tookMs": 0},
1435 "metadata": {
1436 "crossScalaVersions": ["2.12.20", "3.7.1"]
1437}
1438}]
1439************************
1440[success] Total time: 195 s (0:03:15.0), completed Nov 28, 2025, 2:54:48 PM
1441[0JChecking patch project/plugins.sbt...
1442Checking patch project/build.properties...
1443Checking patch project/Settings.scala...
1444Checking patch build.sbt...
1445Applied patch project/plugins.sbt cleanly.
1446Applied patch project/build.properties cleanly.
1447Applied patch project/Settings.scala cleanly.
1448Applied patch build.sbt cleanly.