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