Build Logs
rcardin/raise4s • 3.8.0-RC6:2026-01-08
Errors
16
Warnings
4
Total Lines
443
1##################################
2Clonning https://github.com/rcardin/raise4s.git into /build/repo using revision v0.5.0
3##################################
4Note: switching to '9d3c180cadcb91fa3df9f6fcb220c24a84e43f3c'.
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.6.2
22----
23Preparing build for 3.8.0-RC6
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: build.sbt
34Pattern: val scala3Version = "3.6.2"
35Replacement: val scala3Version = "3.8.0-RC6"
36Starting compilation server
37Compiling project (Scala 3.7.3, JVM (17))
38Compiled project (Scala 3.7.3, JVM (17))
39Successfully applied pattern 'val scala3Version = "3.6.2"' in build.sbt
40----
41Starting build for 3.8.0-RC6
42Execute tests: true
43sbt project found:
44Sbt version 1.10.7 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 rcardin/raise4s
47##################################
48Scala version: 3.8.0-RC6
49Targets: in.rcard.raise4s%cats-raise4s in.rcard.raise4s%core in.rcard.raise4s%raise4s
50Project projectConfig: {"projects":{"exclude":[],"overrides":{}},"java":{"version":"17"},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"full","migrationVersions":[],"sourcePatches":[{"path":"build.sbt","pattern":"val scala3Version = \"3.6.2\"","replaceWith":"val scala3Version = \"<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-Dfile.encoding=UTF-8
60-Dcommunitybuild.scala=3.8.0-RC6
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_17_0_8
67-jar
68/root/.sdkman/candidates/sbt/1.11.5/bin/sbt-launch.jar
69"setCrossScalaVersions 3.8.0-RC6"
70"++3.8.0-RC6 -v"
71"mapScalacOptions ",REQUIRE:-source:3.8,-Wconf:msg=can be rewritten automatically under:s" ",-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.8.0-RC6 """{"projects":{"exclude":[],"overrides":{}},"java":{"version":"17"},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"full","migrationVersions":[],"sourcePatches":[{"path":"build.sbt","pattern":"val scala3Version = \"3.6.2\"","replaceWith":"val scala3Version = \"<SCALA_VERSION>\""}]}""" in.rcard.raise4s%cats-raise4s in.rcard.raise4s%core in.rcard.raise4s%raise4s"
78
79[info] welcome to sbt 1.11.5 (Eclipse Adoptium Java 17.0.8)
80[info] loading settings for project repo-build from akka.sbt, plugins.sbt...
81[info] loading project definition from /build/repo/project
82[info] compiling 2 Scala sources to /build/repo/project/target/scala-2.12/sbt-1.0/classes ...
83[info] Non-compiled module 'compiler-bridge_2.12' for Scala 2.12.20. Compiling...
84[info] Compilation completed in 9.211s.
85[info] done compiling
86[info] loading settings for project raise4s from build.sbt...
87[info] set current project to raise4s (in build file:/build/repo/)
88Execute setCrossScalaVersions: 3.8.0-RC6
89OpenCB::Changing crossVersion 3.8.0-RC6 -> 3.8.0-RC6 in cats-raise4s/crossScalaVersions
90OpenCB::Changing crossVersion 3.8.0-RC6 -> 3.8.0-RC6 in munit-raise4s/crossScalaVersions
91OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.8.0-RC6) in cats-raise4s/crossScalaVersions
92OpenCB::Changing crossVersion 3.8.0-RC6 -> 3.8.0-RC6 in raise4s/crossScalaVersions
93OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.8.0-RC6) in raise4s/crossScalaVersions
94OpenCB::Changing crossVersion 3.8.0-RC6 -> 3.8.0-RC6 in core/crossScalaVersions
95OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.8.0-RC6) in core/crossScalaVersions
96OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.8.0-RC6) in munit-raise4s/crossScalaVersions
97[info] set current project to raise4s (in build file:/build/repo/)
98[info] Setting Scala version to 3.8.0-RC6 on 4 projects.
99[info] Switching Scala version on:
100[info] * raise4s (3.8.0-RC6)
101[info] core (3.8.0-RC6)
102[info] cats-raise4s (3.8.0-RC6)
103[info] munit-raise4s (3.8.0-RC6)
104[info] Excluding projects:
105[info] Reapplying settings...
106[info] set current project to raise4s (in build file:/build/repo/)
107Execute mapScalacOptions: ,REQUIRE:-source:3.8,-Wconf:msg=can be rewritten automatically under:s ,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
108[info] Reapplying settings...
109[info] set current project to raise4s (in build file:/build/repo/)
110[info] Defining Global / credentials, cats-raise4s / credentials and 2 others.
111[info] The new values will be used by Compile / scalafmtOnly, Global / pgpSelectPassphrase and 31 others.
112[info] Run `last` for details.
113[info] Reapplying settings...
114[info] set current project to raise4s (in build file:/build/repo/)
115Execute excludeLibraryDependency: com.github.ghik:zerowaste_{scalaVersion} com.olegpy:better-monadic-for_3 org.polyvariant:better-tostring_{scalaVersion} org.wartremover:wartremover_{scalaVersion}
116[info] Reapplying settings...
117OpenCB::Failed to reapply settings in excludeLibraryDependency: Reference to undefined setting:
118
119 Global / allExcludeDependencies from Global / allExcludeDependencies (CommunityBuildPlugin.scala:331)
120 Did you mean allExcludeDependencies ?
121 , retry without global scopes
122[info] Reapplying settings...
123[info] set current project to raise4s (in build file:/build/repo/)
124Execute removeScalacOptionsStartingWith: -P:wartremover
125[info] Reapplying settings...
126[info] set current project to raise4s (in build file:/build/repo/)
127[success] Total time: 0 s, completed Jan 8, 2026, 1:54:23 AM
128Build config: {"projects":{"exclude":[],"overrides":{}},"java":{"version":"17"},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"full","migrationVersions":[],"sourcePatches":[{"path":"build.sbt","pattern":"val scala3Version = \"3.6.2\"","replaceWith":"val scala3Version = \"<SCALA_VERSION>\""}]}
129Parsed config: Success(ProjectBuildConfig(ProjectsConfig(List(),Map()),Full,List()))
130Starting build...
131Projects: Set(cats-raise4s, core, raise4s)
132Starting build for ProjectRef(file:/build/repo/,cats-raise4s) (cats-raise4s)... [0/3]
133OpenCB::Exclude Scala3 specific scalacOption `REQUIRE:-source:3.8` in Scala 2.12.20 module Global
134Compile scalacOptions: -Wconf:msg=can be rewritten automatically under:s, -source:3.8
135[info] compiling 7 Scala sources to /build/repo/core/target/scala-3.8.0-RC6/classes ...
136[info] done compiling
137[info] compiling 4 Scala sources to /build/repo/cats-raise4s/target/scala-3.8.0-RC6/classes ...
138[info] done compiling
139[info] compiling 4 Scala sources to /build/repo/cats-raise4s/target/scala-3.8.0-RC6/test-classes ...
140[info] done compiling
141[info] RaiseMonadErrorSpec:
142[info] raiseError
143[info] - should raise an error
144[info] pure
145[info] - should lift a value into the Raise context
146[info] flatMap
147[info] - should chain successful Raise computations
148[info] - should short-circuit the computation when the first lambda raises an error
149[info] - should short-circuit the computation when the second lambda raises an error
150[info] ap
151[info] - should apply a function in the Raise context to a value in the Raise context
152[info] - should short-circuit the computation when the function raises an error
153[info] - should short-circuit the computation when the value raises an error
154[info] tailRecM
155[info] - should chain Raise computations
156[info] - should short-circuit the computation when the lambda raises an error
157[info] handleErrorWith
158[info] - should recover from an error
159[info] - should do nothing when the computation is successful
160[info] RaiseInstancesSpec:
161[info] implicit resolution
162[info] - should work for RaiseMonadError
163[info] CatsBindSpec:
164[info] Validated.value
165[info] - should return the value if it's valid
166[info] - should raise an error if it's invalid
167[info] - should work with invalid ValidatedNel
168[info] - should work with invalid ValidatedNec
169[info] values extension function
170[info] - should map all the element of the iterable
171[info] - should accumulate all the errors
172[info] values extension function on non-empty list
173[info] - should map all the element of the non-empty list
174[info] - should accumulate all the errors
175[info] combineErrorS on Semigroup[Error]
176[info] - should map all the element of the iterable
177[info] - should accumulate all the errors using the combine function
178[info] combineErrorS on NonEmptyList
179[info] - should map all the element of the iterable
180[info] - should accumulate all the errors using the combine function
181[info] CatsRaiseSpec:
182[info] mapOrAccumulate on Semigroup[Error]
183[info] - should map all the element of the iterable
184[info] - should accumulate all the errors using the combine function
185[info] mapOrAccumulateS on NonEmptyList
186[info] - should map all the element of the iterable
187[info] - should accumulate all the errors using the combine function
188[info] mapOrAccumulate to NonEmptyList
189[info] - should map all the element of the iterable
190[info] - should accumulate all the errors
191[info] mapOrAccumulate on a NonEmptyList to NonEmptyList
192[info] - should map all the element of the iterable
193[info] - should accumulate all the errors
194[info] zipOrAccumulateS with combine
195[info] - should zip 9 elements
196[info] - should accumulate errors combining them
197[info] zipOrAccumulate on NonEmptyList
198[info] - should zip 9 elements
199[info] - should accumulate errors
200[info] The 'validated' builder
201[info] - should create a Valid instance
202[info] - should create an Invalid instance
203[info] The 'validatedNec' builder
204[info] - should create a Valid instance
205[info] - should create an Invalid instance
206[info] The 'validatedNel' builder
207[info] - should create a Valid instance
208[info] - should create an Invalid instance
209Starting build for ProjectRef(file:/build/repo/,core) (core)... [1/3]
210Compile scalacOptions: -Wconf:msg=can be rewritten automatically under:s, -source:3.8
211[info] compiling 7 Scala sources to /build/repo/core/target/scala-3.8.0-RC6/test-classes ...
212[warn] /build/repo/core/src/main/scala/in/rcard/raise4s/Raise.scala:1807:12: the type test for in.rcard.raise4s.Strategies.Traced[String] cannot be checked at runtime because its type arguments can't be determined from Throwable
213[warn] case traced: Traced[Error] =>
214[warn] ^
215[warn] there were 8 feature warnings; re-run with -feature for details
216[warn] two warnings found
217[info] done compiling
218[info] AccumulationSpec:
219[info] accumulate function
220[info] - should combine different values
221[info] - should accumulate errors
222[info] accumulate
223[info] - should map all the element of the list
224[info] - should accumulate all the errors
225in.rcard.raise4s.Strategies$Traced
226 at in.rcard.raise4s.Strategies$Traced$.apply(Strategies.scala:89)
227 at in.rcard.raise4s.Strategies$TracedRaise.raise(Strategies.scala:80)
228 at in.rcard.raise4s.StrategiesSpec.$anonfun$12(StrategiesSpec.scala:51)
229 at in.rcard.raise4s.Raise$.fold(Raise.scala:283)
230 at in.rcard.raise4s.StrategiesSpec.testFun$proxy5$1(StrategiesSpec.scala:54)
231 at in.rcard.raise4s.StrategiesSpec.$init$$$anonfun$5(StrategiesSpec.scala:43)
232 at org.scalatest.Transformer.apply$$anonfun$1(Transformer.scala:22)
233 at org.scalatest.OutcomeOf.outcomeOf(OutcomeOf.scala:85)
234 at org.scalatest.OutcomeOf.outcomeOf$(OutcomeOf.scala:31)
235 at org.scalatest.OutcomeOf$.outcomeOf(OutcomeOf.scala:104)
236 at org.scalatest.Transformer.apply(Transformer.scala:22)
237 at org.scalatest.Transformer.apply(Transformer.scala:21)
238 at org.scalatest.flatspec.AnyFlatSpecLike$$anon$5.apply(AnyFlatSpecLike.scala:1717)
239 at org.scalatest.TestSuite.withFixture(TestSuite.scala:196)
240 at org.scalatest.TestSuite.withFixture$(TestSuite.scala:138)
241 at org.scalatest.flatspec.AnyFlatSpec.withFixture(AnyFlatSpec.scala:1685)
242 at org.scalatest.flatspec.AnyFlatSpecLike.invokeWithFixture$1(AnyFlatSpecLike.scala:1723)
243 at org.scalatest.flatspec.AnyFlatSpecLike.runTest$$anonfun$1(AnyFlatSpecLike.scala:1727)
244 at org.scalatest.SuperEngine.runTestImpl(Engine.scala:306)
245 at org.scalatest.flatspec.AnyFlatSpecLike.runTest(AnyFlatSpecLike.scala:1727)
246 at org.scalatest.flatspec.AnyFlatSpecLike.runTest$(AnyFlatSpecLike.scala:51)
247 at org.scalatest.flatspec.AnyFlatSpec.runTest(AnyFlatSpec.scala:1685)
248 at org.scalatest.flatspec.AnyFlatSpecLike.runTests$$anonfun$1(AnyFlatSpecLike.scala:1785)
249 at org.scalatest.SuperEngine.traverseSubNodes$1$$anonfun$1(Engine.scala:413)
250 at scala.runtime.function.JProcedure1.apply(JProcedure1.java:15)
251 at scala.runtime.function.JProcedure1.apply(JProcedure1.java:10)
252 at scala.collection.immutable.List.foreach(List.scala:327)
253 at org.scalatest.SuperEngine.traverseSubNodes$1(Engine.scala:429)
254 at org.scalatest.SuperEngine.runTestsInBranch(Engine.scala:390)
255 at org.scalatest.SuperEngine.traverseSubNodes$1$$anonfun$1(Engine.scala:427)
256 at scala.runtime.function.JProcedure1.apply(JProcedure1.java:15)
257 at scala.runtime.function.JProcedure1.apply(JProcedure1.java:10)
258 at scala.collection.immutable.List.foreach(List.scala:327)
259 at org.scalatest.SuperEngine.traverseSubNodes$1(Engine.scala:429)
260 at org.scalatest.SuperEngine.runTestsInBranch(Engine.scala:396)
261 at org.scalatest.SuperEngine.runTestsImpl(Engine.scala:475)
262 at org.scalatest.flatspec.AnyFlatSpecLike.runTests(AnyFlatSpecLike.scala:1785)
263 at org.scalatest.flatspec.AnyFlatSpecLike.runTests$(AnyFlatSpecLike.scala:51)
264 at org.scalatest.flatspec.AnyFlatSpec.runTests(AnyFlatSpec.scala:1685)
265 at org.scalatest.Suite.run(Suite.scala:1114)
266 at org.scalatest.Suite.run$(Suite.scala:564)
267 at org.scalatest.flatspec.AnyFlatSpec.org$scalatest$flatspec$AnyFlatSpecLike$$super$run(AnyFlatSpec.scala:1685)
268 at org.scalatest.flatspec.AnyFlatSpecLike.run$$anonfun$1(AnyFlatSpecLike.scala:1830)
269 at org.scalatest.SuperEngine.runImpl(Engine.scala:535)
270 at org.scalatest.flatspec.AnyFlatSpecLike.run(AnyFlatSpecLike.scala:1830)
271 at org.scalatest.flatspec.AnyFlatSpecLike.run$(AnyFlatSpecLike.scala:51)
272 at org.scalatest.flatspec.AnyFlatSpec.run(AnyFlatSpec.scala:1685)
273 at org.scalatest.tools.Framework.org$scalatest$tools$Framework$$runSuite(Framework.scala:321)
274 at org.scalatest.tools.Framework$ScalaTestTask.execute(Framework.scala:517)
275 at sbt.TestRunner.runTest$1(TestFramework.scala:153)
276 at sbt.TestRunner.run(TestFramework.scala:168)
277 at sbt.TestFramework$$anon$3$$anonfun$$lessinit$greater$1.$anonfun$apply$1(TestFramework.scala:336)
278 at sbt.TestFramework$.sbt$TestFramework$$withContextLoader(TestFramework.scala:296)
279 at sbt.TestFramework$$anon$3$$anonfun$$lessinit$greater$1.apply(TestFramework.scala:336)
280 at sbt.TestFramework$$anon$3$$anonfun$$lessinit$greater$1.apply(TestFramework.scala:336)
281 at sbt.TestFunction.apply(TestFramework.scala:348)
282 at sbt.Tests$.$anonfun$toTask$1(Tests.scala:436)
283 at sbt.std.Transform$$anon$3.$anonfun$apply$2(Transform.scala:47)
284 at sbt.std.Transform$$anon$4.work(Transform.scala:69)
285 at sbt.Execute.$anonfun$submit$2(Execute.scala:283)
286 at sbt.internal.util.ErrorHandling$.wideConvert(ErrorHandling.scala:24)
287 at sbt.Execute.work(Execute.scala:292)
288 at sbt.Execute.$anonfun$submit$1(Execute.scala:283)
289 at sbt.ConcurrentRestrictions$$anon$4.$anonfun$submitValid$1(ConcurrentRestrictions.scala:265)
290 at sbt.CompletionService$$anon$2.call(CompletionService.scala:65)
291 at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
292 at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
293 at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
294 at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
295 at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
296 at java.base/java.lang.Thread.run(Thread.java:833)
297[info] BuildersSpec:
298[info] The either builder
299[info] - should create a Left instance
300[info] - should create a Right instance
301[info] The option builder
302[info] - should create a None instance
303[info] - should create a Some instance
304[info] The try builder
305[info] - should create a Failure instance
306[info] - should create a Success instance
307[info] The succeed extension method
308[info] - should lift a value in the raise context
309[info] - should be composable with any other raising lambda
310[info] The raise builder
311[info] - should raise an error using the extension receiver value
312[info] RaiseSpec:
313[info] ensure
314[info] - should return Unit if the given condition is met
315[info] - should return the error if the condition is not met
316[info] ensureNotNull
317[info] - should return the value if it is not null
318[info] - should return the error if the value is null
319[info] recover
320[info] - should return the value if it is not an error
321[info] - should return the recovery value if the value is an error
322[info] - should rethrow the exception
323[info] recover with catchBlock
324[info] - should return the value if it is not an error
325[info] - should return the recovery value if the value is an error
326[info] - should return the recovery value if the value is an exception
327[info] catching
328[info] - should return the value if no exception is thrown
329[info] - should return the recovery value if an exception is thrown
330[info] - should rethrow any fatal exception
331[info] withError
332[info] - should return the value if it is not an error
333[info] - should return the transformed error if the value is an error
334[info] catching as an extension method
335[info] - should return the value if no exception is thrown
336[info] - should return the recovery value if an exception is thrown
337[info] - should rethrow any fatal exception
338[info] recoverable block
339[info] - should return the value if it is not an error
340[info] - should return the recovery value if the value is an error
341[info] - should rethrow the exception
342[info] withDefault
343[info] - should return the value if it is not an error
344[info] - should return the default value if the value is an error
345[info] RuntimeSpec:
346[info] Raise.run
347[info] - should return the happy path value is no error was risen
348[info] - should return the error value if an error was risen
349[info] - should be transparent to any thrown exception
350[info] StrategiesSpec:
351[info] anyRaised
352[info] - should allow defining a strategy that throw any given error
353[info] - should return the happy path value if no error is raised
354[info] MapError
355[info] - should allow defining a strategy that map an error to another one
356[info] - should return the happy path value if no error is raised
357[info] TraceWith
358[info] - should allow defining a strategy that trace the error and return it
359[info] - should return the happy path value if no error is raised
360[info] BindSpec:
361[info] Either.value
362[info] - should return the value if it is not an error and raise an Error otherwise
363[info] Option.value
364[info] - should return the value for a Some and raise an error for a None
365[info] Try.value
366[info] - should return the value if it is not an error and raise an Error otherwise
367[info] List[Either[Error, A]].value
368[info] - should return a value if the list doesn't contain errors and raise an error otherwise
369[info] FoldSpec:
370[info] The fold function with four parameters
371[info] - should transform the result of the given Raise function
372[info] - should transform the result of the given Raise function when it throws an exception
373[info] - should transform the result of the given Raise function when it returns an error
374[info] - should rethrows any fatal exception
375[info] The fold function without the 'catch' block
376[info] - should transform the result of the given Raise function
377[info] - should transform the result of the given Raise function when it returns an error
378[info] - should rethrows any exception
379[info] mapOrAccumulate
380[info] - should map all the element of the iterable
381[info] - should accumulate all the errors
382[info] Values extension method
383[info] - should extract the values from the iterable
384[info] - should accumulate all the errors
385[info] mapOrAccumulate with combine function
386[info] - should map all the element of the iterable
387[info] - should accumulate all the errors using the combine function
388[info] The extension function mapOrAccumulate
389[info] - should map all the element of the receiver
390[info] - should accumulate all the errors on the receiver
391[info] combineErrors extension function
392[info] - should map all the element of the iterable
393[info] - should accumulate all the errors using the combine function
394[info] zipOrAccumulate
395[info] - should zip 9 elements
396[info] - should accumulate errors
397[info] zipOrAccumulate with combine
398[info] - should zip 9 elements
399[info] - should accumulate errors combining them
400Starting build for ProjectRef(file:/build/repo/,raise4s) (raise4s)... [2/3]
401Compile scalacOptions: -Wconf:msg=can be rewritten automatically under:s, -source:3.8
402
403************************
404Build summary:
405[{
406 "module": "cats-raise4s",
407 "compile": {"status": "ok", "tookMs": 8761, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
408 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
409 "test-compile": {"status": "ok", "tookMs": 6544, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
410 "test": {"status": "ok", "tookMs": 822, "passed": 43, "failed": 0, "ignored": 0, "skipped": 0, "total": 43, "byFramework": [{"framework": "unknown", "stats": {"passed": 43, "failed": 0, "ignored": 0, "skipped": 0, "total": 43}}]},
411 "publish": {"status": "skipped", "tookMs": 0},
412 "metadata": {
413 "crossScalaVersions": ["2.12.20", "3.6.2"]
414}
415},{
416 "module": "core",
417 "compile": {"status": "ok", "tookMs": 58, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
418 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
419 "test-compile": {"status": "ok", "tookMs": 5530, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
420 "test": {"status": "ok", "tookMs": 456, "passed": 70, "failed": 0, "ignored": 0, "skipped": 0, "total": 70, "byFramework": [{"framework": "unknown", "stats": {"passed": 70, "failed": 0, "ignored": 0, "skipped": 0, "total": 70}}]},
421 "publish": {"status": "skipped", "tookMs": 0},
422 "metadata": {
423 "crossScalaVersions": ["2.12.20", "3.6.2"]
424}
425},{
426 "module": "raise4s",
427 "compile": {"status": "ok", "tookMs": 54, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
428 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
429 "test-compile": {"status": "ok", "tookMs": 102, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
430 "test": {"status": "ok", "tookMs": 101, "passed": 0, "failed": 0, "ignored": 0, "skipped": 0, "total": 0, "byFramework": []},
431 "publish": {"status": "skipped", "tookMs": 0},
432 "metadata": {
433 "crossScalaVersions": ["2.12.20", "3.6.2"]
434}
435}]
436************************
437[success] Total time: 25 s, completed Jan 8, 2026, 1:54:48 AM
438[0JChecking patch project/plugins.sbt...
439Checking patch project/build.properties...
440Checking patch build.sbt...
441Applied patch project/plugins.sbt cleanly.
442Applied patch project/build.properties cleanly.
443Applied patch build.sbt cleanly.