Build Logs

rcardin/raise4s • 3.8.0-RC2:2025-11-28

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-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: build.sbt
34Pattern: val scala3Version = "3.6.2"
35Replacement: val scala3Version = "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 scala3Version = "3.6.2"' in build.sbt
40----
41Starting build for 3.8.0-RC2
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-RC2
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-RC2
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-RC2"
70"++3.8.0-RC2 -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-RC2 """{"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 8.547s.
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-RC2
89OpenCB::Changing crossVersion 3.8.0-RC2 -> 3.8.0-RC2 in raise4s/crossScalaVersions
90OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.8.0-RC2) in raise4s/crossScalaVersions
91OpenCB::Changing crossVersion 3.8.0-RC2 -> 3.8.0-RC2 in core/crossScalaVersions
92OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.8.0-RC2) in core/crossScalaVersions
93OpenCB::Changing crossVersion 3.8.0-RC2 -> 3.8.0-RC2 in munit-raise4s/crossScalaVersions
94OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.8.0-RC2) in munit-raise4s/crossScalaVersions
95OpenCB::Changing crossVersion 3.8.0-RC2 -> 3.8.0-RC2 in cats-raise4s/crossScalaVersions
96OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.8.0-RC2) in cats-raise4s/crossScalaVersions
97[info] set current project to raise4s (in build file:/build/repo/)
98[info] Setting Scala version to 3.8.0-RC2 on 4 projects.
99[info] Switching Scala version on:
100[info] * raise4s (3.8.0-RC2)
101[info] core (3.8.0-RC2)
102[info] cats-raise4s (3.8.0-RC2)
103[info] munit-raise4s (3.8.0-RC2)
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 Nov 28, 2025, 1:04:59 PM
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-RC2/classes ...
136[info] done compiling
137[info] compiling 4 Scala sources to /build/repo/cats-raise4s/target/scala-3.8.0-RC2/classes ...
138[info] done compiling
139[info] compiling 4 Scala sources to /build/repo/cats-raise4s/target/scala-3.8.0-RC2/test-classes ...
140[info] done compiling
141[info] RaiseInstancesSpec:
142[info] implicit resolution
143[info] - should work for RaiseMonadError
144[info] RaiseMonadErrorSpec:
145[info] raiseError
146[info] - should raise an error
147[info] pure
148[info] - should lift a value into the Raise context
149[info] flatMap
150[info] - should chain successful Raise computations
151[info] - should short-circuit the computation when the first lambda raises an error
152[info] - should short-circuit the computation when the second lambda raises an error
153[info] ap
154[info] - should apply a function in the Raise context to a value in the Raise context
155[info] - should short-circuit the computation when the function raises an error
156[info] - should short-circuit the computation when the value raises an error
157[info] tailRecM
158[info] - should chain Raise computations
159[info] - should short-circuit the computation when the lambda raises an error
160[info] handleErrorWith
161[info] - should recover from an error
162[info] - should do nothing when the computation is successful
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-RC2/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] BuildersSpec:
219[info] The either builder
220[info] - should create a Left instance
221[info] - should create a Right instance
222[info] The option builder
223[info] - should create a None instance
224[info] - should create a Some instance
225[info] The try builder
226[info] - should create a Failure instance
227[info] - should create a Success instance
228[info] The succeed extension method
229[info] - should lift a value in the raise context
230[info] - should be composable with any other raising lambda
231[info] The raise builder
232[info] - should raise an error using the extension receiver value
233in.rcard.raise4s.Strategies$Traced
234 at in.rcard.raise4s.Strategies$Traced$.apply(Strategies.scala:89)
235 at in.rcard.raise4s.Strategies$TracedRaise.raise(Strategies.scala:80)
236 at in.rcard.raise4s.StrategiesSpec.$anonfun$12(StrategiesSpec.scala:51)
237 at in.rcard.raise4s.Raise$.fold(Raise.scala:283)
238 at in.rcard.raise4s.StrategiesSpec.testFun$proxy5$1(StrategiesSpec.scala:54)
239 at in.rcard.raise4s.StrategiesSpec.$init$$$anonfun$5(StrategiesSpec.scala:43)
240 at org.scalatest.Transformer.apply$$anonfun$1(Transformer.scala:22)
241 at org.scalatest.OutcomeOf.outcomeOf(OutcomeOf.scala:85)
242 at org.scalatest.OutcomeOf.outcomeOf$(OutcomeOf.scala:31)
243 at org.scalatest.OutcomeOf$.outcomeOf(OutcomeOf.scala:104)
244 at org.scalatest.Transformer.apply(Transformer.scala:22)
245 at org.scalatest.Transformer.apply(Transformer.scala:21)
246 at org.scalatest.flatspec.AnyFlatSpecLike$$anon$5.apply(AnyFlatSpecLike.scala:1717)
247 at org.scalatest.TestSuite.withFixture(TestSuite.scala:196)
248 at org.scalatest.TestSuite.withFixture$(TestSuite.scala:138)
249 at org.scalatest.flatspec.AnyFlatSpec.withFixture(AnyFlatSpec.scala:1685)
250 at org.scalatest.flatspec.AnyFlatSpecLike.invokeWithFixture$1(AnyFlatSpecLike.scala:1723)
251 at org.scalatest.flatspec.AnyFlatSpecLike.runTest$$anonfun$1(AnyFlatSpecLike.scala:1727)
252 at org.scalatest.SuperEngine.runTestImpl(Engine.scala:306)
253 at org.scalatest.flatspec.AnyFlatSpecLike.runTest(AnyFlatSpecLike.scala:1727)
254 at org.scalatest.flatspec.AnyFlatSpecLike.runTest$(AnyFlatSpecLike.scala:51)
255 at org.scalatest.flatspec.AnyFlatSpec.runTest(AnyFlatSpec.scala:1685)
256 at org.scalatest.flatspec.AnyFlatSpecLike.runTests$$anonfun$1(AnyFlatSpecLike.scala:1785)
257 at org.scalatest.SuperEngine.traverseSubNodes$1$$anonfun$1(Engine.scala:413)
258 at scala.runtime.function.JProcedure1.apply(JProcedure1.java:15)
259 at scala.runtime.function.JProcedure1.apply(JProcedure1.java:10)
260 at scala.collection.immutable.List.foreach(List.scala:327)
261 at org.scalatest.SuperEngine.traverseSubNodes$1(Engine.scala:429)
262 at org.scalatest.SuperEngine.runTestsInBranch(Engine.scala:390)
263 at org.scalatest.SuperEngine.traverseSubNodes$1$$anonfun$1(Engine.scala:427)
264 at scala.runtime.function.JProcedure1.apply(JProcedure1.java:15)
265 at scala.runtime.function.JProcedure1.apply(JProcedure1.java:10)
266 at scala.collection.immutable.List.foreach(List.scala:327)
267 at org.scalatest.SuperEngine.traverseSubNodes$1(Engine.scala:429)
268 at org.scalatest.SuperEngine.runTestsInBranch(Engine.scala:396)
269 at org.scalatest.SuperEngine.runTestsImpl(Engine.scala:475)
270 at org.scalatest.flatspec.AnyFlatSpecLike.runTests(AnyFlatSpecLike.scala:1785)
271 at org.scalatest.flatspec.AnyFlatSpecLike.runTests$(AnyFlatSpecLike.scala:51)
272 at org.scalatest.flatspec.AnyFlatSpec.runTests(AnyFlatSpec.scala:1685)
273 at org.scalatest.Suite.run(Suite.scala:1114)
274 at org.scalatest.Suite.run$(Suite.scala:564)
275 at org.scalatest.flatspec.AnyFlatSpec.org$scalatest$flatspec$AnyFlatSpecLike$$super$run(AnyFlatSpec.scala:1685)
276 at org.scalatest.flatspec.AnyFlatSpecLike.run$$anonfun$1(AnyFlatSpecLike.scala:1830)
277 at org.scalatest.SuperEngine.runImpl(Engine.scala:535)
278 at org.scalatest.flatspec.AnyFlatSpecLike.run(AnyFlatSpecLike.scala:1830)
279 at org.scalatest.flatspec.AnyFlatSpecLike.run$(AnyFlatSpecLike.scala:51)
280 at org.scalatest.flatspec.AnyFlatSpec.run(AnyFlatSpec.scala:1685)
281 at org.scalatest.tools.Framework.org$scalatest$tools$Framework$$runSuite(Framework.scala:321)
282 at org.scalatest.tools.Framework$ScalaTestTask.execute(Framework.scala:517)
283 at sbt.TestRunner.runTest$1(TestFramework.scala:153)
284 at sbt.TestRunner.run(TestFramework.scala:168)
285 at sbt.TestFramework$$anon$3$$anonfun$$lessinit$greater$1.$anonfun$apply$1(TestFramework.scala:336)
286 at sbt.TestFramework$.sbt$TestFramework$$withContextLoader(TestFramework.scala:296)
287 at sbt.TestFramework$$anon$3$$anonfun$$lessinit$greater$1.apply(TestFramework.scala:336)
288 at sbt.TestFramework$$anon$3$$anonfun$$lessinit$greater$1.apply(TestFramework.scala:336)
289 at sbt.TestFunction.apply(TestFramework.scala:348)
290 at sbt.Tests$.$anonfun$toTask$1(Tests.scala:436)
291 at sbt.std.Transform$$anon$3.$anonfun$apply$2(Transform.scala:47)
292 at sbt.std.Transform$$anon$4.work(Transform.scala:69)
293 at sbt.Execute.$anonfun$submit$2(Execute.scala:283)
294 at sbt.internal.util.ErrorHandling$.wideConvert(ErrorHandling.scala:24)
295 at sbt.Execute.work(Execute.scala:292)
296 at sbt.Execute.$anonfun$submit$1(Execute.scala:283)
297 at sbt.ConcurrentRestrictions$$anon$4.$anonfun$submitValid$1(ConcurrentRestrictions.scala:265)
298 at sbt.CompletionService$$anon$2.call(CompletionService.scala:65)
299 at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
300 at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
301 at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
302 at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
303 at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
304 at java.base/java.lang.Thread.run(Thread.java:833)
305[info] AccumulationSpec:
306[info] accumulate function
307[info] - should combine different values
308[info] - should accumulate errors
309[info] accumulate
310[info] - should map all the element of the list
311[info] - should accumulate all the errors
312[info] BindSpec:
313[info] Either.value
314[info] - should return the value if it is not an error and raise an Error otherwise
315[info] Option.value
316[info] - should return the value for a Some and raise an error for a None
317[info] Try.value
318[info] - should return the value if it is not an error and raise an Error otherwise
319[info] List[Either[Error, A]].value
320[info] - should return a value if the list doesn't contain errors and raise an error otherwise
321[info] StrategiesSpec:
322[info] anyRaised
323[info] - should allow defining a strategy that throw any given error
324[info] - should return the happy path value if no error is raised
325[info] MapError
326[info] - should allow defining a strategy that map an error to another one
327[info] - should return the happy path value if no error is raised
328[info] TraceWith
329[info] - should allow defining a strategy that trace the error and return it
330[info] - should return the happy path value if no error is raised
331[info] RuntimeSpec:
332[info] Raise.run
333[info] - should return the happy path value is no error was risen
334[info] - should return the error value if an error was risen
335[info] - should be transparent to any thrown exception
336[info] RaiseSpec:
337[info] ensure
338[info] - should return Unit if the given condition is met
339[info] - should return the error if the condition is not met
340[info] ensureNotNull
341[info] - should return the value if it is not null
342[info] - should return the error if the value is null
343[info] recover
344[info] - should return the value if it is not an error
345[info] - should return the recovery value if the value is an error
346[info] - should rethrow the exception
347[info] recover with catchBlock
348[info] - should return the value if it is not an error
349[info] - should return the recovery value if the value is an error
350[info] - should return the recovery value if the value is an exception
351[info] catching
352[info] - should return the value if no exception is thrown
353[info] - should return the recovery value if an exception is thrown
354[info] - should rethrow any fatal exception
355[info] withError
356[info] - should return the value if it is not an error
357[info] - should return the transformed error if the value is an error
358[info] catching as an extension method
359[info] - should return the value if no exception is thrown
360[info] - should return the recovery value if an exception is thrown
361[info] - should rethrow any fatal exception
362[info] recoverable block
363[info] - should return the value if it is not an error
364[info] - should return the recovery value if the value is an error
365[info] - should rethrow the exception
366[info] withDefault
367[info] - should return the value if it is not an error
368[info] - should return the default value if the value is an error
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": 10152, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
408 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
409 "test-compile": {"status": "ok", "tookMs": 6436, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
410 "test": {"status": "ok", "tookMs": 997, "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": 59, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
418 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
419 "test-compile": {"status": "ok", "tookMs": 4774, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
420 "test": {"status": "ok", "tookMs": 381, "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": 48, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
428 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
429 "test-compile": {"status": "ok", "tookMs": 90, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
430 "test": {"status": "ok", "tookMs": 93, "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: 35 s, completed Nov 28, 2025, 1:05:34 PM
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.