Build Logs

gchudnov/mindthegap • 3.8.0-RC6:2026-01-08

Errors

3

Warnings

51

Total Lines

1350

1##################################
2Clonning https://github.com/gchudnov/mindthegap.git into /build/repo using revision v2.0.0
3##################################
4Note: switching to '6fa1c4113d541377c8827f85c185ef5fa70aff72'.
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
21Using target Scala version for migration: 3.7.4
22Migrating project for -source:3.4 using Scala 3.7.4
23----
24Preparing build for 3.7.4
25Would try to apply common scalacOption (best-effort, sbt/mill only):
26Append: -rewrite,REQUIRE:-source:3.4-migration
27Remove: -indent,-no-indent,-new-syntax,,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
28
29Try apply source patch:
30Path: mtg/src/main/scala/com/github/gchudnov/mtg/internal/domain/AnyDomain.scala
31Pattern: Ordering[T]()(using
32Replacement: Ordering[T](using
33Starting compilation server
34Compiling project (Scala 3.7.3, JVM (21))
35Compiled project (Scala 3.7.3, JVM (21))
36Successfully applied pattern 'Ordering[T]()(using ' in mtg/src/main/scala/com/github/gchudnov/mtg/internal/domain/AnyDomain.scala
37----
38Starting build for 3.7.4
39Execute tests: false
40sbt project found:
41Sbt version 1.10.1 is not supported, minimal supported version is 1.11.5
42Enforcing usage of sbt in version 1.11.5
43No prepare script found for project gchudnov/mindthegap
44##################################
45Scala version: 3.7.4
46Targets: com.github.gchudnov%mtg com.github.gchudnov%mtg-diagram com.github.gchudnov%mtg-diagram-ascii com.github.gchudnov%mtg-diagram-mermaid
47Project projectConfig: {"projects":{"exclude":[],"overrides":{}},"java":{"version":"21"},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"compile-only","migrationVersions":["3.4","3.7"],"sourcePatches":[{"path":"mtg/src/main/scala/com/github/gchudnov/mtg/internal/domain/AnyDomain.scala","pattern":"Ordering[T]()(using ","replaceWith":"Ordering[T](using "}]}
48##################################
49Using extra scalacOptions: -rewrite,REQUIRE:-source:3.4-migration
50Filtering out scalacOptions: -indent,-no-indent,-new-syntax,,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
51[sbt_options] declare -a sbt_options=()
52[process_args] java_version = '21'
53[copyRt] java9_rt = '/root/.sbt/1.0/java9-rt-ext-eclipse_adoptium_21/rt.jar'
54# Executing command line:
55java
56--add-opens=java.base/java.util=ALL-UNNAMED
57--add-opens=java.base/java.lang=ALL-UNNAMED
58--add-opens=java.base/jdk.internal.misc=ALL-UNNAMED
59-Dio.netty.tryReflectionSetAccessible=true
60-Dcommunitybuild.scala=3.7.4
61-Dcommunitybuild.project.dependencies.add=
62-Xmx7G
63-Xms4G
64-Xss8M
65-Dsbt.script=/root/.sdkman/candidates/sbt/current/bin/sbt
66-Dscala.ext.dirs=/root/.sbt/1.0/java9-rt-ext-eclipse_adoptium_21
67-jar
68/root/.sdkman/candidates/sbt/1.11.5/bin/sbt-launch.jar
69"setCrossScalaVersions 3.7.4"
70"++3.7.4 -v"
71"mapScalacOptions "-rewrite,REQUIRE:-source:3.4-migration,-Wconf:msg=can be rewritten automatically under:s" "-indent,-no-indent,-new-syntax,,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e""
72"set every credentials := Nil"
73"excludeLibraryDependency com.github.ghik:zerowaste_{scalaVersion} com.olegpy:better-monadic-for_3 org.polyvariant:better-tostring_{scalaVersion} org.wartremover:wartremover_{scalaVersion}"
74"removeScalacOptionsStartingWith -P:wartremover"
75
76moduleMappings
77"runBuild 3.7.4 """{"projects":{"exclude":[],"overrides":{}},"java":{"version":"21"},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"compile-only","migrationVersions":["3.4","3.7"],"sourcePatches":[{"path":"mtg/src/main/scala/com/github/gchudnov/mtg/internal/domain/AnyDomain.scala","pattern":"Ordering[T]()(using ","replaceWith":"Ordering[T](using "}]}""" com.github.gchudnov%mtg com.github.gchudnov%mtg-diagram com.github.gchudnov%mtg-diagram-ascii com.github.gchudnov%mtg-diagram-mermaid"
78
79[info] welcome to sbt 1.11.5 (Eclipse Adoptium Java 21)
80[info] loading settings for project repo-build-build from sbt-updates.sbt...
81[info] loading project definition from /build/repo/project/project
82[info] loading settings for project repo-build from akka.sbt, plugins.sbt...
83[info] loading project definition from /build/repo/project
84[info] compiling 4 Scala sources to /build/repo/project/target/scala-2.12/sbt-1.0/classes ...
85[info] Non-compiled module 'compiler-bridge_2.12' for Scala 2.12.20. Compiling...
86[info] Compilation completed in 8.325s.
87[info] done compiling
88[info] loading settings for project root from build.sbt, version.sbt...
89[info] set current project to root (in build file:/build/repo/)
90Execute setCrossScalaVersions: 3.7.4
91OpenCB::Changing crossVersion 3.3.3 -> 3.7.4 in mtg/crossScalaVersions
92OpenCB::Changing crossVersion 3.3.3 -> 3.7.4 in diagram/crossScalaVersions
93OpenCB::Changing crossVersion 3.3.3 -> 3.7.4 in diagramMermaid/crossScalaVersions
94OpenCB::Changing crossVersion 3.3.3 -> 3.7.4 in diagramAscii/crossScalaVersions
95OpenCB::Changing crossVersion 3.3.3 -> 3.7.4 in root/crossScalaVersions
96OpenCB::Changing crossVersion 3.3.3 -> 3.7.4 in examples/crossScalaVersions
97[info] set current project to root (in build file:/build/repo/)
98[info] Setting Scala version to 3.7.4 on 6 projects.
99[info] Switching Scala version on:
100[info] diagramMermaid (3.7.4)
101[info] examples (3.7.4)
102[info] diagram (3.7.4)
103[info] * root (3.7.4)
104[info] mtg (3.7.4)
105[info] diagramAscii (3.7.4)
106[info] Excluding projects:
107[info] Reapplying settings...
108[info] set current project to root (in build file:/build/repo/)
109Execute mapScalacOptions: -rewrite,REQUIRE:-source:3.4-migration,-Wconf:msg=can be rewritten automatically under:s -indent,-no-indent,-new-syntax,,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
110[info] Reapplying settings...
111[info] set current project to root (in build file:/build/repo/)
112[info] Defining Global / credentials, credentials and 4 others.
113[info] The new values will be used by Compile / scalafmtOnly, Global / pgpSelectPassphrase and 53 others.
114[info] Run `last` for details.
115[info] Reapplying settings...
116[info] set current project to root (in build file:/build/repo/)
117Execute excludeLibraryDependency: com.github.ghik:zerowaste_{scalaVersion} com.olegpy:better-monadic-for_3 org.polyvariant:better-tostring_{scalaVersion} org.wartremover:wartremover_{scalaVersion}
118[info] Reapplying settings...
119OpenCB::Failed to reapply settings in excludeLibraryDependency: Reference to undefined setting:
120
121 Global / allExcludeDependencies from Global / allExcludeDependencies (CommunityBuildPlugin.scala:331)
122 Did you mean diagramAscii / allExcludeDependencies ?
123 , retry without global scopes
124[info] Reapplying settings...
125[info] set current project to root (in build file:/build/repo/)
126Execute removeScalacOptionsStartingWith: -P:wartremover
127[info] Reapplying settings...
128[info] set current project to root (in build file:/build/repo/)
129[success] Total time: 0 s, completed Jan 8, 2026, 2:41:35 AM
130Build config: {"projects":{"exclude":[],"overrides":{}},"java":{"version":"21"},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"compile-only","migrationVersions":["3.4","3.7"],"sourcePatches":[{"path":"mtg/src/main/scala/com/github/gchudnov/mtg/internal/domain/AnyDomain.scala","pattern":"Ordering[T]()(using ","replaceWith":"Ordering[T](using "}]}
131Parsed config: Success(ProjectBuildConfig(ProjectsConfig(List(),Map()),CompileOnly,List()))
132Starting build...
133Projects: Set(mtg, diagram, diagramAscii, diagramMermaid)
134Starting build for ProjectRef(file:/build/repo/,mtg) (mtg)... [0/4]
135OpenCB::Filter out '-deprecation', matches setting pattern '^-?-deprecation'
136OpenCB::Filter out '-feature', matches setting pattern '^-?-feature'
137OpenCB::Filter out '-indent', matches setting pattern '^-?-indent'
138OpenCB::Filter out '-new-syntax', matches setting pattern '^-?-new-syntax'
139OpenCB::Filter out '-Xfatal-warnings', matches setting pattern '^-?-Xfatal-warnings'
140Compile scalacOptions: -encoding, UTF-8, -print-lines, -unchecked, -Xmigration, -Ykind-projector, -language:existentials, -language:experimental.macros, -language:higherKinds, -language:implicitConversions, -language:postfixOps, -Xsemanticdb, -semanticdb-target, /build/repo/mtg/target/scala-3.7.4/meta, -rewrite, -Wconf:msg=can be rewritten automatically under:s, -source:3.4-migration
141[info] compiling 48 Scala sources to /build/repo/mtg/target/scala-3.7.4/classes ...
142[warn] Option -Ykind-projector is deprecated: Use -Xkind-projector instead.
143[warn] one warning found
144[info] done compiling
145[info] compiling 35 Scala sources to /build/repo/mtg/target/scala-3.7.4/test-classes ...
146[warn] Option -Ykind-projector is deprecated: Use -Xkind-projector instead.
147[warn] one warning found
148[info] done compiling
149Starting build for ProjectRef(file:/build/repo/,diagram) (mtg-diagram)... [1/4]
150Compile scalacOptions: -encoding, UTF-8, -print-lines, -unchecked, -Xmigration, -Ykind-projector, -language:existentials, -language:experimental.macros, -language:higherKinds, -language:implicitConversions, -language:postfixOps, -Xsemanticdb, -semanticdb-target, /build/repo/diagram/target/scala-3.7.4/meta, -rewrite, -Wconf:msg=can be rewritten automatically under:s, -source:3.4-migration
151[info] compiling 5 Scala sources to /build/repo/diagram/target/scala-3.7.4/classes ...
152[warn] Option -Ykind-projector is deprecated: Use -Xkind-projector instead.
153Warning: mocking up superclass for module class internal
154[warn] one warning found
155[info] done compiling
156[info] compiling 2 Scala sources to /build/repo/diagram/target/scala-3.7.4/test-classes ...
157[warn] Option -Ykind-projector is deprecated: Use -Xkind-projector instead.
158[warn] one warning found
159[info] done compiling
160Starting build for ProjectRef(file:/build/repo/,diagramAscii) (mtg-diagram-ascii)... [2/4]
161Compile scalacOptions: -encoding, UTF-8, -print-lines, -unchecked, -Xmigration, -Ykind-projector, -language:existentials, -language:experimental.macros, -language:higherKinds, -language:implicitConversions, -language:postfixOps, -Xsemanticdb, -semanticdb-target, /build/repo/diagram-ascii/target/scala-3.7.4/meta, -rewrite, -Wconf:msg=can be rewritten automatically under:s, -source:3.4-migration
162[info] compiling 14 Scala sources to /build/repo/diagram-ascii/target/scala-3.7.4/classes ...
163[warn] Option -Ykind-projector is deprecated: Use -Xkind-projector instead.
164[warn] one warning found
165[info] done compiling
166[info] compiling 2 Scala sources to /build/repo/diagram-ascii/target/scala-3.7.4/test-classes ...
167[warn] Option -Ykind-projector is deprecated: Use -Xkind-projector instead.
168[warn] one warning found
169[info] done compiling
170Starting build for ProjectRef(file:/build/repo/,diagramMermaid) (mtg-diagram-mermaid)... [3/4]
171Compile scalacOptions: -encoding, UTF-8, -print-lines, -unchecked, -Xmigration, -Ykind-projector, -language:existentials, -language:experimental.macros, -language:higherKinds, -language:implicitConversions, -language:postfixOps, -Xsemanticdb, -semanticdb-target, /build/repo/diagram-mermaid/target/scala-3.7.4/meta, -rewrite, -Wconf:msg=can be rewritten automatically under:s, -source:3.4-migration
172[info] compiling 21 Scala sources to /build/repo/diagram-mermaid/target/scala-3.7.4/classes ...
173[warn] Option -Ykind-projector is deprecated: Use -Xkind-projector instead.
174[warn] one warning found
175[info] done compiling
176[info] compiling 3 Scala sources to /build/repo/diagram-mermaid/target/scala-3.7.4/test-classes ...
177[warn] Option -Ykind-projector is deprecated: Use -Xkind-projector instead.
178[warn] one warning found
179[info] done compiling
180
181************************
182Build summary:
183[{
184 "module": "mtg",
185 "compile": {"status": "ok", "tookMs": 7832, "warnings": 0, "errors": 0, "sourceVersion": "3.4-migration"},
186 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
187 "test-compile": {"status": "ok", "tookMs": 17934, "warnings": 0, "errors": 0, "sourceVersion": "3.4-migration"},
188 "test": {"status": "skipped", "tookMs": 0, "passed": 0, "failed": 0, "ignored": 0, "skipped": 0, "total": 0, "byFramework": []},
189 "publish": {"status": "skipped", "tookMs": 0},
190 "metadata": {
191 "crossScalaVersions": ["3.3.3"]
192}
193},{
194 "module": "mtg-diagram",
195 "compile": {"status": "ok", "tookMs": 1144, "warnings": 0, "errors": 0, "sourceVersion": "3.4-migration"},
196 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
197 "test-compile": {"status": "ok", "tookMs": 1150, "warnings": 0, "errors": 0, "sourceVersion": "3.4-migration"},
198 "test": {"status": "skipped", "tookMs": 0, "passed": 0, "failed": 0, "ignored": 0, "skipped": 0, "total": 0, "byFramework": []},
199 "publish": {"status": "skipped", "tookMs": 0},
200 "metadata": {
201 "crossScalaVersions": ["3.3.3"]
202}
203},{
204 "module": "mtg-diagram-ascii",
205 "compile": {"status": "ok", "tookMs": 1180, "warnings": 0, "errors": 0, "sourceVersion": "3.4-migration"},
206 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
207 "test-compile": {"status": "ok", "tookMs": 1508, "warnings": 0, "errors": 0, "sourceVersion": "3.4-migration"},
208 "test": {"status": "skipped", "tookMs": 0, "passed": 0, "failed": 0, "ignored": 0, "skipped": 0, "total": 0, "byFramework": []},
209 "publish": {"status": "skipped", "tookMs": 0},
210 "metadata": {
211 "crossScalaVersions": ["3.3.3"]
212}
213},{
214 "module": "mtg-diagram-mermaid",
215 "compile": {"status": "ok", "tookMs": 607, "warnings": 0, "errors": 0, "sourceVersion": "3.4-migration"},
216 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
217 "test-compile": {"status": "ok", "tookMs": 975, "warnings": 0, "errors": 0, "sourceVersion": "3.4-migration"},
218 "test": {"status": "skipped", "tookMs": 0, "passed": 0, "failed": 0, "ignored": 0, "skipped": 0, "total": 0, "byFramework": []},
219 "publish": {"status": "skipped", "tookMs": 0},
220 "metadata": {
221 "crossScalaVersions": ["3.3.3"]
222}
223}]
224************************
225[success] Total time: 36 s, completed Jan 8, 2026, 2:42:11 AM
226[0JChecking patch project/plugins.sbt...
227Checking patch project/build.properties...
228Checking patch mtg/src/main/scala/com/github/gchudnov/mtg/internal/domain/AnyDomain.scala...
229Checking patch build.sbt...
230Applied patch project/plugins.sbt cleanly.
231Applied patch project/build.properties cleanly.
232Applied patch mtg/src/main/scala/com/github/gchudnov/mtg/internal/domain/AnyDomain.scala cleanly.
233Applied patch build.sbt cleanly.
234No migration rewrite changes found, would not commit
235Using target Scala version for migration: 3.7.4
236Migrating project for -source:3.7 using Scala 3.7.4
237----
238Preparing build for 3.7.4
239Would try to apply common scalacOption (best-effort, sbt/mill only):
240Append: -rewrite,REQUIRE:-source:3.7-migration
241Remove: -indent,-no-indent,-new-syntax,,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
242
243Try apply source patch:
244Path: mtg/src/main/scala/com/github/gchudnov/mtg/internal/domain/AnyDomain.scala
245Pattern: Ordering[T]()(using
246Replacement: Ordering[T](using
247Successfully applied pattern 'Ordering[T]()(using ' in mtg/src/main/scala/com/github/gchudnov/mtg/internal/domain/AnyDomain.scala
248----
249Starting build for 3.7.4
250Execute tests: false
251sbt project found:
252Sbt version 1.10.1 is not supported, minimal supported version is 1.11.5
253Enforcing usage of sbt in version 1.11.5
254No prepare script found for project gchudnov/mindthegap
255##################################
256Scala version: 3.7.4
257Targets: com.github.gchudnov%mtg com.github.gchudnov%mtg-diagram com.github.gchudnov%mtg-diagram-ascii com.github.gchudnov%mtg-diagram-mermaid
258Project projectConfig: {"projects":{"exclude":[],"overrides":{}},"java":{"version":"21"},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"compile-only","migrationVersions":["3.4","3.7"],"sourcePatches":[{"path":"mtg/src/main/scala/com/github/gchudnov/mtg/internal/domain/AnyDomain.scala","pattern":"Ordering[T]()(using ","replaceWith":"Ordering[T](using "}]}
259##################################
260Using extra scalacOptions: -rewrite,REQUIRE:-source:3.7-migration
261Filtering out scalacOptions: -indent,-no-indent,-new-syntax,,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
262[sbt_options] declare -a sbt_options=()
263[process_args] java_version = '21'
264[copyRt] java9_rt = '/root/.sbt/1.0/java9-rt-ext-eclipse_adoptium_21/rt.jar'
265# Executing command line:
266java
267--add-opens=java.base/java.util=ALL-UNNAMED
268--add-opens=java.base/java.lang=ALL-UNNAMED
269--add-opens=java.base/jdk.internal.misc=ALL-UNNAMED
270-Dio.netty.tryReflectionSetAccessible=true
271-Dcommunitybuild.scala=3.7.4
272-Dcommunitybuild.project.dependencies.add=
273-Xmx7G
274-Xms4G
275-Xss8M
276-Dsbt.script=/root/.sdkman/candidates/sbt/current/bin/sbt
277-Dscala.ext.dirs=/root/.sbt/1.0/java9-rt-ext-eclipse_adoptium_21
278-jar
279/root/.sdkman/candidates/sbt/1.11.5/bin/sbt-launch.jar
280"setCrossScalaVersions 3.7.4"
281"++3.7.4 -v"
282"mapScalacOptions "-rewrite,REQUIRE:-source:3.7-migration,-Wconf:msg=can be rewritten automatically under:s" "-indent,-no-indent,-new-syntax,,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e""
283"set every credentials := Nil"
284"excludeLibraryDependency com.github.ghik:zerowaste_{scalaVersion} com.olegpy:better-monadic-for_3 org.polyvariant:better-tostring_{scalaVersion} org.wartremover:wartremover_{scalaVersion}"
285"removeScalacOptionsStartingWith -P:wartremover"
286
287moduleMappings
288"runBuild 3.7.4 """{"projects":{"exclude":[],"overrides":{}},"java":{"version":"21"},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"compile-only","migrationVersions":["3.4","3.7"],"sourcePatches":[{"path":"mtg/src/main/scala/com/github/gchudnov/mtg/internal/domain/AnyDomain.scala","pattern":"Ordering[T]()(using ","replaceWith":"Ordering[T](using "}]}""" com.github.gchudnov%mtg com.github.gchudnov%mtg-diagram com.github.gchudnov%mtg-diagram-ascii com.github.gchudnov%mtg-diagram-mermaid"
289
290[info] welcome to sbt 1.11.5 (Eclipse Adoptium Java 21)
291[info] loading settings for project repo-build-build from sbt-updates.sbt...
292[info] loading project definition from /build/repo/project/project
293[info] loading settings for project repo-build from akka.sbt, plugins.sbt...
294[info] loading project definition from /build/repo/project
295[info] loading settings for project root from build.sbt, version.sbt...
296[info] set current project to root (in build file:/build/repo/)
297Execute setCrossScalaVersions: 3.7.4
298OpenCB::Changing crossVersion 3.3.3 -> 3.7.4 in diagram/crossScalaVersions
299OpenCB::Changing crossVersion 3.3.3 -> 3.7.4 in diagramMermaid/crossScalaVersions
300OpenCB::Changing crossVersion 3.3.3 -> 3.7.4 in examples/crossScalaVersions
301OpenCB::Changing crossVersion 3.3.3 -> 3.7.4 in mtg/crossScalaVersions
302OpenCB::Changing crossVersion 3.3.3 -> 3.7.4 in diagramAscii/crossScalaVersions
303OpenCB::Changing crossVersion 3.3.3 -> 3.7.4 in root/crossScalaVersions
304[info] set current project to root (in build file:/build/repo/)
305[info] Setting Scala version to 3.7.4 on 6 projects.
306[info] Switching Scala version on:
307[info] diagramMermaid (3.7.4)
308[info] examples (3.7.4)
309[info] diagram (3.7.4)
310[info] * root (3.7.4)
311[info] mtg (3.7.4)
312[info] diagramAscii (3.7.4)
313[info] Excluding projects:
314[info] Reapplying settings...
315[info] set current project to root (in build file:/build/repo/)
316Execute mapScalacOptions: -rewrite,REQUIRE:-source:3.7-migration,-Wconf:msg=can be rewritten automatically under:s -indent,-no-indent,-new-syntax,,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
317[info] Reapplying settings...
318[info] set current project to root (in build file:/build/repo/)
319[info] Defining Global / credentials, credentials and 4 others.
320[info] The new values will be used by Compile / scalafmtOnly, Global / pgpSelectPassphrase and 53 others.
321[info] Run `last` for details.
322[info] Reapplying settings...
323[info] set current project to root (in build file:/build/repo/)
324Execute excludeLibraryDependency: com.github.ghik:zerowaste_{scalaVersion} com.olegpy:better-monadic-for_3 org.polyvariant:better-tostring_{scalaVersion} org.wartremover:wartremover_{scalaVersion}
325[info] Reapplying settings...
326OpenCB::Failed to reapply settings in excludeLibraryDependency: Reference to undefined setting:
327
328 Global / allExcludeDependencies from Global / allExcludeDependencies (CommunityBuildPlugin.scala:331)
329 Did you mean diagramAscii / allExcludeDependencies ?
330 , retry without global scopes
331[info] Reapplying settings...
332[info] set current project to root (in build file:/build/repo/)
333Execute removeScalacOptionsStartingWith: -P:wartremover
334[info] Reapplying settings...
335[info] set current project to root (in build file:/build/repo/)
336[success] Total time: 0 s, completed Jan 8, 2026, 2:42:25 AM
337Build config: {"projects":{"exclude":[],"overrides":{}},"java":{"version":"21"},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"compile-only","migrationVersions":["3.4","3.7"],"sourcePatches":[{"path":"mtg/src/main/scala/com/github/gchudnov/mtg/internal/domain/AnyDomain.scala","pattern":"Ordering[T]()(using ","replaceWith":"Ordering[T](using "}]}
338Parsed config: Success(ProjectBuildConfig(ProjectsConfig(List(),Map()),CompileOnly,List()))
339Starting build...
340Projects: Set(mtg, diagram, diagramAscii, diagramMermaid)
341Starting build for ProjectRef(file:/build/repo/,mtg) (mtg)... [0/4]
342OpenCB::Filter out '-deprecation', matches setting pattern '^-?-deprecation'
343OpenCB::Filter out '-feature', matches setting pattern '^-?-feature'
344OpenCB::Filter out '-indent', matches setting pattern '^-?-indent'
345OpenCB::Filter out '-new-syntax', matches setting pattern '^-?-new-syntax'
346OpenCB::Filter out '-Xfatal-warnings', matches setting pattern '^-?-Xfatal-warnings'
347Compile scalacOptions: -encoding, UTF-8, -print-lines, -unchecked, -Xmigration, -Ykind-projector, -language:existentials, -language:experimental.macros, -language:higherKinds, -language:implicitConversions, -language:postfixOps, -Xsemanticdb, -semanticdb-target, /build/repo/mtg/target/scala-3.7.4/meta, -rewrite, -Wconf:msg=can be rewritten automatically under:s, -source:3.7-migration
348[info] compiling 48 Scala sources to /build/repo/mtg/target/scala-3.7.4/classes ...
349[warn] Option -Ykind-projector is deprecated: Use -Xkind-projector instead.
350[warn] one warning found
351[info] done compiling
352[info] compiling 35 Scala sources to /build/repo/mtg/target/scala-3.7.4/test-classes ...
353[warn] Option -Ykind-projector is deprecated: Use -Xkind-projector instead.
354[warn] one warning found
355[info] done compiling
356Starting build for ProjectRef(file:/build/repo/,diagram) (mtg-diagram)... [1/4]
357Compile scalacOptions: -encoding, UTF-8, -print-lines, -unchecked, -Xmigration, -Ykind-projector, -language:existentials, -language:experimental.macros, -language:higherKinds, -language:implicitConversions, -language:postfixOps, -Xsemanticdb, -semanticdb-target, /build/repo/diagram/target/scala-3.7.4/meta, -rewrite, -Wconf:msg=can be rewritten automatically under:s, -source:3.7-migration
358[info] compiling 5 Scala sources to /build/repo/diagram/target/scala-3.7.4/classes ...
359[warn] Option -Ykind-projector is deprecated: Use -Xkind-projector instead.
360Warning: mocking up superclass for module class internal
361[warn] one warning found
362[info] done compiling
363[info] compiling 2 Scala sources to /build/repo/diagram/target/scala-3.7.4/test-classes ...
364[warn] Option -Ykind-projector is deprecated: Use -Xkind-projector instead.
365[warn] one warning found
366[info] done compiling
367Starting build for ProjectRef(file:/build/repo/,diagramAscii) (mtg-diagram-ascii)... [2/4]
368Compile scalacOptions: -encoding, UTF-8, -print-lines, -unchecked, -Xmigration, -Ykind-projector, -language:existentials, -language:experimental.macros, -language:higherKinds, -language:implicitConversions, -language:postfixOps, -Xsemanticdb, -semanticdb-target, /build/repo/diagram-ascii/target/scala-3.7.4/meta, -rewrite, -Wconf:msg=can be rewritten automatically under:s, -source:3.7-migration
369[info] compiling 14 Scala sources to /build/repo/diagram-ascii/target/scala-3.7.4/classes ...
370[warn] Option -Ykind-projector is deprecated: Use -Xkind-projector instead.
371[warn] one warning found
372[info] done compiling
373[info] compiling 2 Scala sources to /build/repo/diagram-ascii/target/scala-3.7.4/test-classes ...
374[warn] Option -Ykind-projector is deprecated: Use -Xkind-projector instead.
375[warn] one warning found
376[info] done compiling
377Starting build for ProjectRef(file:/build/repo/,diagramMermaid) (mtg-diagram-mermaid)... [3/4]
378Compile scalacOptions: -encoding, UTF-8, -print-lines, -unchecked, -Xmigration, -Ykind-projector, -language:existentials, -language:experimental.macros, -language:higherKinds, -language:implicitConversions, -language:postfixOps, -Xsemanticdb, -semanticdb-target, /build/repo/diagram-mermaid/target/scala-3.7.4/meta, -rewrite, -Wconf:msg=can be rewritten automatically under:s, -source:3.7-migration
379[info] compiling 21 Scala sources to /build/repo/diagram-mermaid/target/scala-3.7.4/classes ...
380[warn] Option -Ykind-projector is deprecated: Use -Xkind-projector instead.
381[warn] one warning found
382[info] done compiling
383[info] compiling 3 Scala sources to /build/repo/diagram-mermaid/target/scala-3.7.4/test-classes ...
384[warn] Option -Ykind-projector is deprecated: Use -Xkind-projector instead.
385[warn] one warning found
386[info] done compiling
387
388************************
389Build summary:
390[{
391 "module": "mtg",
392 "compile": {"status": "ok", "tookMs": 8211, "warnings": 0, "errors": 0, "sourceVersion": "3.7-migration"},
393 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
394 "test-compile": {"status": "ok", "tookMs": 17239, "warnings": 0, "errors": 0, "sourceVersion": "3.7-migration"},
395 "test": {"status": "skipped", "tookMs": 0, "passed": 0, "failed": 0, "ignored": 0, "skipped": 0, "total": 0, "byFramework": []},
396 "publish": {"status": "skipped", "tookMs": 0},
397 "metadata": {
398 "crossScalaVersions": ["3.3.3"]
399}
400},{
401 "module": "mtg-diagram",
402 "compile": {"status": "ok", "tookMs": 1174, "warnings": 0, "errors": 0, "sourceVersion": "3.7-migration"},
403 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
404 "test-compile": {"status": "ok", "tookMs": 889, "warnings": 0, "errors": 0, "sourceVersion": "3.7-migration"},
405 "test": {"status": "skipped", "tookMs": 0, "passed": 0, "failed": 0, "ignored": 0, "skipped": 0, "total": 0, "byFramework": []},
406 "publish": {"status": "skipped", "tookMs": 0},
407 "metadata": {
408 "crossScalaVersions": ["3.3.3"]
409}
410},{
411 "module": "mtg-diagram-ascii",
412 "compile": {"status": "ok", "tookMs": 1198, "warnings": 0, "errors": 0, "sourceVersion": "3.7-migration"},
413 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
414 "test-compile": {"status": "ok", "tookMs": 1736, "warnings": 0, "errors": 0, "sourceVersion": "3.7-migration"},
415 "test": {"status": "skipped", "tookMs": 0, "passed": 0, "failed": 0, "ignored": 0, "skipped": 0, "total": 0, "byFramework": []},
416 "publish": {"status": "skipped", "tookMs": 0},
417 "metadata": {
418 "crossScalaVersions": ["3.3.3"]
419}
420},{
421 "module": "mtg-diagram-mermaid",
422 "compile": {"status": "ok", "tookMs": 702, "warnings": 0, "errors": 0, "sourceVersion": "3.7-migration"},
423 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
424 "test-compile": {"status": "ok", "tookMs": 1058, "warnings": 0, "errors": 0, "sourceVersion": "3.7-migration"},
425 "test": {"status": "skipped", "tookMs": 0, "passed": 0, "failed": 0, "ignored": 0, "skipped": 0, "total": 0, "byFramework": []},
426 "publish": {"status": "skipped", "tookMs": 0},
427 "metadata": {
428 "crossScalaVersions": ["3.3.3"]
429}
430}]
431************************
432[success] Total time: 34 s, completed Jan 8, 2026, 2:42:59 AM
433[0JChecking patch project/plugins.sbt...
434Checking patch project/build.properties...
435Checking patch mtg/src/main/scala/com/github/gchudnov/mtg/internal/domain/AnyDomain.scala...
436Checking patch build.sbt...
437Applied patch project/plugins.sbt cleanly.
438Applied patch project/build.properties cleanly.
439Applied patch mtg/src/main/scala/com/github/gchudnov/mtg/internal/domain/AnyDomain.scala cleanly.
440Applied patch build.sbt cleanly.
441No migration rewrite changes found, would not commit
442----
443Preparing build for 3.8.0-RC6
444Scala binary version found: 3.8
445Implicitly using source version 3.8
446Scala binary version found: 3.8
447Implicitly using source version 3.8
448Would try to apply common scalacOption (best-effort, sbt/mill only):
449Append: ,REQUIRE:-source:3.8
450Remove: ,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
451
452Try apply source patch:
453Path: mtg/src/main/scala/com/github/gchudnov/mtg/internal/domain/AnyDomain.scala
454Pattern: Ordering[T]()(using
455Replacement: Ordering[T](using
456Successfully applied pattern 'Ordering[T]()(using ' in mtg/src/main/scala/com/github/gchudnov/mtg/internal/domain/AnyDomain.scala
457----
458Starting build for 3.8.0-RC6
459Execute tests: true
460sbt project found:
461Sbt version 1.10.1 is not supported, minimal supported version is 1.11.5
462Enforcing usage of sbt in version 1.11.5
463No prepare script found for project gchudnov/mindthegap
464##################################
465Scala version: 3.8.0-RC6
466Targets: com.github.gchudnov%mtg com.github.gchudnov%mtg-diagram com.github.gchudnov%mtg-diagram-ascii com.github.gchudnov%mtg-diagram-mermaid
467Project projectConfig: {"projects":{"exclude":[],"overrides":{}},"java":{"version":"21"},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"full","migrationVersions":["3.4","3.7"],"sourcePatches":[{"path":"mtg/src/main/scala/com/github/gchudnov/mtg/internal/domain/AnyDomain.scala","pattern":"Ordering[T]()(using ","replaceWith":"Ordering[T](using "}]}
468##################################
469Using extra scalacOptions: ,REQUIRE:-source:3.8
470Filtering out scalacOptions: ,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
471[sbt_options] declare -a sbt_options=()
472[process_args] java_version = '21'
473[copyRt] java9_rt = '/root/.sbt/1.0/java9-rt-ext-eclipse_adoptium_21/rt.jar'
474# Executing command line:
475java
476--add-opens=java.base/java.util=ALL-UNNAMED
477--add-opens=java.base/java.lang=ALL-UNNAMED
478--add-opens=java.base/jdk.internal.misc=ALL-UNNAMED
479-Dio.netty.tryReflectionSetAccessible=true
480-Dcommunitybuild.scala=3.8.0-RC6
481-Dcommunitybuild.project.dependencies.add=
482-Xmx7G
483-Xms4G
484-Xss8M
485-Dsbt.script=/root/.sdkman/candidates/sbt/current/bin/sbt
486-Dscala.ext.dirs=/root/.sbt/1.0/java9-rt-ext-eclipse_adoptium_21
487-jar
488/root/.sdkman/candidates/sbt/1.11.5/bin/sbt-launch.jar
489"setCrossScalaVersions 3.8.0-RC6"
490"++3.8.0-RC6 -v"
491"mapScalacOptions ",REQUIRE:-source:3.8,-Wconf:msg=can be rewritten automatically under:s" ",-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e""
492"set every credentials := Nil"
493"excludeLibraryDependency com.github.ghik:zerowaste_{scalaVersion} com.olegpy:better-monadic-for_3 org.polyvariant:better-tostring_{scalaVersion} org.wartremover:wartremover_{scalaVersion}"
494"removeScalacOptionsStartingWith -P:wartremover"
495
496moduleMappings
497"runBuild 3.8.0-RC6 """{"projects":{"exclude":[],"overrides":{}},"java":{"version":"21"},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"full","migrationVersions":["3.4","3.7"],"sourcePatches":[{"path":"mtg/src/main/scala/com/github/gchudnov/mtg/internal/domain/AnyDomain.scala","pattern":"Ordering[T]()(using ","replaceWith":"Ordering[T](using "}]}""" com.github.gchudnov%mtg com.github.gchudnov%mtg-diagram com.github.gchudnov%mtg-diagram-ascii com.github.gchudnov%mtg-diagram-mermaid"
498
499[info] welcome to sbt 1.11.5 (Eclipse Adoptium Java 21)
500[info] loading settings for project repo-build-build from sbt-updates.sbt...
501[info] loading project definition from /build/repo/project/project
502[info] loading settings for project repo-build from akka.sbt, plugins.sbt...
503[info] loading project definition from /build/repo/project
504[info] loading settings for project root from build.sbt, version.sbt...
505[info] set current project to root (in build file:/build/repo/)
506Execute setCrossScalaVersions: 3.8.0-RC6
507OpenCB::Changing crossVersion 3.3.3 -> 3.8.0-RC6 in mtg/crossScalaVersions
508OpenCB::Changing crossVersion 3.3.3 -> 3.8.0-RC6 in diagramMermaid/crossScalaVersions
509OpenCB::Changing crossVersion 3.3.3 -> 3.8.0-RC6 in diagram/crossScalaVersions
510OpenCB::Changing crossVersion 3.3.3 -> 3.8.0-RC6 in examples/crossScalaVersions
511OpenCB::Changing crossVersion 3.3.3 -> 3.8.0-RC6 in diagramAscii/crossScalaVersions
512OpenCB::Changing crossVersion 3.3.3 -> 3.8.0-RC6 in root/crossScalaVersions
513[info] set current project to root (in build file:/build/repo/)
514[info] Setting Scala version to 3.8.0-RC6 on 6 projects.
515[info] Switching Scala version on:
516[info] diagramMermaid (3.8.0-RC6)
517[info] examples (3.8.0-RC6)
518[info] diagram (3.8.0-RC6)
519[info] * root (3.8.0-RC6)
520[info] mtg (3.8.0-RC6)
521[info] diagramAscii (3.8.0-RC6)
522[info] Excluding projects:
523[info] Reapplying settings...
524[info] set current project to root (in build file:/build/repo/)
525Execute mapScalacOptions: ,REQUIRE:-source:3.8,-Wconf:msg=can be rewritten automatically under:s ,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
526[info] Reapplying settings...
527[info] set current project to root (in build file:/build/repo/)
528[info] Defining Global / credentials, credentials and 4 others.
529[info] The new values will be used by Compile / scalafmtOnly, Global / pgpSelectPassphrase and 53 others.
530[info] Run `last` for details.
531[info] Reapplying settings...
532[info] set current project to root (in build file:/build/repo/)
533Execute excludeLibraryDependency: com.github.ghik:zerowaste_{scalaVersion} com.olegpy:better-monadic-for_3 org.polyvariant:better-tostring_{scalaVersion} org.wartremover:wartremover_{scalaVersion}
534[info] Reapplying settings...
535OpenCB::Failed to reapply settings in excludeLibraryDependency: Reference to undefined setting:
536
537 Global / allExcludeDependencies from Global / allExcludeDependencies (CommunityBuildPlugin.scala:331)
538 Did you mean diagramAscii / allExcludeDependencies ?
539 , retry without global scopes
540[info] Reapplying settings...
541[info] set current project to root (in build file:/build/repo/)
542Execute removeScalacOptionsStartingWith: -P:wartremover
543[info] Reapplying settings...
544[info] set current project to root (in build file:/build/repo/)
545[success] Total time: 0 s, completed Jan 8, 2026, 2:43:13 AM
546Build config: {"projects":{"exclude":[],"overrides":{}},"java":{"version":"21"},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"full","migrationVersions":["3.4","3.7"],"sourcePatches":[{"path":"mtg/src/main/scala/com/github/gchudnov/mtg/internal/domain/AnyDomain.scala","pattern":"Ordering[T]()(using ","replaceWith":"Ordering[T](using "}]}
547Parsed config: Success(ProjectBuildConfig(ProjectsConfig(List(),Map()),Full,List()))
548Starting build...
549Projects: Set(mtg, diagram, diagramAscii, diagramMermaid)
550Starting build for ProjectRef(file:/build/repo/,mtg) (mtg)... [0/4]
551OpenCB::Filter out '-deprecation', matches setting pattern '^-?-deprecation'
552OpenCB::Filter out '-feature', matches setting pattern '^-?-feature'
553OpenCB::Filter out '-Xfatal-warnings', matches setting pattern '^-?-Xfatal-warnings'
554Compile scalacOptions: -encoding, UTF-8, -indent, -new-syntax, -print-lines, -unchecked, -Xmigration, -Ykind-projector, -language:existentials, -language:experimental.macros, -language:higherKinds, -language:implicitConversions, -language:postfixOps, -Xsemanticdb, -semanticdb-target, /build/repo/mtg/target/scala-3.8.0-RC6/meta, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
555[info] compiling 48 Scala sources to /build/repo/mtg/target/scala-3.8.0-RC6/classes ...
556[warn] Option -Ykind-projector is deprecated: Use -Xkind-projector instead.
557[warn] one warning found
558[info] done compiling
559[info] compiling 35 Scala sources to /build/repo/mtg/target/scala-3.8.0-RC6/test-classes ...
560[warn] Option -Ykind-projector is deprecated: Use -Xkind-projector instead.
561[warn] one warning found
562[info] done compiling
563[info] ValueSpec:
564[info] Value
565[info] when constructed
566[info] - should construct Value.Finite
567[info] - should construct Value.InfNeg
568[info] - should construct Value.InfPos
569[info] when Value.Finite(x)
570[info] - should check the properties
571[info] - should x.succ
572[info] - should x.pred
573[info] when Value.InfNeg
574[info] - should check the properties
575[info] - should x.succ
576[info] - should x.pred
577[info] when Value.InfPos
578[info] - should check the properties
579[info] - should x.succ
580[info] - should x.pred
581[info] when get
582[info] - should return the value if finite
583[info] - should throws an exception if negative infinity
584[info] - should throws an exception if positive infinity
585[info] IsAdjacentSpec:
586[info] IsAdjacent
587[info] when a.isAdjacent(b)
588[info] - should b.isAdjacent(a)
589[info] when a.isAdjacent(b) AND b.isAdjacent(a)
590[info] - should equal
591[info] - should valid in special cases
592[info] IntervalSpec:
593[info] Interval
594[info] when make
595[info] - should create intervals
596[info] - should handle edge cases
597[info] - should create an open interval from Option[T]
598[info] - should create a closed interval from Option[T]
599[info] when factory methods
600[info] - should Interval.empty
601[info] - should Interval.point(x)
602[info] - should Interval.proper(x, y) if enpoints are provided
603[info] - should Interval.proper(x, y) if values are provided
604[info] - should Interval.proper(x, y) throws an exception if left endpoint is greater than right endpoint
605[info] - should Interval.unbounded
606[info] - should Interval.open(x, y)
607[info] - should Interval.closed(x, y)
608[info] - should Interval.leftOpen(x)
609[info] - should Interval.leftClosed(x)
610[info] - should Interval.rightOpen(x)
611[info] - should Interval.rightClosed(x)
612[info] - should Interval.leftClosedRightOpen(x, y)
613[info] - should Interval.leftOpenRightClosed(x, y)
614[info] when canonical
615[info] - should represent an interval
616[info] - should double canonical is canonical
617[info] when normalize
618[info] - should provide a normal form of the intervals
619[info] when swap
620[info] - should swap left and right in positive interval
621[info] - should swap left and right in negative interval
622[info] - should double-swap restores the original interval
623[info] when inflate
624[info] - should make an interval out of point
625[info] - should expand a real interval
626[info] - should expand an empty interval
627[info] - should inflate, deflate produces the original interval
628[info] when inflateLeft
629[info] - should make a real out of point
630[info] - should expand a real interval
631[info] - should expand an empty interval
632[info] - should inflate, deflate produces the original interval
633[info] when inflateRight
634[info] - should make a real out of point
635[info] - should expand a real interval
636[info] - should expand an empty interval
637[info] - should inflate, deflate produces the original interval
638[info] when deflate
639[info] - should make an empty interval out of point
640[info] - should shrink a real interval
641[info] - should expand an empty interval
642[info] - should deflate, inflate produces the original interval
643[info] when deflateLeft
644[info] - should make an empty interval out of point
645[info] - should shrink a real interval
646[info] - should expand an empty interval
647[info] - should inflate, deflate produces the original interval
648[info] when deflateRight
649[info] - should make an empty interval out of point
650[info] - should shrink a real interval
651[info] - should expand an empty interval
652[info] - should inflate, deflate produces the original interval
653[info] when size
654[info] - should return the size of an interval
655[info] when left
656[info] - should return the left endpoint value
657[info] when right
658[info] - should return the right endpoint value
659[info] when isLeftOpen
660[info] - should return true if the left endpoint is open
661[info] when isLeftClosed
662[info] - should return true if the left endpoint is closed
663[info] when isRightOpen
664[info] - should return true if the right endpoint is open
665[info] when isRightClosed
666[info] - should return true if the right endpoint is closed
667[info] when toString
668[info] - should represent an Empty interval
669[info] - should represent a Point interval
670[info] - should represent a Proper interval
671[info] when toDebugString
672[info] - should represent an interval
673[info] StartsSpec:
674[info] Starts
675[info] when a.starts(b)
676[info] - should b.isStartedBy(a)
677[info] when a.isStartedBy(b)
678[info] - should b.starts(a)
679[info] when a.starts(b) AND b.isStartedBy(a)
680[info] - should equal
681[info] - should valid in special cases
682[info] SplitSpec:
683[info] Split
684[info] when a series of intervals are split
685[info] - should produce intervals where a.rightEndpoint = b.leftEndpoint
686[info] when no intervals
687[info] - should be split
688[info] when one interval
689[info] - should be split
690[info] when (-inf, +inf) interval
691[info] - should split with all other intervals
692[info] when empty and non-empty intervals
693[info] - should produce undefined results
694[info] when some of intervals are adjacent
695[info] - should split doesn't exist for an adjacent intervals
696[info] when equal intervals
697[info] - should produce one split
698[info] - should produce one split for a point
699[info] when adjacent intervals
700[info] - should product splits for points
701[info] when disjoint intervals
702[info] - should produce split for points
703[info] when meeting intervals
704[info] - should split producing a point
705[info] - should split producing a point of we have two pairs of meeting intervals
706[info] when several intervals with different relations
707[info] - should produce a split
708[info] when non-intersecting intervals
709[info] - should produce separate splits
710[info] when three example intervals, [1, 10], [7, 12] and [9, 15]
711[info] - should produce an expected split
712[info] when split [doc]
713[info] - should be expected
714[info] GroupSpec:
715[info] Group
716[info] when a series of intervals are grouped
717[info] - should produce only disjoint intervals
718[info] when no intervals
719[info] - should be grouped
720[info] when one interval
721[info] - should be grouped
722[info] when (-inf, +inf) interval
723[info] - should group with all other intervals
724[info] when empty and non-empty intervals
725[info] - should group
726[info] when some of intervals are adjacent
727[info] - should group adjacent into one interval if isAdjacent = true
728[info] - should do not group adjacent into one interval if isAdjacent = false
729[info] when non-adjacent intervals
730[info] - should be grouped
731[info] when non-intersecting intervals
732[info] - should produce separate groups
733[info] when group [doc]
734[info] - should be expected if adjacent intervals are grouped
735[info] - should be expected if adjacent intervals are not grouped
736[info] IntervalOrderingSpec:
737[info] IntervalOrdering
738[info] when 3 intervals are ordered, the relation
739[info] - should be transitive
740[info] when the same interval represented in different ways
741[info] - should be equivalent
742[info] when collection of predefined intervals
743[info] - should be ordered
744[info] when empty intervals
745[info] - should be compared
746[info] when empty and non-empty intervals
747[info] - should be compared
748[info] when non-empty and empty intervals
749[info] - should be compared
750[info] when point intervals
751[info] - should be sorted if we have two finite points
752[info] - should be sorted if we have finite and infinite points
753[info] when compare(a, b)
754[info] - should be 0 for equal intervals
755[info] - should be defined for intervals with the same left but different right boundary
756[info] - should be defined when one interval is included in the other one
757[info] when ordering [doc]
758[info] - should provide the expected results
759[info] MergesSpec:
760[info] Merges
761[info] when a.merges(b)
762[info] - should b.merges(a)
763[info] - should b.merges(a) if (a.isEmpty OR b.isEmpty)
764[info] when a.merges(b) AND b.merges(a)
765[info] - should equal
766[info] - should valid in special cases
767[info] MeetsSpec:
768[info] Meets
769[info] when a.meets(b)
770[info] - should b.isMetBy(a)
771[info] when a.isMetBy(b)
772[info] - should b.meets(a)
773[info] when a.meets(b) AND b.isMetBy(a)
774[info] - should equal
775[info] - should valid in special cases
776[info] SpanSpec:
777[info] Span
778[info] when a.span(b)
779[info] - should any if A and B are empty
780[info] - should [,] if A is empty
781[info] - should [,] if A and B are non-empty
782[info] - should [,] if A before B
783[info] - should [,] if A after B
784[info] - should [,] if A starts B
785[info] - should [,] if A during B
786[info] - should [,] if A finishes B
787[info] - should [,] if A equals B
788[info] - should [,] if A is-overlapped-by B
789[info] - should [,] if A is-met-by B
790[info] - should [,] if A is-started-by B
791[info] - should [,] in A meets B
792[info] - should [,] in A overlaps B
793[info] - should [,] in A is-finished-by B
794[info] - should [,] if A contains B
795[info] when A, B
796[info] - should A # B = B # A
797[info] when A, B, C
798[info] - should (A # B) # C = A # (B # C)
799[info] when Interval
800[info] - should Interval.span(a, b)
801[info] OverlapsSpec:
802[info] Overlap
803[info] when a.overlaps(b)
804[info] - should b.isOverlappedBy(a)
805[info] when a.isOverlappedBy(b)
806[info] - should b.overlaps(a)
807[info] when a.overlaps(b) AND b.isOverlappedBy(a)
808[info] - should equal
809[info] - should valid in special cases
810[info] ValueOrderingSpec:
811[info] ValueOrdering
812[info] when ordV.compare(a, b)
813[info] - should return the expected results
814[info] when sort
815[info] - should order values
816[info] when lt
817[info] - should compare
818[info] ArbitrariesSpec:
819[info] Arbitraries
820[info] when genEmptyIntArgs
821[info] - should a.isEmpty == true
822[info] when genPointIntArgs
823[info] - should a.isPoint == true
824[info] when genProperIntArgs
825[info] - should a.isProper == true
826[info] EndpointSpec:
827[info] Endpoint
828[info] when Endpoint.At
829[info] - should construct from T
830[info] - should construct from Value.Finite
831[info] - should construct from Value.InfNeg
832[info] - should construct from Value.InfPos
833[info] - should x.succ
834[info] - should x.pred
835[info] - should x.value
836[info] - should x.eval
837[info] - should x.at
838[info] when Endpoint.Pred
839[info] - should construct from Endpoint
840[info] - should construct from Value
841[info] - should construct from T
842[info] - should x.succ
843[info] - should x.pred
844[info] - should x.eval
845[info] - should x.at
846[info] - should Pred(At(Finite(-3)) == Finite(-4)
847[info] when Endpoint.Succ
848[info] - should construct from Endpoint
849[info] - should construct from Value
850[info] - should construct from T
851[info] - should x.succ
852[info] - should x.pred
853[info] - should x.eval
854[info] - should x.at
855[info] when evaluated
856[info] - should get a value from Succ(Succ(x))
857[info] - should get a value from Pred(Pred(x))
858[info] - should get a value from Succ(Succ(Pred(Pred(x))))
859[info] - should get a value from Succ(Pred(Succ(Pred(x))))
860[info] - should unwrap
861[info] UnionSpec:
862[info] Union
863[info] when a.union(b)
864[info] - should any if A and B are empty
865[info] - should B if A is empty
866[info] - should [,] if A and B are non-empty and merges
867[info] - should ∅ if A and B are non-empty and !merges
868[info] - should ∅ if A before B and !adjacent
869[info] - should [,] if A before B and adjacent
870[info] - should ∅ if A after B and !adjacent
871[info] - should [,] if A after B and adjacent
872[info] - should [,] if A starts B
873[info] - should [,] if A during B
874[info] - should [,] if A finishes B
875[info] - should [,] if A equals B
876[info] - should [,] if A is-overlapped-by B
877[info] - should [,] if A is-met-by B
878[info] - should [,] if A is-started-by B
879[info] - should [,] in A meets B
880[info] - should [,] in A overlaps B
881[info] - should [,] in A is-finished-by B
882[info] - should [,] if A contains B
883[info] when A, B
884[info] - should A U B = B U A
885[info] - should [-2, -5] U [20, 10] = [20, 10] U [-2, -5]
886[info] when Interval
887[info] - should Interval.union(a, b)
888[info] EndpointOrderingSpec:
889[info] EndpointOrdering
890[info] when ordE.compare(a, b)
891[info] - should compare
892[info] - should compare value with infinity
893[info] - should compare (lt) value with infinity
894[info] when complex values
895[info] - should order them
896[info] DuringSpec:
897[info] During
898[info] when a.during(b)
899[info] - should b.contains(a)
900[info] when a.contains(b)
901[info] - should b.during(a)
902[info] when a.during(b) AND b.contains(a)
903[info] - should equal
904[info] - should valid in special cases
905[info] EqualsToSpec:
906[info] EqualsTo
907[info] when a.equalsTo(b)
908[info] - should b.equalsTo(a)
909[info] - should a- = b- AND a+ = b+
910[info] - should valid in special cases
911[info] IntersectsSpec:
912[info] Intersects
913[info] when a.intersects(b)
914[info] - should b.intersects(a)
915[info] when a.intersects(b) AND b.intersects(a)
916[info] - should equal
917[info] - should valid in special cases
918[info] LawsSpec:
919[info] Laws
920[info] FinishesSpec:
921[info] Finishes
922[info] when a.finishes(b)
923[info] - should b.finisedBy(a)
924[info] when a.finisedBy(b)
925[info] - should b.finishes(a)
926[info] when a.finishes(b) AND b.isFinishedBy(a)
927[info] - should equal
928[info] - should valid in special cases
929[info] IntersectionSpec:
930[info] Intersection
931[info] when a.intersection(b)
932[info] - should ∅ if A and B are empty
933[info] - should ∅ if A is empty, B is non-empty
934[info] - should ∅ if A before B
935[info] - should ∅ if A after B
936[info] - should [,] if A starts B
937[info] - should [,] if A during B
938[info] - should [,] if A finishes B
939[info] - should [,] if A equals B
940[info] - should [,] if A is-overlapped-by B
941[info] - should [,] if A is-met-by B
942[info] - should [,] if A is-started-by B
943[info] - should [,] in A meets B
944[info] - should [,] in A overlaps B
945[info] - should [,] in A is-finished-by B
946[info] - should [,] if A contains B
947[info] - should ∅ if A = unbounded, B = empty
948[info] - should B if A = unbounded, B = non-empty
949[info] - should ∅ if A and B non-empty and disjoint
950[info] - should non-empty if A and B are non-empty and !disjoint
951[info] when A, B
952[info] - should A & B = B & A
953[info] - should (2, +∞) & (3, 5) = (3, 5) & (2, +∞)
954[info] when A, B, C
955[info] - should (A & B) & C = A & (B & C)
956[info] when Interval
957[info] - should Interval.intersection(a, b)
958[info] ComplementSpec:
959[info] Complement
960[info] when complement for a series of intervals is calculated
961[info] - should produce only disjoint intervals
962[info] - should complement(complement([x1, x2, ... xn])) == group([x1, x2, ... xn])
963[info] when two adjacent intervals
964[info] - should produce a complement
965[info] when two points
966[info] - should produce a complement
967[info] when one unbounded interval
968[info] - should produce no complements
969[info] when two points -inf and +inf
970[info] - should produce an unbounded interval
971[info] when several intervals with gaps in between
972[info] - should produce the complement
973[info] IsSubsetSpec:
974[info] IsSubset
975[info] when a.isSubset(b)
976[info] - should b.isSuperset(a)
977[info] - should valid in special cases
978[info] BeforeSpec:
979[info] Before
980[info] when a.before(b)
981[info] - should b.after(a)
982[info] when a.after(b)
983[info] - should b.before(a)
984[info] when a.before(b) AND b.after(a)
985[info] - should equal
986[info] - should valid in special cases
987[info] RelBasicSpec:
988[info] RelBasic
989[info] when two intervals
990[info] - should satisfy one relation only
991[info] IsDisjointSpec:
992[info] IsDisjoint
993[info] when a.isDisjoint(b)
994[info] - should b.isDisjoint(a)
995[info] when a.isDisjoint(b) AND b.isDisjoint(a)
996[info] - should equal
997[info] - should valid in special cases
998[info] IsLessSpec:
999[info] IsLess
1000[info] when a.isGreater(b)
1001[info] - should b.isLess(a)
1002[info] when a.isLess(b)
1003[info] - should b.isGreater(a)
1004[info] - should true if a.before(b)
1005[info] - should true if a.meets(b)
1006[info] - should true if a.overlaps(b)
1007[info] - should true if a.starts(b)
1008[info] - should false if a.during(b)
1009[info] - should false if a.finishes(b)
1010[info] - should false if a.after(b)
1011[info] - should false if a.isMetBy(b)
1012[info] - should false if a.isOverlappedBy(b)
1013[info] - should false if a.isStartedBy(b)
1014[info] - should true if a.contains(b)
1015[info] - should true if a.isFinishedBy(b)
1016[info] - should false if a.equalsTo(b)
1017[info] when a.isLess(b) AND b.isGreater(a)
1018[info] - should verify
1019[info] - should valid in edge cases
1020[info] GapSpec:
1021[info] Gap
1022[info] when a.gap(b)
1023[info] - should any if A and B are empty
1024[info] - should any if A is empty
1025[info] - should [,] if A and B are non-empty, disjoint disjoint !adjacent
1026[info] - should ∅ if A and B are non-empty and adjacent
1027[info] - should ∅ if A and B are non-empty and !disjoint
1028[info] - should [,] if A before B and !adjacent
1029[info] - should ∅ if A before B and adjacent
1030[info] - should [,] if A after B and !adjacent
1031[info] - should [,] if A after B and adjacent
1032[info] - should ∅ if A starts B
1033[info] - should ∅ if A during B
1034[info] - should ∅ if A finishes B
1035[info] - should ∅ if A equals B
1036[info] - should ∅ if A is-overlapped-by B
1037[info] - should ∅ if A is-met-by B
1038[info] - should ∅ if A is-started-by B
1039[info] - should ∅ in A meets B
1040[info] - should ∅ in A overlaps B
1041[info] - should ∅ in A is-finished-by B
1042[info] - should ∅ if A contains B
1043[info] - should ∅ if A = (-inf, 0], B = (-inf, 0)
1044[info] - should ∅ if A = (-inf, inf), B = (-inf, inf)
1045[info] - should [,] if disjoint [doc]
1046[info] - should [,] if non-disjoint [doc]
1047[info] when A, B
1048[info] - should A ∥ B = B ∥ A
1049[info] when Interval
1050[info] - should Interval.gap(a, b)
1051[info] DomainLowPrioritySpec:
1052[info] DomainLowPriority
1053[info] when Int
1054[info] - should pred and succ
1055[info] - should count
1056[info] - should compare
1057[info] when Long
1058[info] - should pred and succ
1059[info] - should count
1060[info] - should compare
1061[info] when Double
1062[info] - should pred and succ
1063[info] - should count
1064[info] - should compare
1065[info] when OffsetDateTime
1066[info] - should pred and succ
1067[info] - should count
1068[info] - should compare
1069[info] when OffsetTime
1070[info] - should pred and succ
1071[info] - should count
1072[info] - should compare
1073[info] when Instant
1074[info] - should pred and succ
1075[info] - should count
1076[info] - should compare
1077[info] when LocalDateTime
1078[info] - should pred and succ
1079[info] - should count
1080[info] - should compare
1081[info] when LocalDate
1082[info] - should pred and succ
1083[info] - should count
1084[info] - should compare
1085[info] when LocalTime
1086[info] - should pred and succ
1087[info] - should count
1088[info] - should compare
1089[info] when ZonedDateTime
1090[info] - should pred and succ
1091[info] - should count
1092[info] - should compare
1093[info] IsSupersetSpec:
1094[info] IsSuperset
1095[info] when a.isSuperset(b)
1096[info] - should b.isSubset(a)
1097[info] - should valid in special cases
1098[info] SubtractionSpec:
1099[info] Subtraction
1100[info] when a.minus(b)
1101[info] - should ∅ if A and B are empty
1102[info] - should ∅ if A is empty
1103[info] - should A if B is empty
1104[info] - should [,] if A before B
1105[info] - should [,] if A after B
1106[info] - should ∅ if A starts B
1107[info] - should ∅ if A during B
1108[info] - should ∅ if A finishes B
1109[info] - should ∅ if A equals B
1110[info] - should [,] if A is-overlapped-by B
1111[info] - should [,] if A is-met-by B
1112[info] - should [,] if A is-started-by B
1113[info] - should [,] in A meets B
1114[info] - should [,] in A overlaps B
1115[info] - should [,] in A is-finished-by B
1116[info] - should undefined if A contains B
1117[info] - should [,] if minus left [doc]
1118[info] - should [,] if minus right [doc]
1119[info] when Interval.difference(a, b)
1120[info] - should check
1121[info] - should [,] if a.contains(b) [doc]
1122[info] when Interval.differenceSymmetric(a, b)
1123[info] - should check commutativity: A Δ B = B Δ A
1124[info] - should the empty interval is neutral: A Δ ∅ = A
1125[info] - should check idempotence -- every interval is its own inverse: A Δ A = ∅
1126[info] - should check disjoint intervals
1127[info] - should check containment
1128[info] - should check overlapping intervals
1129[info] - should check selected use-cases
1130[info] when subtractAll
1131[info] - should [[0,2],[3,4],[5,7]] - [1,6] = [[0,1],[6,7]]
1132[info] - should [[0,5]] - [2,3] = [[0,2],[3,5]]
1133[info] - should [[-5,-4],[-3,-2],[1,2],[3,5],[8,9]] - [-1,4] = [[-5,-4],[-3,-2],[4,5],[8,9]]
1134Starting build for ProjectRef(file:/build/repo/,diagram) (mtg-diagram)... [1/4]
1135Compile scalacOptions: -encoding, UTF-8, -indent, -new-syntax, -print-lines, -unchecked, -Xmigration, -Ykind-projector, -language:existentials, -language:experimental.macros, -language:higherKinds, -language:implicitConversions, -language:postfixOps, -Xsemanticdb, -semanticdb-target, /build/repo/diagram/target/scala-3.8.0-RC6/meta, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
1136[info] compiling 5 Scala sources to /build/repo/diagram/target/scala-3.8.0-RC6/classes ...
1137[warn] Option -Ykind-projector is deprecated: Use -Xkind-projector instead.
1138Warning: mocking up superclass for module class internal
1139[warn] one warning found
1140[info] done compiling
1141[info] compiling 2 Scala sources to /build/repo/diagram/target/scala-3.8.0-RC6/test-classes ...
1142[warn] Option -Ykind-projector is deprecated: Use -Xkind-projector instead.
1143[warn] one warning found
1144[info] done compiling
1145[info] DiagramMacroSpec:
1146[info] DiagramMacro
1147[info] when names are extracted from a passed list of variables
1148[info] - should return a list names
1149[info] when names are extracted from a passed list of interval variables
1150[info] - should return a list names
1151[info] when names are extracted from a passed list of constants
1152[info] - should return an empty list
1153[info] when names are extracted from a passed variable
1154[info] - should return an empty list
1155[info] DiagramSpec:
1156[info] Diagram
1157[info] when empty
1158[info] - should create an empty diagram
1159[info] when make
1160[info] - should no intervals
1161[info] - should one explicit section with two intervals and two annotations
1162[info] - should one implicit section with two intervals and no annotations
1163Starting build for ProjectRef(file:/build/repo/,diagramAscii) (mtg-diagram-ascii)... [2/4]
1164Compile scalacOptions: -encoding, UTF-8, -indent, -new-syntax, -print-lines, -unchecked, -Xmigration, -Ykind-projector, -language:existentials, -language:experimental.macros, -language:higherKinds, -language:implicitConversions, -language:postfixOps, -Xsemanticdb, -semanticdb-target, /build/repo/diagram-ascii/target/scala-3.8.0-RC6/meta, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
1165[info] compiling 14 Scala sources to /build/repo/diagram-ascii/target/scala-3.8.0-RC6/classes ...
1166[warn] Option -Ykind-projector is deprecated: Use -Xkind-projector instead.
1167[warn] one warning found
1168[info] done compiling
1169[info] compiling 2 Scala sources to /build/repo/diagram-ascii/target/scala-3.8.0-RC6/test-classes ...
1170[warn] Option -Ykind-projector is deprecated: Use -Xkind-projector instead.
1171[warn] one warning found
1172[info] done compiling
1173[info] AsciiDiagramSpec:
1174[info] AsciiDiagram
1175[info] when make
1176[info] - should diagram no intervals
1177[info] - should diagram an empty interval
1178[info] - should diagram a point
1179[info] - should diagram two points
1180[info] - should diagram a closed interval
1181[info] - should diagram a closed interval with a negative boundary
1182[info] - should diagram an unbounded interval
1183[info] - should diagram a leftOpen interval
1184[info] - should diagram a leftClosed interval
1185[info] - should diagram a rightOpen interval
1186[info] - should diagram a rightClosed interval
1187[info] - should diagram left part of a closed interval
1188[info] - should diagram several intervals
1189[info] - should diagram several intervals with annotations
1190[info] - should diagram several intervals that include an empty one
1191[info] - should diagram overlapping intervals
1192[info] AsciiRendererSpec:
1193[info] AsciiRenderer
1194[info] when render
1195[info] - should display no intervals
1196[info] - should display an empty interval with no legend and no annotations
1197[info] - should display an empty interval with no legend but with annotations
1198[info] - should display an empty interval with a legend and annotations
1199[info] - should display a point
1200[info] - should display two points
1201[info] - should display a closed interval
1202[info] - should display a closed interval with negative boundary
1203[info] - should display an unbounded interval
1204[info] - should display a leftOpen interval
1205[info] - should display a leftClosed interval
1206[info] - should display a rightOpen interval
1207[info] - should display a rightClosed interval
1208[info] - should display a leftClosed and rightClosed overlapping intervals
1209[info] - should display a leftClosed and rightClosed non-overlapping intervals
1210[info] - should display several intervals
1211[info] - should display several intervals with a legend
1212[info] - should display several leftClosed intervals
1213[info] - should display several rightClosed intervals
1214[info] - should display overlapping intervals
1215[info] - should display with default settings [doc]
1216[info] - should display overlapping intervals with as-is labels
1217[info] - should display overlapping intervals with non-overlapping labels
1218[info] - should display overlapping intervals with stacked labels
1219[info] - should display intervals with legend and annotations
1220[info] - should display intervals with legend and without annotations
1221[info] - should display intervals without legend and with annotations
1222[info] - should display intervals without legend and without annotations
1223[info] - should display intervals with OffsetDateTime
1224[info] - should display intervals with Instant
1225[info] - should display several timelines
1226[info] - should display a.intersection(b)
1227[info] - should display a.span(b)
1228[info] - should display a.span(b) of two disjoint intervals
1229[info] - should display a.union(b)
1230[info] - should display a.union(b) of two disjoint intervals
1231[info] - should display a.gap(b) of two intersecting intervals
1232[info] - should display a.gap(b) of two disjoint intervals
1233[info] - should display a.minus(b) if a.overlaps(b)
1234[info] - should display a.minus(b) if a.isOverlappedBy(b)
1235[info] - should display Interval.difference(a, b) if a.contains(b)
1236[info] - should display short intervals
1237[info] when viewport
1238[info] - should display a closed interval on a custom viewport
1239[info] - should display the left part of a closed interval
1240[info] - should display the right part of a closed interval
1241[info] - should display the middle part of a closed interval
1242Starting build for ProjectRef(file:/build/repo/,diagramMermaid) (mtg-diagram-mermaid)... [3/4]
1243Compile scalacOptions: -encoding, UTF-8, -indent, -new-syntax, -print-lines, -unchecked, -Xmigration, -Ykind-projector, -language:existentials, -language:experimental.macros, -language:higherKinds, -language:implicitConversions, -language:postfixOps, -Xsemanticdb, -semanticdb-target, /build/repo/diagram-mermaid/target/scala-3.8.0-RC6/meta, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
1244[info] compiling 21 Scala sources to /build/repo/diagram-mermaid/target/scala-3.8.0-RC6/classes ...
1245[warn] Option -Ykind-projector is deprecated: Use -Xkind-projector instead.
1246[warn] one warning found
1247[info] done compiling
1248[info] compiling 3 Scala sources to /build/repo/diagram-mermaid/target/scala-3.8.0-RC6/test-classes ...
1249[warn] Option -Ykind-projector is deprecated: Use -Xkind-projector instead.
1250[warn] one warning found
1251[info] done compiling
1252[info] OutputFormatSpec:
1253[info] OutputFormatFormat
1254[info] when OffsetDateTime
1255[info] - should pattern
1256[info] when OffsetTime
1257[info] - should pattern
1258[info] when Instant
1259[info] - should pattern
1260[info] when LocalDateTime
1261[info] - should pattern
1262[info] when LocalDate
1263[info] - should pattern
1264[info] when LocalTime
1265[info] - should pattern
1266[info] when ZonedDateTime
1267[info] - should pattern
1268[info] InputFormatSpec:
1269[info] InputFormat
1270[info] when OffsetDateTime
1271[info] - should pattern
1272[info] - should format
1273[info] when OffsetTime
1274[info] - should pattern
1275[info] - should format
1276[info] when Instant
1277[info] - should pattern
1278[info] - should format
1279[info] when LocalDateTime
1280[info] - should pattern
1281[info] - should format
1282[info] when LocalDate
1283[info] - should pattern
1284[info] - should format
1285[info] when LocalTime
1286[info] - should pattern
1287[info] - should format
1288[info] when ZonedDateTime
1289[info] - should pattern
1290[info] - should format
1291[info] MermaidRendererSpec:
1292[info] MermaidRenderer
1293[info] when OffsetDateTime
1294[info] - should render an empty diagram
1295[info] - should render a single interval
1296[info] - should render several intervals in several sections
1297
1298************************
1299Build summary:
1300[{
1301 "module": "mtg",
1302 "compile": {"status": "ok", "tookMs": 8499, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
1303 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
1304 "test-compile": {"status": "ok", "tookMs": 17487, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
1305 "test": {"status": "ok", "tookMs": 1952, "passed": 371, "failed": 0, "ignored": 0, "skipped": 0, "total": 371, "byFramework": [{"framework": "unknown", "stats": {"passed": 371, "failed": 0, "ignored": 0, "skipped": 0, "total": 371}}]},
1306 "publish": {"status": "skipped", "tookMs": 0},
1307 "metadata": {
1308 "crossScalaVersions": ["3.3.3"]
1309}
1310},{
1311 "module": "mtg-diagram",
1312 "compile": {"status": "ok", "tookMs": 1003, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
1313 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
1314 "test-compile": {"status": "ok", "tookMs": 1157, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
1315 "test": {"status": "ok", "tookMs": 344, "passed": 8, "failed": 0, "ignored": 0, "skipped": 0, "total": 8, "byFramework": [{"framework": "unknown", "stats": {"passed": 8, "failed": 0, "ignored": 0, "skipped": 0, "total": 8}}]},
1316 "publish": {"status": "skipped", "tookMs": 0},
1317 "metadata": {
1318 "crossScalaVersions": ["3.3.3"]
1319}
1320},{
1321 "module": "mtg-diagram-ascii",
1322 "compile": {"status": "ok", "tookMs": 1103, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
1323 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
1324 "test-compile": {"status": "ok", "tookMs": 1828, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
1325 "test": {"status": "ok", "tookMs": 514, "passed": 62, "failed": 0, "ignored": 0, "skipped": 0, "total": 62, "byFramework": [{"framework": "unknown", "stats": {"passed": 62, "failed": 0, "ignored": 0, "skipped": 0, "total": 62}}]},
1326 "publish": {"status": "skipped", "tookMs": 0},
1327 "metadata": {
1328 "crossScalaVersions": ["3.3.3"]
1329}
1330},{
1331 "module": "mtg-diagram-mermaid",
1332 "compile": {"status": "ok", "tookMs": 667, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
1333 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
1334 "test-compile": {"status": "ok", "tookMs": 1110, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
1335 "test": {"status": "ok", "tookMs": 326, "passed": 24, "failed": 0, "ignored": 0, "skipped": 0, "total": 24, "byFramework": [{"framework": "unknown", "stats": {"passed": 24, "failed": 0, "ignored": 0, "skipped": 0, "total": 24}}]},
1336 "publish": {"status": "skipped", "tookMs": 0},
1337 "metadata": {
1338 "crossScalaVersions": ["3.3.3"]
1339}
1340}]
1341************************
1342[success] Total time: 40 s, completed Jan 8, 2026, 2:43:54 AM
1343[0JChecking patch project/plugins.sbt...
1344Checking patch project/build.properties...
1345Checking patch mtg/src/main/scala/com/github/gchudnov/mtg/internal/domain/AnyDomain.scala...
1346Checking patch build.sbt...
1347Applied patch project/plugins.sbt cleanly.
1348Applied patch project/build.properties cleanly.
1349Applied patch mtg/src/main/scala/com/github/gchudnov/mtg/internal/domain/AnyDomain.scala cleanly.
1350Applied patch build.sbt cleanly.