Build Logs

gchudnov/mindthegap • 3.8.0:2026-01-13

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.509s.
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 diagram/crossScalaVersions
92OpenCB::Changing crossVersion 3.3.3 -> 3.7.4 in mtg/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 examples/crossScalaVersions
96OpenCB::Changing crossVersion 3.3.3 -> 3.7.4 in root/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 13, 2026, 4:07:38 PM
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": 8346, "warnings": 0, "errors": 0, "sourceVersion": "3.4-migration"},
186 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
187 "test-compile": {"status": "ok", "tookMs": 19262, "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": 1084, "warnings": 0, "errors": 0, "sourceVersion": "3.4-migration"},
196 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
197 "test-compile": {"status": "ok", "tookMs": 1455, "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": 1255, "warnings": 0, "errors": 0, "sourceVersion": "3.4-migration"},
206 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
207 "test-compile": {"status": "ok", "tookMs": 1603, "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": 613, "warnings": 0, "errors": 0, "sourceVersion": "3.4-migration"},
216 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
217 "test-compile": {"status": "ok", "tookMs": 1240, "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: 38 s, completed Jan 13, 2026, 4:08:16 PM
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 mtg/crossScalaVersions
299OpenCB::Changing crossVersion 3.3.3 -> 3.7.4 in diagram/crossScalaVersions
300OpenCB::Changing crossVersion 3.3.3 -> 3.7.4 in diagramMermaid/crossScalaVersions
301OpenCB::Changing crossVersion 3.3.3 -> 3.7.4 in diagramAscii/crossScalaVersions
302OpenCB::Changing crossVersion 3.3.3 -> 3.7.4 in examples/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 13, 2026, 4:08:36 PM
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": 8484, "warnings": 0, "errors": 0, "sourceVersion": "3.7-migration"},
393 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
394 "test-compile": {"status": "ok", "tookMs": 17823, "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": 1354, "warnings": 0, "errors": 0, "sourceVersion": "3.7-migration"},
403 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
404 "test-compile": {"status": "ok", "tookMs": 1127, "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": 1278, "warnings": 0, "errors": 0, "sourceVersion": "3.7-migration"},
413 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
414 "test-compile": {"status": "ok", "tookMs": 1765, "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": 590, "warnings": 0, "errors": 0, "sourceVersion": "3.7-migration"},
423 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
424 "test-compile": {"status": "ok", "tookMs": 1134, "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: 35 s, completed Jan 13, 2026, 4:09:12 PM
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
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
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
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
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"
490"++3.8.0 -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 """{"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
507OpenCB::Changing crossVersion 3.3.3 -> 3.8.0 in diagram/crossScalaVersions
508OpenCB::Changing crossVersion 3.3.3 -> 3.8.0 in mtg/crossScalaVersions
509OpenCB::Changing crossVersion 3.3.3 -> 3.8.0 in diagramAscii/crossScalaVersions
510OpenCB::Changing crossVersion 3.3.3 -> 3.8.0 in diagramMermaid/crossScalaVersions
511OpenCB::Changing crossVersion 3.3.3 -> 3.8.0 in examples/crossScalaVersions
512OpenCB::Changing crossVersion 3.3.3 -> 3.8.0 in root/crossScalaVersions
513[info] set current project to root (in build file:/build/repo/)
514[info] Setting Scala version to 3.8.0 on 6 projects.
515[info] Switching Scala version on:
516[info] diagramMermaid (3.8.0)
517[info] examples (3.8.0)
518[info] diagram (3.8.0)
519[info] * root (3.8.0)
520[info] mtg (3.8.0)
521[info] diagramAscii (3.8.0)
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 13, 2026, 4:09:32 PM
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/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/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/test-classes ...
560[warn] Option -Ykind-projector is deprecated: Use -Xkind-projector instead.
561[warn] one warning found
562[info] done compiling
563[info] IsDisjointSpec:
564[info] IsDisjoint
565[info] when a.isDisjoint(b)
566[info] - should b.isDisjoint(a)
567[info] when a.isDisjoint(b) AND b.isDisjoint(a)
568[info] - should equal
569[info] - should valid in special cases
570[info] IsSupersetSpec:
571[info] IsSuperset
572[info] when a.isSuperset(b)
573[info] - should b.isSubset(a)
574[info] - should valid in special cases
575[info] GroupSpec:
576[info] Group
577[info] when a series of intervals are grouped
578[info] - should produce only disjoint intervals
579[info] when no intervals
580[info] - should be grouped
581[info] when one interval
582[info] - should be grouped
583[info] when (-inf, +inf) interval
584[info] - should group with all other intervals
585[info] when empty and non-empty intervals
586[info] - should group
587[info] when some of intervals are adjacent
588[info] - should group adjacent into one interval if isAdjacent = true
589[info] - should do not group adjacent into one interval if isAdjacent = false
590[info] when non-adjacent intervals
591[info] - should be grouped
592[info] when non-intersecting intervals
593[info] - should produce separate groups
594[info] when group [doc]
595[info] - should be expected if adjacent intervals are grouped
596[info] - should be expected if adjacent intervals are not grouped
597[info] ArbitrariesSpec:
598[info] Arbitraries
599[info] when genEmptyIntArgs
600[info] - should a.isEmpty == true
601[info] when genPointIntArgs
602[info] - should a.isPoint == true
603[info] when genProperIntArgs
604[info] - should a.isProper == true
605[info] IsAdjacentSpec:
606[info] IsAdjacent
607[info] when a.isAdjacent(b)
608[info] - should b.isAdjacent(a)
609[info] when a.isAdjacent(b) AND b.isAdjacent(a)
610[info] - should equal
611[info] - should valid in special cases
612[info] IntersectsSpec:
613[info] Intersects
614[info] when a.intersects(b)
615[info] - should b.intersects(a)
616[info] when a.intersects(b) AND b.intersects(a)
617[info] - should equal
618[info] - should valid in special cases
619[info] StartsSpec:
620[info] Starts
621[info] when a.starts(b)
622[info] - should b.isStartedBy(a)
623[info] when a.isStartedBy(b)
624[info] - should b.starts(a)
625[info] when a.starts(b) AND b.isStartedBy(a)
626[info] - should equal
627[info] - should valid in special cases
628[info] IntervalOrderingSpec:
629[info] IntervalOrdering
630[info] when 3 intervals are ordered, the relation
631[info] - should be transitive
632[info] when the same interval represented in different ways
633[info] - should be equivalent
634[info] when collection of predefined intervals
635[info] - should be ordered
636[info] when empty intervals
637[info] - should be compared
638[info] when empty and non-empty intervals
639[info] - should be compared
640[info] when non-empty and empty intervals
641[info] - should be compared
642[info] when point intervals
643[info] - should be sorted if we have two finite points
644[info] - should be sorted if we have finite and infinite points
645[info] when compare(a, b)
646[info] - should be 0 for equal intervals
647[info] - should be defined for intervals with the same left but different right boundary
648[info] - should be defined when one interval is included in the other one
649[info] when ordering [doc]
650[info] - should provide the expected results
651[info] ValueOrderingSpec:
652[info] ValueOrdering
653[info] when ordV.compare(a, b)
654[info] - should return the expected results
655[info] when sort
656[info] - should order values
657[info] when lt
658[info] - should compare
659[info] EndpointOrderingSpec:
660[info] EndpointOrdering
661[info] when ordE.compare(a, b)
662[info] - should compare
663[info] - should compare value with infinity
664[info] - should compare (lt) value with infinity
665[info] when complex values
666[info] - should order them
667[info] DomainLowPrioritySpec:
668[info] DomainLowPriority
669[info] when Int
670[info] - should pred and succ
671[info] - should count
672[info] - should compare
673[info] when Long
674[info] - should pred and succ
675[info] - should count
676[info] - should compare
677[info] when Double
678[info] - should pred and succ
679[info] - should count
680[info] - should compare
681[info] when OffsetDateTime
682[info] - should pred and succ
683[info] - should count
684[info] - should compare
685[info] when OffsetTime
686[info] - should pred and succ
687[info] - should count
688[info] - should compare
689[info] when Instant
690[info] - should pred and succ
691[info] - should count
692[info] - should compare
693[info] when LocalDateTime
694[info] - should pred and succ
695[info] - should count
696[info] - should compare
697[info] when LocalDate
698[info] - should pred and succ
699[info] - should count
700[info] - should compare
701[info] when LocalTime
702[info] - should pred and succ
703[info] - should count
704[info] - should compare
705[info] when ZonedDateTime
706[info] - should pred and succ
707[info] - should count
708[info] - should compare
709[info] ValueSpec:
710[info] Value
711[info] when constructed
712[info] - should construct Value.Finite
713[info] - should construct Value.InfNeg
714[info] - should construct Value.InfPos
715[info] when Value.Finite(x)
716[info] - should check the properties
717[info] - should x.succ
718[info] - should x.pred
719[info] when Value.InfNeg
720[info] - should check the properties
721[info] - should x.succ
722[info] - should x.pred
723[info] when Value.InfPos
724[info] - should check the properties
725[info] - should x.succ
726[info] - should x.pred
727[info] when get
728[info] - should return the value if finite
729[info] - should throws an exception if negative infinity
730[info] - should throws an exception if positive infinity
731[info] EqualsToSpec:
732[info] EqualsTo
733[info] when a.equalsTo(b)
734[info] - should b.equalsTo(a)
735[info] - should a- = b- AND a+ = b+
736[info] - should valid in special cases
737[info] EndpointSpec:
738[info] Endpoint
739[info] when Endpoint.At
740[info] - should construct from T
741[info] - should construct from Value.Finite
742[info] - should construct from Value.InfNeg
743[info] - should construct from Value.InfPos
744[info] - should x.succ
745[info] - should x.pred
746[info] - should x.value
747[info] - should x.eval
748[info] - should x.at
749[info] when Endpoint.Pred
750[info] - should construct from Endpoint
751[info] - should construct from Value
752[info] - should construct from T
753[info] - should x.succ
754[info] - should x.pred
755[info] - should x.eval
756[info] - should x.at
757[info] - should Pred(At(Finite(-3)) == Finite(-4)
758[info] when Endpoint.Succ
759[info] - should construct from Endpoint
760[info] - should construct from Value
761[info] - should construct from T
762[info] - should x.succ
763[info] - should x.pred
764[info] - should x.eval
765[info] - should x.at
766[info] when evaluated
767[info] - should get a value from Succ(Succ(x))
768[info] - should get a value from Pred(Pred(x))
769[info] - should get a value from Succ(Succ(Pred(Pred(x))))
770[info] - should get a value from Succ(Pred(Succ(Pred(x))))
771[info] - should unwrap
772[info] LawsSpec:
773[info] Laws
774[info] RelBasicSpec:
775[info] RelBasic
776[info] when two intervals
777[info] - should satisfy one relation only
778[info] BeforeSpec:
779[info] Before
780[info] when a.before(b)
781[info] - should b.after(a)
782[info] when a.after(b)
783[info] - should b.before(a)
784[info] when a.before(b) AND b.after(a)
785[info] - should equal
786[info] - should valid in special cases
787[info] IsLessSpec:
788[info] IsLess
789[info] when a.isGreater(b)
790[info] - should b.isLess(a)
791[info] when a.isLess(b)
792[info] - should b.isGreater(a)
793[info] - should true if a.before(b)
794[info] - should true if a.meets(b)
795[info] - should true if a.overlaps(b)
796[info] - should true if a.starts(b)
797[info] - should false if a.during(b)
798[info] - should false if a.finishes(b)
799[info] - should false if a.after(b)
800[info] - should false if a.isMetBy(b)
801[info] - should false if a.isOverlappedBy(b)
802[info] - should false if a.isStartedBy(b)
803[info] - should true if a.contains(b)
804[info] - should true if a.isFinishedBy(b)
805[info] - should false if a.equalsTo(b)
806[info] when a.isLess(b) AND b.isGreater(a)
807[info] - should verify
808[info] - should valid in edge cases
809[info] SpanSpec:
810[info] Span
811[info] when a.span(b)
812[info] - should any if A and B are empty
813[info] - should [,] if A is empty
814[info] - should [,] if A and B are non-empty
815[info] - should [,] if A before B
816[info] - should [,] if A after B
817[info] - should [,] if A starts B
818[info] - should [,] if A during B
819[info] - should [,] if A finishes B
820[info] - should [,] if A equals B
821[info] - should [,] if A is-overlapped-by B
822[info] - should [,] if A is-met-by B
823[info] - should [,] if A is-started-by B
824[info] - should [,] in A meets B
825[info] - should [,] in A overlaps B
826[info] - should [,] in A is-finished-by B
827[info] - should [,] if A contains B
828[info] when A, B
829[info] - should A # B = B # A
830[info] when A, B, C
831[info] - should (A # B) # C = A # (B # C)
832[info] when Interval
833[info] - should Interval.span(a, b)
834[info] ComplementSpec:
835[info] Complement
836[info] when complement for a series of intervals is calculated
837[info] - should produce only disjoint intervals
838[info] - should complement(complement([x1, x2, ... xn])) == group([x1, x2, ... xn])
839[info] when two adjacent intervals
840[info] - should produce a complement
841[info] when two points
842[info] - should produce a complement
843[info] when one unbounded interval
844[info] - should produce no complements
845[info] when two points -inf and +inf
846[info] - should produce an unbounded interval
847[info] when several intervals with gaps in between
848[info] - should produce the complement
849[info] IntersectionSpec:
850[info] Intersection
851[info] when a.intersection(b)
852[info] - should ∅ if A and B are empty
853[info] - should ∅ if A is empty, B is non-empty
854[info] - should ∅ if A before B
855[info] - should ∅ if A after B
856[info] - should [,] if A starts B
857[info] - should [,] if A during B
858[info] - should [,] if A finishes B
859[info] - should [,] if A equals B
860[info] - should [,] if A is-overlapped-by B
861[info] - should [,] if A is-met-by B
862[info] - should [,] if A is-started-by B
863[info] - should [,] in A meets B
864[info] - should [,] in A overlaps B
865[info] - should [,] in A is-finished-by B
866[info] - should [,] if A contains B
867[info] - should ∅ if A = unbounded, B = empty
868[info] - should B if A = unbounded, B = non-empty
869[info] - should ∅ if A and B non-empty and disjoint
870[info] - should non-empty if A and B are non-empty and !disjoint
871[info] when A, B
872[info] - should A & B = B & A
873[info] - should (2, +∞) & (3, 5) = (3, 5) & (2, +∞)
874[info] when A, B, C
875[info] - should (A & B) & C = A & (B & C)
876[info] when Interval
877[info] - should Interval.intersection(a, b)
878[info] FinishesSpec:
879[info] Finishes
880[info] when a.finishes(b)
881[info] - should b.finisedBy(a)
882[info] when a.finisedBy(b)
883[info] - should b.finishes(a)
884[info] when a.finishes(b) AND b.isFinishedBy(a)
885[info] - should equal
886[info] - should valid in special cases
887[info] IntervalSpec:
888[info] Interval
889[info] when make
890[info] - should create intervals
891[info] - should handle edge cases
892[info] - should create an open interval from Option[T]
893[info] - should create a closed interval from Option[T]
894[info] when factory methods
895[info] - should Interval.empty
896[info] - should Interval.point(x)
897[info] - should Interval.proper(x, y) if enpoints are provided
898[info] - should Interval.proper(x, y) if values are provided
899[info] - should Interval.proper(x, y) throws an exception if left endpoint is greater than right endpoint
900[info] - should Interval.unbounded
901[info] - should Interval.open(x, y)
902[info] - should Interval.closed(x, y)
903[info] - should Interval.leftOpen(x)
904[info] - should Interval.leftClosed(x)
905[info] - should Interval.rightOpen(x)
906[info] - should Interval.rightClosed(x)
907[info] - should Interval.leftClosedRightOpen(x, y)
908[info] - should Interval.leftOpenRightClosed(x, y)
909[info] when canonical
910[info] - should represent an interval
911[info] - should double canonical is canonical
912[info] when normalize
913[info] - should provide a normal form of the intervals
914[info] when swap
915[info] - should swap left and right in positive interval
916[info] - should swap left and right in negative interval
917[info] - should double-swap restores the original interval
918[info] when inflate
919[info] - should make an interval out of point
920[info] - should expand a real interval
921[info] - should expand an empty interval
922[info] - should inflate, deflate produces the original interval
923[info] when inflateLeft
924[info] - should make a real out of point
925[info] - should expand a real interval
926[info] - should expand an empty interval
927[info] - should inflate, deflate produces the original interval
928[info] when inflateRight
929[info] - should make a real out of point
930[info] - should expand a real interval
931[info] - should expand an empty interval
932[info] - should inflate, deflate produces the original interval
933[info] when deflate
934[info] - should make an empty interval out of point
935[info] - should shrink a real interval
936[info] - should expand an empty interval
937[info] - should deflate, inflate produces the original interval
938[info] when deflateLeft
939[info] - should make an empty interval out of point
940[info] - should shrink a real interval
941[info] - should expand an empty interval
942[info] - should inflate, deflate produces the original interval
943[info] when deflateRight
944[info] - should make an empty interval out of point
945[info] - should shrink a real interval
946[info] - should expand an empty interval
947[info] - should inflate, deflate produces the original interval
948[info] when size
949[info] - should return the size of an interval
950[info] when left
951[info] - should return the left endpoint value
952[info] when right
953[info] - should return the right endpoint value
954[info] when isLeftOpen
955[info] - should return true if the left endpoint is open
956[info] when isLeftClosed
957[info] - should return true if the left endpoint is closed
958[info] when isRightOpen
959[info] - should return true if the right endpoint is open
960[info] when isRightClosed
961[info] - should return true if the right endpoint is closed
962[info] when toString
963[info] - should represent an Empty interval
964[info] - should represent a Point interval
965[info] - should represent a Proper interval
966[info] when toDebugString
967[info] - should represent an interval
968[info] SplitSpec:
969[info] Split
970[info] when a series of intervals are split
971[info] - should produce intervals where a.rightEndpoint = b.leftEndpoint
972[info] when no intervals
973[info] - should be split
974[info] when one interval
975[info] - should be split
976[info] when (-inf, +inf) interval
977[info] - should split with all other intervals
978[info] when empty and non-empty intervals
979[info] - should produce undefined results
980[info] when some of intervals are adjacent
981[info] - should split doesn't exist for an adjacent intervals
982[info] when equal intervals
983[info] - should produce one split
984[info] - should produce one split for a point
985[info] when adjacent intervals
986[info] - should product splits for points
987[info] when disjoint intervals
988[info] - should produce split for points
989[info] when meeting intervals
990[info] - should split producing a point
991[info] - should split producing a point of we have two pairs of meeting intervals
992[info] when several intervals with different relations
993[info] - should produce a split
994[info] when non-intersecting intervals
995[info] - should produce separate splits
996[info] when three example intervals, [1, 10], [7, 12] and [9, 15]
997[info] - should produce an expected split
998[info] when split [doc]
999[info] - should be expected
1000[info] SubtractionSpec:
1001[info] Subtraction
1002[info] when a.minus(b)
1003[info] - should ∅ if A and B are empty
1004[info] - should ∅ if A is empty
1005[info] - should A if B is empty
1006[info] - should [,] if A before B
1007[info] - should [,] if A after B
1008[info] - should ∅ if A starts B
1009[info] - should ∅ if A during B
1010[info] - should ∅ if A finishes B
1011[info] - should ∅ if A equals B
1012[info] - should [,] if A is-overlapped-by B
1013[info] - should [,] if A is-met-by B
1014[info] - should [,] if A is-started-by B
1015[info] - should [,] in A meets B
1016[info] - should [,] in A overlaps B
1017[info] - should [,] in A is-finished-by B
1018[info] - should undefined if A contains B
1019[info] - should [,] if minus left [doc]
1020[info] - should [,] if minus right [doc]
1021[info] when Interval.difference(a, b)
1022[info] - should check
1023[info] - should [,] if a.contains(b) [doc]
1024[info] when Interval.differenceSymmetric(a, b)
1025[info] - should check commutativity: A Δ B = B Δ A
1026[info] - should the empty interval is neutral: A Δ ∅ = A
1027[info] - should check idempotence -- every interval is its own inverse: A Δ A = ∅
1028[info] - should check disjoint intervals
1029[info] - should check containment
1030[info] - should check overlapping intervals
1031[info] - should check selected use-cases
1032[info] when subtractAll
1033[info] - should [[0,2],[3,4],[5,7]] - [1,6] = [[0,1],[6,7]]
1034[info] - should [[0,5]] - [2,3] = [[0,2],[3,5]]
1035[info] - should [[-5,-4],[-3,-2],[1,2],[3,5],[8,9]] - [-1,4] = [[-5,-4],[-3,-2],[4,5],[8,9]]
1036[info] MeetsSpec:
1037[info] Meets
1038[info] when a.meets(b)
1039[info] - should b.isMetBy(a)
1040[info] when a.isMetBy(b)
1041[info] - should b.meets(a)
1042[info] when a.meets(b) AND b.isMetBy(a)
1043[info] - should equal
1044[info] - should valid in special cases
1045[info] UnionSpec:
1046[info] Union
1047[info] when a.union(b)
1048[info] - should any if A and B are empty
1049[info] - should B if A is empty
1050[info] - should [,] if A and B are non-empty and merges
1051[info] - should ∅ if A and B are non-empty and !merges
1052[info] - should ∅ if A before B and !adjacent
1053[info] - should [,] if A before B and adjacent
1054[info] - should ∅ if A after B and !adjacent
1055[info] - should [,] if A after B and adjacent
1056[info] - should [,] if A starts B
1057[info] - should [,] if A during B
1058[info] - should [,] if A finishes B
1059[info] - should [,] if A equals B
1060[info] - should [,] if A is-overlapped-by B
1061[info] - should [,] if A is-met-by B
1062[info] - should [,] if A is-started-by B
1063[info] - should [,] in A meets B
1064[info] - should [,] in A overlaps B
1065[info] - should [,] in A is-finished-by B
1066[info] - should [,] if A contains B
1067[info] when A, B
1068[info] - should A U B = B U A
1069[info] - should [-2, -5] U [20, 10] = [20, 10] U [-2, -5]
1070[info] when Interval
1071[info] - should Interval.union(a, b)
1072[info] MergesSpec:
1073[info] Merges
1074[info] when a.merges(b)
1075[info] - should b.merges(a)
1076[info] - should b.merges(a) if (a.isEmpty OR b.isEmpty)
1077[info] when a.merges(b) AND b.merges(a)
1078[info] - should equal
1079[info] - should valid in special cases
1080[info] OverlapsSpec:
1081[info] Overlap
1082[info] when a.overlaps(b)
1083[info] - should b.isOverlappedBy(a)
1084[info] when a.isOverlappedBy(b)
1085[info] - should b.overlaps(a)
1086[info] when a.overlaps(b) AND b.isOverlappedBy(a)
1087[info] - should equal
1088[info] - should valid in special cases
1089[info] DuringSpec:
1090[info] During
1091[info] when a.during(b)
1092[info] - should b.contains(a)
1093[info] when a.contains(b)
1094[info] - should b.during(a)
1095[info] when a.during(b) AND b.contains(a)
1096[info] - should equal
1097[info] - should valid in special cases
1098[info] IsSubsetSpec:
1099[info] IsSubset
1100[info] when a.isSubset(b)
1101[info] - should b.isSuperset(a)
1102[info] - should valid in special cases
1103[info] GapSpec:
1104[info] Gap
1105[info] when a.gap(b)
1106[info] - should any if A and B are empty
1107[info] - should any if A is empty
1108[info] - should [,] if A and B are non-empty, disjoint disjoint !adjacent
1109[info] - should ∅ if A and B are non-empty and adjacent
1110[info] - should ∅ if A and B are non-empty and !disjoint
1111[info] - should [,] if A before B and !adjacent
1112[info] - should ∅ if A before B and adjacent
1113[info] - should [,] if A after B and !adjacent
1114[info] - should [,] if A after B and adjacent
1115[info] - should ∅ if A starts B
1116[info] - should ∅ if A during B
1117[info] - should ∅ if A finishes B
1118[info] - should ∅ if A equals B
1119[info] - should ∅ if A is-overlapped-by B
1120[info] - should ∅ if A is-met-by B
1121[info] - should ∅ if A is-started-by B
1122[info] - should ∅ in A meets B
1123[info] - should ∅ in A overlaps B
1124[info] - should ∅ in A is-finished-by B
1125[info] - should ∅ if A contains B
1126[info] - should ∅ if A = (-inf, 0], B = (-inf, 0)
1127[info] - should ∅ if A = (-inf, inf), B = (-inf, inf)
1128[info] - should [,] if disjoint [doc]
1129[info] - should [,] if non-disjoint [doc]
1130[info] when A, B
1131[info] - should A ∥ B = B ∥ A
1132[info] when Interval
1133[info] - should Interval.gap(a, b)
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/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/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/test-classes ...
1142[warn] Option -Ykind-projector is deprecated: Use -Xkind-projector instead.
1143[warn] one warning found
1144[info] done compiling
1145[info] DiagramSpec:
1146[info] Diagram
1147[info] when empty
1148[info] - should create an empty diagram
1149[info] when make
1150[info] - should no intervals
1151[info] - should one explicit section with two intervals and two annotations
1152[info] - should one implicit section with two intervals and no annotations
1153[info] DiagramMacroSpec:
1154[info] DiagramMacro
1155[info] when names are extracted from a passed list of variables
1156[info] - should return a list names
1157[info] when names are extracted from a passed list of interval variables
1158[info] - should return a list names
1159[info] when names are extracted from a passed list of constants
1160[info] - should return an empty list
1161[info] when names are extracted from a passed variable
1162[info] - should return an empty list
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/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/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/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/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/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/test-classes ...
1249[warn] Option -Ykind-projector is deprecated: Use -Xkind-projector instead.
1250[warn] one warning found
1251[info] done compiling
1252[info] InputFormatSpec:
1253[info] InputFormat
1254[info] when OffsetDateTime
1255[info] - should pattern
1256[info] - should format
1257[info] when OffsetTime
1258[info] - should pattern
1259[info] - should format
1260[info] when Instant
1261[info] - should pattern
1262[info] - should format
1263[info] when LocalDateTime
1264[info] - should pattern
1265[info] - should format
1266[info] when LocalDate
1267[info] - should pattern
1268[info] - should format
1269[info] when LocalTime
1270[info] - should pattern
1271[info] - should format
1272[info] when ZonedDateTime
1273[info] - should pattern
1274[info] - should format
1275[info] OutputFormatSpec:
1276[info] OutputFormatFormat
1277[info] when OffsetDateTime
1278[info] - should pattern
1279[info] when OffsetTime
1280[info] - should pattern
1281[info] when Instant
1282[info] - should pattern
1283[info] when LocalDateTime
1284[info] - should pattern
1285[info] when LocalDate
1286[info] - should pattern
1287[info] when LocalTime
1288[info] - should pattern
1289[info] when ZonedDateTime
1290[info] - should pattern
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": 8613, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
1303 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
1304 "test-compile": {"status": "ok", "tookMs": 16296, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
1305 "test": {"status": "ok", "tookMs": 2215, "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": 1067, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
1313 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
1314 "test-compile": {"status": "ok", "tookMs": 1249, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
1315 "test": {"status": "ok", "tookMs": 351, "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": 1357, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
1323 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
1324 "test-compile": {"status": "ok", "tookMs": 1780, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
1325 "test": {"status": "ok", "tookMs": 535, "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": 748, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
1333 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
1334 "test-compile": {"status": "ok", "tookMs": 865, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
1335 "test": {"status": "ok", "tookMs": 334, "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: 39 s, completed Jan 13, 2026, 4:10:11 PM
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.