Build Logs
jatcwang/difflicious • 3.8.0-RC6:2026-01-08
Errors
0
Warnings
0
Total Lines
387
1##################################
2Clonning https://github.com/jatcwang/difflicious.git into /build/repo using revision v0.4.4
3##################################
4Note: switching to '22de5a6e7a621dd7f4ba95b6a9546b91d6d7b1da'.
5
6You are in 'detached HEAD' state. You can look around, make experimental
7changes and commit them, and you can discard any commits you make in this
8state without impacting any branches by switching back to a branch.
9
10If you want to create a new branch to retain commits you create, you may
11do so (now or later) by using -c with the switch command. Example:
12
13 git switch -c <new-branch-name>
14
15Or undo this operation with:
16
17 git switch -
18
19Turn off this advice by setting config variable advice.detachedHead to false
20
21Would override fixed Scala version: 3.3.7
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: project/Build.scala
34Pattern: val Scala3 = "3.3.7"
35Replacement: val Scala3 = "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 Scala3 = "3.3.7"' in project/Build.scala
40----
41Starting build for 3.8.0-RC6
42Execute tests: true
43sbt project found:
44No prepare script found for project jatcwang/difflicious
45##################################
46Scala version: 3.8.0-RC6
47Targets: com.github.jatcwang%difflicious-cats com.github.jatcwang%difflicious-core com.github.jatcwang%difflicious-munit com.github.jatcwang%difflicious-scalatest com.github.jatcwang%difflicious-weaver
48Project projectConfig: {"projects":{"exclude":[],"overrides":{}},"java":{"version":"17"},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"full","migrationVersions":[],"sourcePatches":[{"path":"project/Build.scala","pattern":"val Scala3 = \"3.3.7\"","replaceWith":"val Scala3 = \"<SCALA_VERSION>\""}]}
49##################################
50Using extra scalacOptions: ,REQUIRE:-source:3.8
51Filtering out scalacOptions: ,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
52[sbt_options] declare -a sbt_options=()
53[process_args] java_version = '17'
54[copyRt] java9_rt = '/root/.sbt/1.0/java9-rt-ext-eclipse_adoptium_17_0_8/rt.jar'
55# Executing command line:
56java
57-Xmx3G
58-Dcommunitybuild.scala=3.8.0-RC6
59-Dcommunitybuild.project.dependencies.add=
60-Xmx7G
61-Xms4G
62-Xss8M
63-Dsbt.script=/root/.sdkman/candidates/sbt/current/bin/sbt
64-Dscala.ext.dirs=/root/.sbt/1.0/java9-rt-ext-eclipse_adoptium_17_0_8
65-jar
66/root/.sdkman/candidates/sbt/1.11.5/bin/sbt-launch.jar
67"setCrossScalaVersions 3.8.0-RC6"
68"++3.8.0-RC6 -v"
69"mapScalacOptions ",REQUIRE:-source:3.8,-Wconf:msg=can be rewritten automatically under:s" ",-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e""
70"set every credentials := Nil"
71"excludeLibraryDependency com.github.ghik:zerowaste_{scalaVersion} com.olegpy:better-monadic-for_3 org.polyvariant:better-tostring_{scalaVersion} org.wartremover:wartremover_{scalaVersion}"
72"removeScalacOptionsStartingWith -P:wartremover"
73
74moduleMappings
75"runBuild 3.8.0-RC6 """{"projects":{"exclude":[],"overrides":{}},"java":{"version":"17"},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"full","migrationVersions":[],"sourcePatches":[{"path":"project/Build.scala","pattern":"val Scala3 = \"3.3.7\"","replaceWith":"val Scala3 = \"<SCALA_VERSION>\""}]}""" com.github.jatcwang%difflicious-cats com.github.jatcwang%difflicious-core com.github.jatcwang%difflicious-munit com.github.jatcwang%difflicious-scalatest com.github.jatcwang%difflicious-weaver"
76
77[info] welcome to sbt 1.11.5 (Eclipse Adoptium Java 17.0.8)
78[info] loading settings for project repo-build from akka.sbt, plugins.sbt...
79[info] loading project definition from /build/repo/project
80[info] compiling 4 Scala sources to /build/repo/project/target/scala-2.12/sbt-1.0/classes ...
81[info] Non-compiled module 'compiler-bridge_2.12' for Scala 2.12.20. Compiling...
82[info] Compilation completed in 8.77s.
83[info] done compiling
84[info] loading settings for project difflicious from build.sbt...
85[info] resolving key references (15145 settings) ...
86[info] set current project to difflicious (in build file:/build/repo/)
87Execute setCrossScalaVersions: 3.8.0-RC6
88OpenCB::Changing crossVersion 3.8.0-RC6 -> 3.8.0-RC6 in scalatest3/crossScalaVersions
89OpenCB::Limitting incorrect crossVersions List(2.13.18) -> List(3.8.0-RC6) in scalatest3/crossScalaVersions
90OpenCB::Changing crossVersion 3.8.0-RC6 -> 3.8.0-RC6 in core3/crossScalaVersions
91OpenCB::Limitting incorrect crossVersions List(2.13.18) -> List(3.8.0-RC6) in core3/crossScalaVersions
92OpenCB::Changing crossVersion 3.8.0-RC6 -> 3.8.0-RC6 in munit3/crossScalaVersions
93OpenCB::Limitting incorrect crossVersions List(2.13.18) -> List(3.8.0-RC6) in munit3/crossScalaVersions
94OpenCB::Changing crossVersion 3.8.0-RC6 -> 3.8.0-RC6 in cats3/crossScalaVersions
95OpenCB::Limitting incorrect crossVersions List(2.13.18) -> List(3.8.0-RC6) in cats3/crossScalaVersions
96OpenCB::Changing crossVersion 3.8.0-RC6 -> 3.8.0-RC6 in coretest3/crossScalaVersions
97OpenCB::Limitting incorrect crossVersions List(2.13.18) -> List(3.8.0-RC6) in coretest3/crossScalaVersions
98OpenCB::Changing crossVersion 3.8.0-RC6 -> 3.8.0-RC6 in benchmarks3/crossScalaVersions
99OpenCB::Limitting incorrect crossVersions List(2.13.18) -> List(3.8.0-RC6) in benchmarks3/crossScalaVersions
100OpenCB::Changing crossVersion 3.8.0-RC6 -> 3.8.0-RC6 in weaver3/crossScalaVersions
101OpenCB::Limitting incorrect crossVersions List(2.13.18) -> List(3.8.0-RC6) in weaver3/crossScalaVersions
102[info] set current project to difflicious (in build file:/build/repo/)
103[info] Setting Scala version to 3.8.0-RC6 on 7 projects.
104[info] Switching Scala version on:
105[info] core3 (3.8.0-RC6)
106[info] munit3 (3.8.0-RC6)
107[info] scalatest3 (3.8.0-RC6)
108[info] weaver3 (3.8.0-RC6)
109[info] benchmarks3 (3.8.0-RC6)
110[info] cats3 (3.8.0-RC6)
111[info] coretest3 (3.8.0-RC6)
112[info] Excluding projects:
113[info] weaver (2.13.18)
114[info] scalatest (2.13.18)
115[info] benchmarks (2.13.18)
116[info] * difflicious (2.13.18)
117[info] docs (2.13.18)
118[info] munit (2.13.18)
119[info] cats (2.13.18)
120[info] core (2.13.18)
121[info] coretest (2.13.18)
122[info] Reapplying settings...
123[info] set current project to difflicious (in build file:/build/repo/)
124Execute mapScalacOptions: ,REQUIRE:-source:3.8,-Wconf:msg=can be rewritten automatically under:s ,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
125[info] Reapplying settings...
126[info] set current project to difflicious (in build file:/build/repo/)
127[info] Defining Global / credentials, benchmarks / credentials and 14 others.
128[info] The new values will be used by Compile / scalafmtOnly, Global / pgpSelectPassphrase and 127 others.
129[info] Run `last` for details.
130[info] Reapplying settings...
131[info] set current project to difflicious (in build file:/build/repo/)
132Execute excludeLibraryDependency: com.github.ghik:zerowaste_{scalaVersion} com.olegpy:better-monadic-for_3 org.polyvariant:better-tostring_{scalaVersion} org.wartremover:wartremover_{scalaVersion}
133[info] Reapplying settings...
134OpenCB::Failed to reapply settings in excludeLibraryDependency: Reference to undefined setting:
135
136 Global / allExcludeDependencies from Global / allExcludeDependencies (CommunityBuildPlugin.scala:331)
137 Did you mean coretest3 / allExcludeDependencies ?
138 , retry without global scopes
139[info] Reapplying settings...
140[info] set current project to difflicious (in build file:/build/repo/)
141Execute removeScalacOptionsStartingWith: -P:wartremover
142[info] Reapplying settings...
143[info] set current project to difflicious (in build file:/build/repo/)
144[success] Total time: 0 s, completed Jan 8, 2026, 2:15:23 AM
145Build config: {"projects":{"exclude":[],"overrides":{}},"java":{"version":"17"},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"full","migrationVersions":[],"sourcePatches":[{"path":"project/Build.scala","pattern":"val Scala3 = \"3.3.7\"","replaceWith":"val Scala3 = \"<SCALA_VERSION>\""}]}
146Parsed config: Success(ProjectBuildConfig(ProjectsConfig(List(),Map()),Full,List()))
147Starting build...
148Projects: Set(core3, munit3, scalatest3, weaver3, cats3, coretest3)
149Starting build for ProjectRef(file:/build/repo/,cats3) (difflicious-cats)... [0/6]
150OpenCB::Exclude Scala3 specific scalacOption `REQUIRE:-source:3.8` in Scala 2.12.20 module Global
151OpenCB::Filter out '-deprecation', matches setting pattern '^-?-deprecation'
152OpenCB::Filter out '-feature', matches setting pattern '^-?-feature'
153OpenCB::Filter out '-Xfatal-warnings', matches setting pattern '^-?-Xfatal-warnings'
154Compile scalacOptions: -encoding, utf8, -unchecked, -language:experimental.macros, -language:higherKinds, -language:implicitConversions, -Xkind-projector, -Wvalue-discard, -Wnonunit-statement, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
155[info] compiling 33 Scala sources to /build/repo/modules/core/target/jvm-3/classes ...
156[info] done compiling
157[info] compiling 2 Scala sources to /build/repo/modules/cats/target/jvm-3/classes ...
158[info] done compiling
159[info] compiling 9 Scala sources to /build/repo/modules/coretest/target/jvm-3/test-classes ...
160[info] done compiling
161[info] compiling 1 Scala source to /build/repo/modules/cats/target/jvm-3/test-classes ...
162[info] done compiling
163difflicious.cats.CatsDataDiffSpec:
164 + NonEmptyMap: Has map-like diff result 0.281s
165 + NonEmptyMap: Prop: isOk if equals 0.074s
166 + NonEmptyMap: Prop: isOk == false if not equal 0.001s
167 + NonEmptyList: Has list-like diff result 0.025s
168 + NonEmptyList: pairBy 0.021s
169 + NonEmptyVector: Has list-like diff result 0.01s
170 + NonEmptyVector: pairBy 0.003s
171 + Chain: Has list-like diff result 0.002s
172 + Chain: pairBy 0.002s
173 + NonEmptyChain: Has list-like diff result 0.009s
174 + NonEmptyChain: pairBy 0.002s
175 + NonEmptySet: Has set-like diff result 0.009s
176 + NonEmptySet: with pairBy 0.002s
177Starting build for ProjectRef(file:/build/repo/,scalatest3) (difflicious-scalatest)... [1/6]
178Compile scalacOptions: -encoding, utf8, -unchecked, -language:experimental.macros, -language:higherKinds, -language:implicitConversions, -Xkind-projector, -Wvalue-discard, -Wnonunit-statement, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
179[info] compiling 1 Scala source to /build/repo/modules/scalatest/target/jvm-3/classes ...
180[info] done compiling
181Starting build for ProjectRef(file:/build/repo/,core3) (difflicious-core)... [2/6]
182Compile scalacOptions: -encoding, utf8, -unchecked, -language:experimental.macros, -language:higherKinds, -language:implicitConversions, -Xkind-projector, -Wvalue-discard, -Wnonunit-statement, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
183Starting build for ProjectRef(file:/build/repo/,coretest3) (coretest)... [3/6]
184Compile scalacOptions: -encoding, utf8, -unchecked, -language:experimental.macros, -language:higherKinds, -language:implicitConversions, -Xkind-projector, -Wvalue-discard, -Wnonunit-statement, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
185difflicioustest.DifferAutoDerivationSpec:
186 + should not compile without instance in scope 0.037s
187 + should find auto derived instance for product 0.001s
188 + should put auto derived instance back into scope 0.0s
189 + should use manually defined instance for an element 0.021s
190difflicious.DifferConfigureSpec:
191 + Differ#ignore works 0.121s
192 + Differ#unignore works 0.003s
193 + configure path allows 'each' to resolve underlying differ in a Map 0.079s
194 + configure path allows 'each' to resolve underlying differ in a Seq 0.014s
195 + configure path allows 'each' to resolve underlying differ in a Set 0.016s
196 + configure path can handle escaped sub-type and field names 0.014s
197 + pairBy works with Seq 0.005s
198 + pairBy works with Set 0.005s
199 + 'replace' for MapDiffer replaces value differ when step is 'each' 0.003s
200 + 'replace' for MapDiffer fails if step isn't 'each' 0.001s
201 + 'replace' for SeqDiffer replaces ite differ when step is 'each' 0.001s
202 + 'replace' for SeqDiffer fails if step isn't 'each' 0.001s
203 + 'replace' for SetDiffer replaces ite differ when step is 'each' 0.002s
204 + 'replace' for SeqDiffer fails if step isn't 'each'-1 0.001s
205difflicious.DifferTimeInstancesSpec:
206 + DayOfWeek 0.209s
207 + Duration 0.03s
208 + Instant 0.038s
209 + LocalDate 0.03s
210 + LocalDateTime 0.036s
211 + LocalTime 0.017s
212 + Month 0.011s
213 + MonthDay 0.01s
214 + OffsetDateTime 0.029s
215 + OffsetTime 0.012s
216 + Period 0.01s
217 + Year 0.01s
218 + YearMonth 0.01s
219 + ZonedDateTime 0.014s
220 + ZoneId 0.004s
221 + ZoneOffset 0.004s
222difflicious.DifferSpec:
223 + configure path's subType call errors when super type isn't sealed 0.021s
224 + Derived Enum: isOk == true if two values are equal 0.097s
225 + Derived Enum: isOk == false if two values are NOT equal 0.047s
226 + Derived Enum: isOk always true if differ is marked ignored 0.032s
227 + .subType[MyEnum.XY] in path expression works 0.022s
228 + .subType[XY] in path expression works 0.001s
229 + .subType[TypeAlias] in path expression works 0.001s
230 + NumericDiffer: configure fails if path is not terminal 0.001s
231 + NumericDiffer: configure fails if differ op is SetIgnore 0.003s
232 + EqualsDiffer: return Both/ObtainedOnly/ExpectedOnly depending on whether both sides are present in diff 0.009s
233 + EqualsDiffer: ObtainedOnly#isOk should always be false 0.001s
234 + EqualsDiffer: ObtainedOnly#isOk should always be false-1 0.001s
235 + EqualsDiffer: configure fails if path is not terminal 0.001s
236 + EqualsDiffer: configure fails if op is not setting ignore 0.001s
237 + EqualsDiffer: isOk == true if two values are equal 0.012s
238 + EqualsDiffer: isOk == false if two values are NOT equal 0.01s
239 + EqualsDiffer: isOk always true if differ is marked ignored 0.012s
240 + Tuple2: isOk == true if two values are equal 0.037s
241 + Tuple2: isOk == false if two values are NOT equal 0.029s
242 + Tuple2: isOk always true if differ is marked ignored 0.022s
243 + Tuple3: isOk == true if two values are equal 0.013s
244 + Tuple3: isOk == false if two values are NOT equal 0.013s
245 + Tuple3: isOk always true if differ is marked ignored 0.013s
246 + Tuple3: compared like a record 0.017s
247 + Option: fail if one is Some and one is None 0.009s
248 + Option: isOk == true if two values are equal 0.01s
249 + Option: isOk == false if two values are NOT equal 0.008s
250 + Option: isOk always true if differ is marked ignored 0.015s
251 + Either: fail if one is Some and one is None 0.011s
252 + Either: isOk == true if two values are equal 0.005s
253 + Either: isOk == false if two values are NOT equal 0.006s
254 + Either: isOk always true if differ is marked ignored 0.007s
255 + Map: isOk == true if two values are equal 0.076s
256 + Map: isOk == false if two values are NOT equal 0.077s
257 + Map: isOk always true if differ is marked ignored 0.134s
258 + Map diff shows both matched entries (based on key equals) and also one-side-only entries 0.009s
259 + Map: When only 'obtained' is provided when diffing 0.002s
260 + Map: When only 'expected' is provided when diffing 0.001s
261 + Map: Allow updating value differs using the path 'each' 0.002s
262 + Map: configureRaw fails if field name isn't 'each' 0.001s
263 + Map: configureRaw fails if operation isn't ignore 0.001s
264 + Seq: isOk == true if two values are equal 0.025s
265 + Seq: isOk == false if two values are not equal 0.037s
266 + Seq: isOk always true if differ is marked ignored 0.044s
267 + Seq: match entries base on item index by default 0.005s
268 + Seq: with alternative pairBy should match by the resolved value instead of index 0.001s
269 + Seq: Can set pairBy to match by index again 0.001s
270 + Seq: Only 'obtained' is provided when diffing 0.001s
271 + Seq: Only 'expected' is provided when diffing 0.001s
272 + Seq: Allow modifying element differs using the path 'each' 0.001s
273 + Seq: configureRaw fails if field name isn't 'each' 0.001s
274 + Set: isOk == true if two values are equal 0.052s
275 + Set: isOk == false if two values are not equal 0.043s
276 + Set: isOk always true if differ is marked ignored 0.042s
277 + Set: match entries base on item identity by default 0.006s
278 + Set: When only 'obtained' is provided when diffing 0.002s
279 + Set: When only 'expected' is provided when diffing 0.0s
280 + Set: Allow modifying element differs using the path 'each' 0.002s
281 + Set: Update fails if field name isn't 'each' 0.0s
282 + Set: errors when trying to update the set to match by index (since Set has no inherent order) 0.0s
283 + Set: with alternative pairBy should match by the resolved value instead of index 0.001s
284 + Record: isOk == true if two values are equal 0.001s
285 + Record: isOk == false if two values are not equal 0.002s
286 + Record: isOk always true if differ is marked ignored 0.002s
287 + Record: Attempting to update nonexistent field fails 0.0s
288 + Record: Trying to update the differ with PairBy op should fail 0.001s
289 + Record: ignoreFieldByNameOrFail succeeds if field exists 0.0s
290 + Sealed trait: should display obtained and expected types when mismatch 0.002s
291 + Sealed trait: should display obtained and expected types when mismatch-1 0.001s
292 + Sealed trait: isOk == true if two values are equal 0.007s
293 + Sealed trait: isOk == false if two values are NOT equal 0.014s
294 + Sealed trait: isOk always true if differ is marked ignored 0.013s
295 + Sealed trait: When only 'obtained' is provided when diffing 0.001s
296 + Sealed trait: When only 'expected' is provided when diffing 0.001s
297 + Sealed trait: Use subtype's custom Differ if present in scope when deriving 0.004s
298 + Sealed trait: configure subtype differs by specifying the subtype name in the path 0.001s
299 + Sealed trait: error if trying to configure with an invalid subtype name as path 0.001s
300 + Sealed trait: error if trying to update with an unsupported differ update op 0.001s
301 + TransformedDiffer: isOk == true if two underlying values are equal 0.002s
302 + TransformedDiffer: isOk == false if two underlying values are NOT equal 0.001s
303 + TransformedDiffer: isOk always true if differ is marked ignored 0.001s
304 + Differ.alwaysIgnore: Always returns ignored result 0.002s
305 + Differ.alwaysIgnore: still return ignored result after unignore 0.0s
306 + Differ.alwaysIgnore: configurePath returns PathTooLong error 0.001s
307 + Differ.alwaysIgnore: configurePairBy returns InvalidConfigureOp error 0.0s
308Starting build for ProjectRef(file:/build/repo/,munit3) (difflicious-munit)... [4/6]
309Compile scalacOptions: -encoding, utf8, -unchecked, -language:experimental.macros, -language:higherKinds, -language:implicitConversions, -Xkind-projector, -Wvalue-discard, -Wnonunit-statement, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
310[info] compiling 1 Scala source to /build/repo/modules/munit/target/jvm-3/classes ...
311[info] done compiling
312Starting build for ProjectRef(file:/build/repo/,weaver3) (difflicious-weaver)... [5/6]
313Compile scalacOptions: -encoding, utf8, -unchecked, -language:experimental.macros, -language:higherKinds, -language:implicitConversions, -Xkind-projector, -Wvalue-discard, -Wnonunit-statement, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
314[info] compiling 1 Scala source to /build/repo/modules/weaver/target/jvm-3/classes ...
315[info] done compiling
316
317************************
318Build summary:
319[{
320 "module": "difflicious-cats",
321 "compile": {"status": "ok", "tookMs": 14483, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
322 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
323 "test-compile": {"status": "ok", "tookMs": 8584, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
324 "test": {"status": "ok", "tookMs": 968, "passed": 13, "failed": 0, "ignored": 0, "skipped": 0, "total": 13, "byFramework": [{"framework": "munit", "stats": {"passed": 13, "failed": 0, "ignored": 0, "skipped": 0, "total": 13}}]},
325 "publish": {"status": "skipped", "tookMs": 0},
326 "metadata": {
327 "crossScalaVersions": ["2.13.18", "3.3.7"]
328}
329},{
330 "module": "difflicious-scalatest",
331 "compile": {"status": "ok", "tookMs": 279, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
332 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
333 "test-compile": {"status": "ok", "tookMs": 158, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
334 "test": {"status": "ok", "tookMs": 151, "passed": 0, "failed": 0, "ignored": 0, "skipped": 0, "total": 0, "byFramework": []},
335 "publish": {"status": "skipped", "tookMs": 0},
336 "metadata": {
337 "crossScalaVersions": ["2.13.18", "3.3.7"]
338}
339},{
340 "module": "difflicious-core",
341 "compile": {"status": "ok", "tookMs": 55, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
342 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
343 "test-compile": {"status": "ok", "tookMs": 88, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
344 "test": {"status": "ok", "tookMs": 78, "passed": 0, "failed": 0, "ignored": 0, "skipped": 0, "total": 0, "byFramework": []},
345 "publish": {"status": "skipped", "tookMs": 0},
346 "metadata": {
347 "crossScalaVersions": ["2.13.18", "3.3.7"]
348}
349},{
350 "module": "coretest",
351 "compile": {"status": "ok", "tookMs": 99, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
352 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
353 "test-compile": {"status": "ok", "tookMs": 135, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
354 "test": {"status": "ok", "tookMs": 1340, "passed": 119, "failed": 0, "ignored": 0, "skipped": 0, "total": 119, "byFramework": [{"framework": "munit", "stats": {"passed": 119, "failed": 0, "ignored": 0, "skipped": 0, "total": 119}}]},
355 "publish": {"status": "ok", "tookMs": 5},
356 "metadata": {
357 "crossScalaVersions": ["2.13.18", "3.3.7"]
358}
359},{
360 "module": "difflicious-munit",
361 "compile": {"status": "ok", "tookMs": 399, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
362 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
363 "test-compile": {"status": "ok", "tookMs": 132, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
364 "test": {"status": "ok", "tookMs": 132, "passed": 0, "failed": 0, "ignored": 0, "skipped": 0, "total": 0, "byFramework": []},
365 "publish": {"status": "skipped", "tookMs": 0},
366 "metadata": {
367 "crossScalaVersions": ["2.13.18", "3.3.7"]
368}
369},{
370 "module": "difflicious-weaver",
371 "compile": {"status": "ok", "tookMs": 316, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
372 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
373 "test-compile": {"status": "ok", "tookMs": 157, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
374 "test": {"status": "ok", "tookMs": 159, "passed": 0, "failed": 0, "ignored": 0, "skipped": 0, "total": 0, "byFramework": []},
375 "publish": {"status": "skipped", "tookMs": 0},
376 "metadata": {
377 "crossScalaVersions": ["2.13.18", "3.3.7"]
378}
379}]
380************************
381[success] Total time: 33 s, completed Jan 8, 2026, 2:15:56 AM
382[0JChecking patch project/plugins.sbt...
383Checking patch project/Build.scala...
384Checking patch build.sbt...
385Applied patch project/plugins.sbt cleanly.
386Applied patch project/Build.scala cleanly.
387Applied patch build.sbt cleanly.