Build Logs

gchudnov/mindthegap • 3.8.0-RC4:2025-12-22

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