Build Logs
jd557/minart • 3.8.0-RC4:2025-12-22
Errors
4
Warnings
88
Total Lines
790
1##################################
2Clonning https://github.com/jd557/minart.git into /build/repo using revision v0.6.5
3##################################
4Note: switching to '21b47acd5cbdd85b6138e34d765d2af4d3e836e7'.
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.7 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.7-migration
27Remove: -indent,-no-indent,-new-syntax,,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
28
29Try apply source patch:
30Path: core/shared/src/main/scala/eu/joaocosta/minart/graphics/SurfaceView.scala
31Pattern: copy(cx = newCx, cy = newCy, newWidth, newHeight)
32Replacement: copy(cx = newCx, cy = newCy, width = newWidth, height = newHeight)
33Starting compilation server
34Compiling project (Scala 3.7.3, JVM (17))
35Compiled project (Scala 3.7.3, JVM (17))
36Successfully applied pattern 'copy(cx = newCx, cy = newCy, newWidth, newHeight)' in core/shared/src/main/scala/eu/joaocosta/minart/graphics/SurfaceView.scala
37----
38Starting build for 3.7.4
39Execute tests: false
40sbt project found:
41No prepare script found for project jd557/minart
42##################################
43Scala version: 3.7.4
44Targets: eu.joaocosta%minart eu.joaocosta%minart-backend eu.joaocosta%minart-core eu.joaocosta%minart-image eu.joaocosta%minart-sound
45Project projectConfig: {"projects":{"exclude":[],"overrides":{}},"java":{"version":"17"},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"compile-only","migrationVersions":["3.7"],"sourcePatches":[{"path":"core/shared/src/main/scala/eu/joaocosta/minart/graphics/SurfaceView.scala","pattern":"copy(cx = newCx, cy = newCy, newWidth, newHeight)","replaceWith":"copy(cx = newCx, cy = newCy, width = newWidth, height = newHeight)"}]}
46##################################
47Using extra scalacOptions: -rewrite,REQUIRE:-source:3.7-migration
48Filtering out scalacOptions: -indent,-no-indent,-new-syntax,,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
49[sbt_options] declare -a sbt_options=()
50[process_args] java_version = '17'
51[copyRt] java9_rt = '/root/.sbt/1.0/java9-rt-ext-eclipse_adoptium_17_0_8/rt.jar'
52# Executing command line:
53java
54-Dfile.encoding=UTF-8
55-Dcommunitybuild.scala=3.7.4
56-Dcommunitybuild.project.dependencies.add=
57-Xmx7G
58-Xms4G
59-Xss8M
60-Dsbt.script=/root/.sdkman/candidates/sbt/current/bin/sbt
61-Dscala.ext.dirs=/root/.sbt/1.0/java9-rt-ext-eclipse_adoptium_17_0_8
62-jar
63/root/.sdkman/candidates/sbt/1.11.5/bin/sbt-launch.jar
64"setCrossScalaVersions 3.7.4"
65"++3.7.4 -v"
66"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""
67"set every credentials := Nil"
68"excludeLibraryDependency com.github.ghik:zerowaste_{scalaVersion} com.olegpy:better-monadic-for_3 org.polyvariant:better-tostring_{scalaVersion} org.wartremover:wartremover_{scalaVersion}"
69"removeScalacOptionsStartingWith -P:wartremover"
70
71moduleMappings
72"runBuild 3.7.4 """{"projects":{"exclude":[],"overrides":{}},"java":{"version":"17"},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"compile-only","migrationVersions":["3.7"],"sourcePatches":[{"path":"core/shared/src/main/scala/eu/joaocosta/minart/graphics/SurfaceView.scala","pattern":"copy(cx = newCx, cy = newCy, newWidth, newHeight)","replaceWith":"copy(cx = newCx, cy = newCy, width = newWidth, height = newHeight)"}]}""" eu.joaocosta%minart eu.joaocosta%minart-backend eu.joaocosta%minart-core eu.joaocosta%minart-image eu.joaocosta%minart-sound"
73
74[info] [launcher] getting org.scala-sbt sbt 1.11.7 (this may take some time)...
75[info] welcome to sbt 1.11.7 (Eclipse Adoptium Java 17.0.8)
76[info] loading settings for project repo-build from akka.sbt, plugins.sbt...
77[info] loading project definition from /build/repo/project
78[info] compiling 2 Scala sources to /build/repo/project/target/scala-2.12/sbt-1.0/classes ...
79[info] Non-compiled module 'compiler-bridge_2.12' for Scala 2.12.20. Compiling...
80[info] Compilation completed in 8.38s.
81[info] done compiling
82[info] loading settings for project repo from build.sbt, contributors.sbt, version.sbt...
83[info] resolving key references (19143 settings) ...
84[info] set current project to minart (in build file:/build/repo/)
85Execute setCrossScalaVersions: 3.7.4
86OpenCB::Changing crossVersion 3.3.7 -> 3.7.4 in backendJVM/crossScalaVersions
87OpenCB::Changing crossVersion 3.3.7 -> 3.7.4 in rootNative/crossScalaVersions
88OpenCB::Changing crossVersion 3.3.7 -> 3.7.4 in imageJVM/crossScalaVersions
89OpenCB::Changing crossVersion 3.3.7 -> 3.7.4 in soundJS/crossScalaVersions
90OpenCB::Changing crossVersion 3.3.7 -> 3.7.4 in imageNative/crossScalaVersions
91OpenCB::Changing crossVersion 3.3.7 -> 3.7.4 in coreJVM/crossScalaVersions
92OpenCB::Changing crossVersion 3.3.7 -> 3.7.4 in imageJS/crossScalaVersions
93OpenCB::Changing crossVersion 3.3.7 -> 3.7.4 in backendNative/crossScalaVersions
94OpenCB::Changing crossVersion 3.3.7 -> 3.7.4 in soundJVM/crossScalaVersions
95OpenCB::Changing crossVersion 3.3.7 -> 3.7.4 in repo/crossScalaVersions
96OpenCB::Changing crossVersion 3.3.7 -> 3.7.4 in coreJS/crossScalaVersions
97OpenCB::Changing crossVersion 3.3.7 -> 3.7.4 in soundNative/crossScalaVersions
98OpenCB::Changing crossVersion 3.3.7 -> 3.7.4 in backendJS/crossScalaVersions
99OpenCB::Changing crossVersion 3.3.7 -> 3.7.4 in rootJVM/crossScalaVersions
100OpenCB::Changing crossVersion 3.3.7 -> 3.7.4 in coreNative/crossScalaVersions
101OpenCB::Changing crossVersion 3.3.7 -> 3.7.4 in rootJS/crossScalaVersions
102[info] set current project to minart (in build file:/build/repo/)
103[info] Setting Scala version to 3.7.4 on 16 projects.
104[info] Switching Scala version on:
105[info] imageNative (3.7.4)
106[info] backendNative (3.7.4)
107[info] imageJS (3.7.4)
108[info] rootJS (3.7.4)
109[info] coreNative (3.7.4)
110[info] backendJVM (3.7.4)
111[info] soundJVM (3.7.4)
112[info] soundNative (3.7.4)
113[info] coreJS (3.7.4)
114[info] coreJVM (3.7.4)
115[info] rootJVM (3.7.4)
116[info] rootNative (3.7.4)
117[info] soundJS (3.7.4)
118[info] * repo (3.7.4)
119[info] imageJVM (3.7.4)
120[info] backendJS (3.7.4)
121[info] Excluding projects:
122[info] Reapplying settings...
123[info] set current project to minart (in build file:/build/repo/)
124Execute 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
125[info] Reapplying settings...
126[info] set current project to minart (in build file:/build/repo/)
127[info] Defining Global / credentials, backendJS / credentials and 14 others.
128[info] The new values will be used by Compile / scalafmtOnly, Global / pgpSelectPassphrase and 128 others.
129[info] Run `last` for details.
130[info] Reapplying settings...
131[info] set current project to minart (in build file:/build/repo/)
132Execute excludeLibraryDependency: com.github.ghik:zerowaste_{scalaVersion} com.olegpy:better-monadic-for_3 org.polyvariant:better-tostring_{scalaVersion} org.wartremover:wartremover_{scalaVersion}
133[info] Reapplying settings...
134OpenCB::Failed to reapply settings in excludeLibraryDependency: Reference to undefined setting:
135
136 Global / allExcludeDependencies from Global / allExcludeDependencies (CommunityBuildPlugin.scala:331)
137 Did you mean rootJVM / allExcludeDependencies ?
138 , retry without global scopes
139[info] Reapplying settings...
140[info] set current project to minart (in build file:/build/repo/)
141Execute removeScalacOptionsStartingWith: -P:wartremover
142[info] Reapplying settings...
143[info] set current project to minart (in build file:/build/repo/)
144[success] Total time: 0 s, completed Dec 22, 2025, 6:22:57 PM
145Build config: {"projects":{"exclude":[],"overrides":{}},"java":{"version":"17"},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"compile-only","migrationVersions":["3.7"],"sourcePatches":[{"path":"core/shared/src/main/scala/eu/joaocosta/minart/graphics/SurfaceView.scala","pattern":"copy(cx = newCx, cy = newCy, newWidth, newHeight)","replaceWith":"copy(cx = newCx, cy = newCy, width = newWidth, height = newHeight)"}]}
146Parsed config: Success(ProjectBuildConfig(ProjectsConfig(List(),Map()),CompileOnly,List()))
147Starting build...
148Projects: Set(backendJVM, soundJVM, coreJVM, rootJVM, imageJVM)
149Starting build for ProjectRef(file:/build/repo/,soundJVM) (minart-sound)... [0/5]
150OpenCB::Exclude Scala3 specific scalacOption `-rewrite` in Scala 2.12.20 module Global
151OpenCB::Exclude Scala3 specific scalacOption `REQUIRE:-source:3.7-migration` in Scala 2.12.20 module Global
152OpenCB::Filter out '-deprecation', matches setting pattern '^-?-deprecation'
153OpenCB::Filter out '-feature', matches setting pattern '^-?-feature'
154Compile scalacOptions: -encoding, utf8, -unchecked, -language:higherKinds, -Wunused:implicits, -Wunused:explicits, -Wunused:imports, -Wunused:locals, -Wunused:params, -Wunused:privates, -Xsemanticdb, -semanticdb-target, /build/repo/sound/jvm/target/scala-3.7.4/meta, -rewrite, -Wconf:msg=can be rewritten automatically under:s, -source:3.7-migration
155[info] scalafmt: Formatting 15 Scala sources (/build/repo/core/jvm)...
156[info] scalafmt: Formatting 2 Scala sources (/build/repo/sound/jvm)...
157[info] scalafmt: Formatting 17 Scala sources (/build/repo/sound/jvm)...
158[info] scalafmt: Formatting 46 Scala sources (/build/repo/core/jvm)...
159[info] compiling 46 Scala sources to /build/repo/core/jvm/target/scala-3.7.4/classes ...
160[info] [patched file /build/repo/core/shared/src/main/scala/eu/joaocosta/minart/backend/subsystem/LowLevelSubsystem.scala]
161[info] [patched file /build/repo/core/shared/src/main/scala/eu/joaocosta/minart/runtime/AppLoop.scala]
162[info] done compiling
163[info] Running scalafix on 46 Scala sources
164[info] compiling 17 Scala sources to /build/repo/sound/jvm/target/scala-3.7.4/classes ...
165[info] done compiling
166[info] Running scalafix on 17 Scala sources
167[info] scalafmt: Formatting 3 Scala sources (/build/repo/backend/jvm)...
168[info] scalafmt: Formatting 2 Scala sources (/build/repo/core/jvm)...
169[info] scalafmt: Reformatted 1 Scala sources
170[info] compiling 2 Scala sources to /build/repo/core/jvm/target/scala-3.7.4/classes ...
171[info] scalafmt: Formatting 8 Scala sources (/build/repo/backend/jvm)...
172[info] done compiling
173[info] compiling 3 Scala sources to /build/repo/core/jvm/target/scala-3.7.4/classes ...
174[info] done compiling
175[info] Running scalafix on 1 Scala sources (incremental)
176[info] compiling 8 Scala sources to /build/repo/backend/jvm/target/scala-3.7.4/classes ...
177[info] [patched file /build/repo/backend/jvm/src/main/scala/eu/joaocosta/minart/backend/JavaAudioPlayer.scala]
178[info] [patched file /build/repo/backend/jvm/src/main/scala/eu/joaocosta/minart/backend/AwtCanvas.scala]
179[info] [patched file /build/repo/backend/jvm/src/main/scala/eu/joaocosta/minart/backend/JavaAsyncLoopRunner.scala]
180[info] done compiling
181[info] Running scalafix on 8 Scala sources
182[info] compiling 2 Scala sources to /build/repo/sound/jvm/target/scala-3.7.4/test-classes ...
183[info] [patched file /build/repo/sound/shared/src/test/scala/eu/joaocosta/minart/audio/sound/AudioClipWriterSpec.scala]
184[info] done compiling
185[info] Running scalafix on 2 Scala sources
186[info] scalafmt: Formatting 1 Scala sources (/build/repo/sound/jvm)...
187[info] scalafmt: Formatting 3 Scala sources (/build/repo/backend/jvm)...
188[info] compiling 1 Scala source to /build/repo/core/jvm/target/scala-3.7.4/classes ...
189[info] scalafmt: Reformatted 1 Scala sources
190[info] done compiling
191[info] compiling 3 Scala sources to /build/repo/backend/jvm/target/scala-3.7.4/classes ...
192[info] done compiling
193[info] Running scalafix on 1 Scala sources (incremental)
194[info] compiling 1 Scala source to /build/repo/sound/jvm/target/scala-3.7.4/test-classes ...
195[info] done compiling
196[info] compiling 1 Scala source to /build/repo/backend/jvm/target/scala-3.7.4/classes ...
197[info] done compiling
198Starting build for ProjectRef(file:/build/repo/,backendJVM) (minart-backend)... [1/5]
199Compile scalacOptions: -encoding, utf8, -unchecked, -language:higherKinds, -Wunused:implicits, -Wunused:explicits, -Wunused:imports, -Wunused:locals, -Wunused:params, -Wunused:privates, -Xsemanticdb, -semanticdb-target, /build/repo/backend/jvm/target/scala-3.7.4/meta, -rewrite, -Wconf:msg=can be rewritten automatically under:s, -source:3.7-migration
200[info] compiling 3 Scala sources to /build/repo/backend/jvm/target/scala-3.7.4/test-classes ...
201[warn] -- [E198] Unused Symbol Warning: /build/repo/backend/shared/src/test/scala/eu/joaocosta/minart/runtime/AppLoopSpec.scala:35:13
202[warn] 35 | (canvas: Canvas) => {
203[warn] | ^^^^^^
204[warn] | unused explicit parameter
205[info] [patched file /build/repo/backend/shared/src/test/scala/eu/joaocosta/minart/runtime/AppLoopSpec.scala]
206[warn] one warning found
207[info] done compiling
208[info] Running scalafix on 3 Scala sources
209[info] scalafmt: Formatting 1 Scala sources (/build/repo/backend/jvm)...
210[info] scalafmt: Reformatted 1 Scala sources
211[info] compiling 1 Scala source to /build/repo/backend/jvm/target/scala-3.7.4/test-classes ...
212[warn] -- [E198] Unused Symbol Warning: /build/repo/backend/shared/src/test/scala/eu/joaocosta/minart/runtime/AppLoopSpec.scala:35:13
213[warn] 35 | (canvas: Canvas) => {
214[warn] | ^^^^^^
215[warn] | unused explicit parameter
216[warn] one warning found
217[info] done compiling
218[info] Running scalafix on 1 Scala sources (incremental)
219[info] compiling 1 Scala source to /build/repo/backend/jvm/target/scala-3.7.4/test-classes ...
220[warn] -- [E198] Unused Symbol Warning: /build/repo/backend/shared/src/test/scala/eu/joaocosta/minart/runtime/AppLoopSpec.scala:35:13
221[warn] 35 | (canvas: Canvas) => {
222[warn] | ^^^^^^
223[warn] | unused explicit parameter
224[warn] one warning found
225[info] done compiling
226Starting build for ProjectRef(file:/build/repo/,coreJVM) (minart-core)... [2/5]
227Compile scalacOptions: -encoding, utf8, -unchecked, -language:higherKinds, -Wunused:implicits, -Wunused:explicits, -Wunused:imports, -Wunused:locals, -Wunused:params, -Wunused:privates, -Xsemanticdb, -semanticdb-target, /build/repo/core/jvm/target/scala-3.7.4/meta, -rewrite, -Wconf:msg=can be rewritten automatically under:s, -source:3.7-migration
228[info] compiling 15 Scala sources to /build/repo/core/jvm/target/scala-3.7.4/test-classes ...
229[warn] -- [E198] Unused Symbol Warning: /build/repo/core/shared/src/test/scala/eu/joaocosta/minart/graphics/PlaneSpec.scala:52:27
230[warn] 52 | .flatMap(color => (x, y) => if (y >= 8) color.invert else color)
231[warn] | ^
232[warn] | unused explicit parameter
233[warn] -- [E198] Unused Symbol Warning: /build/repo/core/shared/src/test/scala/eu/joaocosta/minart/graphics/PlaneSpec.scala:66:27
234[warn] 66 | .flatMap(color => (x, y) => if (y >= 8) color.invert else color)
235[warn] | ^
236[warn] | unused explicit parameter
237[warn] -- [E198] Unused Symbol Warning: /build/repo/core/shared/src/test/scala/eu/joaocosta/minart/graphics/PlaneSpec.scala:70:33
238[warn] 70 | .transformPixels((color, x, y) => if (y >= 8) color.invert else color)
239[warn] | ^
240[warn] | unused explicit parameter
241[warn] -- [E198] Unused Symbol Warning: /build/repo/core/shared/src/test/scala/eu/joaocosta/minart/graphics/SurfaceViewSpec.scala:33:25
242[warn] 33 | .flatMap(color => (x, y) => if (y >= 8) color.invert else color)
243[warn] | ^
244[warn] | unused explicit parameter
245[warn] -- [E198] Unused Symbol Warning: /build/repo/core/shared/src/test/scala/eu/joaocosta/minart/graphics/SurfaceViewSpec.scala:47:27
246[warn] 47 | .flatMap(color => (x, y) => if (y >= 8) color.invert else color)
247[warn] | ^
248[warn] | unused explicit parameter
249[warn] -- [E198] Unused Symbol Warning: /build/repo/core/shared/src/test/scala/eu/joaocosta/minart/graphics/SurfaceViewSpec.scala:51:33
250[warn] 51 | .transformPixels((color, x, y) => if (y >= 8) color.invert else color)
251[warn] | ^
252[warn] | unused explicit parameter
253[warn] 6 warnings found
254[info] done compiling
255[info] Running scalafix on 15 Scala sources
256Starting build for ProjectRef(file:/build/repo/,imageJVM) (minart-image)... [3/5]
257Compile scalacOptions: -encoding, utf8, -unchecked, -language:higherKinds, -Wunused:implicits, -Wunused:explicits, -Wunused:imports, -Wunused:locals, -Wunused:params, -Wunused:privates, -Xsemanticdb, -semanticdb-target, /build/repo/image/jvm/target/scala-3.7.4/meta, -rewrite, -Wconf:msg=can be rewritten automatically under:s, -source:3.7-migration
258[info] scalafmt: Formatting 4 Scala sources (/build/repo/image/jvm)...
259[info] scalafmt: Formatting 24 Scala sources (/build/repo/image/jvm)...
260[info] compiling 24 Scala sources to /build/repo/image/jvm/target/scala-3.7.4/classes ...
261[warn] -- [E029] Pattern Match Exhaustivity Warning: /build/repo/image/shared/src/main/scala/eu/joaocosta/minart/graphics/image/qoi/QoiImageReader.scala:31:8
262[warn] 31 | case (0xc0, 0x3e) =>
263[warn] | ^
264[warn] | match may not be exhaustive.
265[warn] |
266[warn] | It would fail on pattern case: (_, _)
267[warn] |
268[warn] | longer explanation available when compiling with `-explain`
269[warn] one warning found
270[info] done compiling
271[info] Running scalafix on 24 Scala sources
272[info] compiling 4 Scala sources to /build/repo/image/jvm/target/scala-3.7.4/test-classes ...
273[info] [patched file /build/repo/image/shared/src/test/scala/eu/joaocosta/minart/graphics/image/ImageWriterSpec.scala]
274[info] done compiling
275[info] Running scalafix on 4 Scala sources
276[info] scalafmt: Formatting 1 Scala sources (/build/repo/image/jvm)...
277[info] compiling 1 Scala source to /build/repo/image/jvm/target/scala-3.7.4/test-classes ...
278[info] done compiling
279Starting build for ProjectRef(file:/build/repo/,rootJVM) (minart)... [4/5]
280Compile scalacOptions: -encoding, utf8, -unchecked, -language:higherKinds, -Wunused:implicits, -Wunused:explicits, -Wunused:imports, -Wunused:locals, -Wunused:params, -Wunused:privates, -Xsemanticdb, -semanticdb-target, /build/repo/jvm/target/scala-3.7.4/meta, -rewrite, -Wconf:msg=can be rewritten automatically under:s, -source:3.7-migration
281
282************************
283Build summary:
284[{
285 "module": "minart-sound",
286 "compile": {"status": "ok", "tookMs": 24783, "warnings": 0, "errors": 0, "sourceVersion": "3.7-migration"},
287 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
288 "test-compile": {"status": "ok", "tookMs": 3729, "warnings": 0, "errors": 0, "sourceVersion": "3.7-migration"},
289 "test": {"status": "skipped", "tookMs": 0, "passed": 0, "failed": 0, "ignored": 0, "skipped": 0, "total": 0, "byFramework": []},
290 "publish": {"status": "skipped", "tookMs": 0},
291 "metadata": {
292 "crossScalaVersions": ["3.3.7"]
293}
294},{
295 "module": "minart-backend",
296 "compile": {"status": "ok", "tookMs": 192, "warnings": 0, "errors": 0, "sourceVersion": "3.7-migration"},
297 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
298 "test-compile": {"status": "ok", "tookMs": 1099, "warnings": 1, "errors": 0, "sourceVersion": "3.7-migration"},
299 "test": {"status": "skipped", "tookMs": 0, "passed": 0, "failed": 0, "ignored": 0, "skipped": 0, "total": 0, "byFramework": []},
300 "publish": {"status": "skipped", "tookMs": 0},
301 "metadata": {
302 "crossScalaVersions": ["3.3.7"]
303}
304},{
305 "module": "minart-core",
306 "compile": {"status": "ok", "tookMs": 89, "warnings": 0, "errors": 0, "sourceVersion": "3.7-migration"},
307 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
308 "test-compile": {"status": "ok", "tookMs": 3064, "warnings": 6, "errors": 0, "sourceVersion": "3.7-migration"},
309 "test": {"status": "skipped", "tookMs": 0, "passed": 0, "failed": 0, "ignored": 0, "skipped": 0, "total": 0, "byFramework": []},
310 "publish": {"status": "skipped", "tookMs": 0},
311 "metadata": {
312 "crossScalaVersions": ["3.3.7"]
313}
314},{
315 "module": "minart-image",
316 "compile": {"status": "ok", "tookMs": 2970, "warnings": 1, "errors": 0, "sourceVersion": "3.7-migration"},
317 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
318 "test-compile": {"status": "ok", "tookMs": 1148, "warnings": 0, "errors": 0, "sourceVersion": "3.7-migration"},
319 "test": {"status": "skipped", "tookMs": 0, "passed": 0, "failed": 0, "ignored": 0, "skipped": 0, "total": 0, "byFramework": []},
320 "publish": {"status": "skipped", "tookMs": 0},
321 "metadata": {
322 "crossScalaVersions": ["3.3.7"]
323}
324},{
325 "module": "minart",
326 "compile": {"status": "ok", "tookMs": 331, "warnings": 0, "errors": 0, "sourceVersion": "3.7-migration"},
327 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
328 "test-compile": {"status": "ok", "tookMs": 401, "warnings": 0, "errors": 0, "sourceVersion": "3.7-migration"},
329 "test": {"status": "skipped", "tookMs": 0, "passed": 0, "failed": 0, "ignored": 0, "skipped": 0, "total": 0, "byFramework": []},
330 "publish": {"status": "skipped", "tookMs": 0},
331 "metadata": {
332 "crossScalaVersions": ["3.3.7"]
333}
334}]
335************************
336[success] Total time: 57 s, completed Dec 22, 2025, 6:23:54 PM
337[0JChecking patch project/plugins.sbt...
338Checking patch core/shared/src/main/scala/eu/joaocosta/minart/graphics/SurfaceView.scala...
339Checking patch build.sbt...
340Applied patch project/plugins.sbt cleanly.
341Applied patch core/shared/src/main/scala/eu/joaocosta/minart/graphics/SurfaceView.scala cleanly.
342Applied patch build.sbt cleanly.
343Commit migration rewrites
344Switched to a new branch 'opencb/migrate-source-3.7'
345[opencb/migrate-source-3.7 a25c7977] Apply Scala compiler rewrites using -source:3.7-migration using Scala 3.7.4
346 8 files changed, 20 insertions(+), 20 deletions(-)
347----
348Preparing build for 3.8.0-RC4
349Scala binary version found: 3.8
350Implicitly using source version 3.8
351Scala binary version found: 3.8
352Implicitly using source version 3.8
353Would try to apply common scalacOption (best-effort, sbt/mill only):
354Append: ,REQUIRE:-source:3.8
355Remove: ,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
356
357Try apply source patch:
358Path: core/shared/src/main/scala/eu/joaocosta/minart/graphics/SurfaceView.scala
359Pattern: copy(cx = newCx, cy = newCy, newWidth, newHeight)
360Replacement: copy(cx = newCx, cy = newCy, width = newWidth, height = newHeight)
361Successfully applied pattern 'copy(cx = newCx, cy = newCy, newWidth, newHeight)' in core/shared/src/main/scala/eu/joaocosta/minart/graphics/SurfaceView.scala
362----
363Starting build for 3.8.0-RC4
364Execute tests: true
365sbt project found:
366No prepare script found for project jd557/minart
367##################################
368Scala version: 3.8.0-RC4
369Targets: eu.joaocosta%minart eu.joaocosta%minart-backend eu.joaocosta%minart-core eu.joaocosta%minart-image eu.joaocosta%minart-sound
370Project projectConfig: {"projects":{"exclude":[],"overrides":{}},"java":{"version":"17"},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"full","migrationVersions":["3.7"],"sourcePatches":[{"path":"core/shared/src/main/scala/eu/joaocosta/minart/graphics/SurfaceView.scala","pattern":"copy(cx = newCx, cy = newCy, newWidth, newHeight)","replaceWith":"copy(cx = newCx, cy = newCy, width = newWidth, height = newHeight)"}]}
371##################################
372Using extra scalacOptions: ,REQUIRE:-source:3.8
373Filtering out scalacOptions: ,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
374[sbt_options] declare -a sbt_options=()
375[process_args] java_version = '17'
376[copyRt] java9_rt = '/root/.sbt/1.0/java9-rt-ext-eclipse_adoptium_17_0_8/rt.jar'
377# Executing command line:
378java
379-Dfile.encoding=UTF-8
380-Dcommunitybuild.scala=3.8.0-RC4
381-Dcommunitybuild.project.dependencies.add=
382-Xmx7G
383-Xms4G
384-Xss8M
385-Dsbt.script=/root/.sdkman/candidates/sbt/current/bin/sbt
386-Dscala.ext.dirs=/root/.sbt/1.0/java9-rt-ext-eclipse_adoptium_17_0_8
387-jar
388/root/.sdkman/candidates/sbt/1.11.5/bin/sbt-launch.jar
389"setCrossScalaVersions 3.8.0-RC4"
390"++3.8.0-RC4 -v"
391"mapScalacOptions ",REQUIRE:-source:3.8,-Wconf:msg=can be rewritten automatically under:s" ",-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e""
392"set every credentials := Nil"
393"excludeLibraryDependency com.github.ghik:zerowaste_{scalaVersion} com.olegpy:better-monadic-for_3 org.polyvariant:better-tostring_{scalaVersion} org.wartremover:wartremover_{scalaVersion}"
394"removeScalacOptionsStartingWith -P:wartremover"
395
396moduleMappings
397"runBuild 3.8.0-RC4 """{"projects":{"exclude":[],"overrides":{}},"java":{"version":"17"},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"full","migrationVersions":["3.7"],"sourcePatches":[{"path":"core/shared/src/main/scala/eu/joaocosta/minart/graphics/SurfaceView.scala","pattern":"copy(cx = newCx, cy = newCy, newWidth, newHeight)","replaceWith":"copy(cx = newCx, cy = newCy, width = newWidth, height = newHeight)"}]}""" eu.joaocosta%minart eu.joaocosta%minart-backend eu.joaocosta%minart-core eu.joaocosta%minart-image eu.joaocosta%minart-sound"
398
399[info] welcome to sbt 1.11.7 (Eclipse Adoptium Java 17.0.8)
400[info] loading settings for project repo-build from akka.sbt, plugins.sbt...
401[info] loading project definition from /build/repo/project
402[info] loading settings for project repo from build.sbt, contributors.sbt, version.sbt...
403[info] resolving key references (19143 settings) ...
404[info] set current project to minart (in build file:/build/repo/)
405Execute setCrossScalaVersions: 3.8.0-RC4
406OpenCB::Changing crossVersion 3.3.7 -> 3.8.0-RC4 in soundJS/crossScalaVersions
407OpenCB::Changing crossVersion 3.3.7 -> 3.8.0-RC4 in backendJVM/crossScalaVersions
408OpenCB::Changing crossVersion 3.3.7 -> 3.8.0-RC4 in imageNative/crossScalaVersions
409OpenCB::Changing crossVersion 3.3.7 -> 3.8.0-RC4 in coreJVM/crossScalaVersions
410OpenCB::Changing crossVersion 3.3.7 -> 3.8.0-RC4 in imageJS/crossScalaVersions
411OpenCB::Changing crossVersion 3.3.7 -> 3.8.0-RC4 in backendNative/crossScalaVersions
412OpenCB::Changing crossVersion 3.3.7 -> 3.8.0-RC4 in soundJVM/crossScalaVersions
413OpenCB::Changing crossVersion 3.3.7 -> 3.8.0-RC4 in repo/crossScalaVersions
414OpenCB::Changing crossVersion 3.3.7 -> 3.8.0-RC4 in coreJS/crossScalaVersions
415OpenCB::Changing crossVersion 3.3.7 -> 3.8.0-RC4 in soundNative/crossScalaVersions
416OpenCB::Changing crossVersion 3.3.7 -> 3.8.0-RC4 in backendJS/crossScalaVersions
417OpenCB::Changing crossVersion 3.3.7 -> 3.8.0-RC4 in rootJVM/crossScalaVersions
418OpenCB::Changing crossVersion 3.3.7 -> 3.8.0-RC4 in coreNative/crossScalaVersions
419OpenCB::Changing crossVersion 3.3.7 -> 3.8.0-RC4 in imageJVM/crossScalaVersions
420OpenCB::Changing crossVersion 3.3.7 -> 3.8.0-RC4 in rootNative/crossScalaVersions
421OpenCB::Changing crossVersion 3.3.7 -> 3.8.0-RC4 in rootJS/crossScalaVersions
422[info] set current project to minart (in build file:/build/repo/)
423[info] Setting Scala version to 3.8.0-RC4 on 16 projects.
424[info] Switching Scala version on:
425[info] imageNative (3.8.0-RC4)
426[info] backendNative (3.8.0-RC4)
427[info] imageJS (3.8.0-RC4)
428[info] rootJS (3.8.0-RC4)
429[info] coreNative (3.8.0-RC4)
430[info] backendJVM (3.8.0-RC4)
431[info] soundJVM (3.8.0-RC4)
432[info] soundNative (3.8.0-RC4)
433[info] coreJS (3.8.0-RC4)
434[info] coreJVM (3.8.0-RC4)
435[info] rootJVM (3.8.0-RC4)
436[info] rootNative (3.8.0-RC4)
437[info] soundJS (3.8.0-RC4)
438[info] * repo (3.8.0-RC4)
439[info] imageJVM (3.8.0-RC4)
440[info] backendJS (3.8.0-RC4)
441[info] Excluding projects:
442[info] Reapplying settings...
443[info] set current project to minart (in build file:/build/repo/)
444Execute mapScalacOptions: ,REQUIRE:-source:3.8,-Wconf:msg=can be rewritten automatically under:s ,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
445[info] Reapplying settings...
446[info] set current project to minart (in build file:/build/repo/)
447[info] Defining Global / credentials, backendJS / credentials and 14 others.
448[info] The new values will be used by Compile / scalafmtOnly, Global / pgpSelectPassphrase and 128 others.
449[info] Run `last` for details.
450[info] Reapplying settings...
451[info] set current project to minart (in build file:/build/repo/)
452Execute excludeLibraryDependency: com.github.ghik:zerowaste_{scalaVersion} com.olegpy:better-monadic-for_3 org.polyvariant:better-tostring_{scalaVersion} org.wartremover:wartremover_{scalaVersion}
453[info] Reapplying settings...
454OpenCB::Failed to reapply settings in excludeLibraryDependency: Reference to undefined setting:
455
456 Global / allExcludeDependencies from Global / allExcludeDependencies (CommunityBuildPlugin.scala:331)
457 Did you mean rootJVM / allExcludeDependencies ?
458 , retry without global scopes
459[info] Reapplying settings...
460[info] set current project to minart (in build file:/build/repo/)
461Execute removeScalacOptionsStartingWith: -P:wartremover
462[info] Reapplying settings...
463[info] set current project to minart (in build file:/build/repo/)
464[success] Total time: 0 s, completed Dec 22, 2025, 6:24:12 PM
465Build config: {"projects":{"exclude":[],"overrides":{}},"java":{"version":"17"},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"full","migrationVersions":["3.7"],"sourcePatches":[{"path":"core/shared/src/main/scala/eu/joaocosta/minart/graphics/SurfaceView.scala","pattern":"copy(cx = newCx, cy = newCy, newWidth, newHeight)","replaceWith":"copy(cx = newCx, cy = newCy, width = newWidth, height = newHeight)"}]}
466Parsed config: Success(ProjectBuildConfig(ProjectsConfig(List(),Map()),Full,List()))
467Starting build...
468Projects: Set(backendJVM, soundJVM, coreJVM, rootJVM, imageJVM)
469Starting build for ProjectRef(file:/build/repo/,soundJVM) (minart-sound)... [0/5]
470OpenCB::Exclude Scala3 specific scalacOption `REQUIRE:-source:3.8` in Scala 2.12.20 module Global
471OpenCB::Filter out '-deprecation', matches setting pattern '^-?-deprecation'
472OpenCB::Filter out '-feature', matches setting pattern '^-?-feature'
473Compile scalacOptions: -encoding, utf8, -unchecked, -language:higherKinds, -Wunused:implicits, -Wunused:explicits, -Wunused:imports, -Wunused:locals, -Wunused:params, -Wunused:privates, -Xsemanticdb, -semanticdb-target, /build/repo/sound/jvm/target/scala-3.8.0-RC4/meta, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
474[info] scalafmt: Formatting 1 Scala sources (/build/repo/core/jvm)...
475[info] compiling 46 Scala sources to /build/repo/core/jvm/target/scala-3.8.0-RC4/classes ...
476[info] done compiling
477[info] compiling 17 Scala sources to /build/repo/sound/jvm/target/scala-3.8.0-RC4/classes ...
478[info] done compiling
479[info] compiling 8 Scala sources to /build/repo/backend/jvm/target/scala-3.8.0-RC4/classes ...
480[info] done compiling
481[info] compiling 2 Scala sources to /build/repo/sound/jvm/target/scala-3.8.0-RC4/test-classes ...
482[info] done compiling
483eu.joaocosta.minart.audio.sound.AudioClipWriterSpec:
484 + Write a AIFF clip 0.276s
485 + Write a WAV clip 0.117s
486eu.joaocosta.minart.audio.sound.AudioClipReaderSpec:
487 + Load an AIFF file 0.105s
488 + Load a WAV file 0.09s
489 + Load a QOA file 0.21s
490 + Load the same data from different lossless formats 0.027s
491 + Load the similar data from different formats 0.128s
492Starting build for ProjectRef(file:/build/repo/,backendJVM) (minart-backend)... [1/5]
493Compile scalacOptions: -encoding, utf8, -unchecked, -language:higherKinds, -Wunused:implicits, -Wunused:explicits, -Wunused:imports, -Wunused:locals, -Wunused:params, -Wunused:privates, -Xsemanticdb, -semanticdb-target, /build/repo/backend/jvm/target/scala-3.8.0-RC4/meta, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
494[info] compiling 3 Scala sources to /build/repo/backend/jvm/target/scala-3.8.0-RC4/test-classes ...
495[warn] -- [E198] Unused Symbol Warning: /build/repo/backend/shared/src/test/scala/eu/joaocosta/minart/runtime/AppLoopSpec.scala:35:13
496[warn] 35 | (canvas: Canvas) => {
497[warn] | ^^^^^^
498[warn] | unused explicit parameter
499[warn] one warning found
500[info] done compiling
501eu.joaocosta.minart.runtime.AppLoopSpec:
502 + Have a statefulRenderLoop operation that ends when a certain state is reached 0.021s
503eu.joaocosta.minart.graphics.BufferedImageSurfaceSpec:
504 + Return the correct number of pixels 0.021s
505 + Write and read pixels in certain positions 0.003s
506 + Don't blow up when invalid positions are provided 0.0s
507 + Fill the surface with a single color 0.011s
508 + Combine two surfaces without blowing up 0.003s
509 + Combine a surface with a surface view without blowing up 0.004s
510 + Combine a surface with a plane without blowing up 0.006s
511 + Correctly combine two surfaces 0.005s
512 + Modify a surface in place 0.003s
513Starting build for ProjectRef(file:/build/repo/,coreJVM) (minart-core)... [2/5]
514Compile scalacOptions: -encoding, utf8, -unchecked, -language:higherKinds, -Wunused:implicits, -Wunused:explicits, -Wunused:imports, -Wunused:locals, -Wunused:params, -Wunused:privates, -Xsemanticdb, -semanticdb-target, /build/repo/core/jvm/target/scala-3.8.0-RC4/meta, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
515[info] compiling 15 Scala sources to /build/repo/core/jvm/target/scala-3.8.0-RC4/test-classes ...
516[warn] -- [E198] Unused Symbol Warning: /build/repo/core/shared/src/test/scala/eu/joaocosta/minart/graphics/PlaneSpec.scala:52:27
517[warn] 52 | .flatMap(color => (x, y) => if (y >= 8) color.invert else color)
518[warn] | ^
519[warn] | unused explicit parameter
520[warn] -- [E198] Unused Symbol Warning: /build/repo/core/shared/src/test/scala/eu/joaocosta/minart/graphics/PlaneSpec.scala:66:27
521[warn] 66 | .flatMap(color => (x, y) => if (y >= 8) color.invert else color)
522[warn] | ^
523[warn] | unused explicit parameter
524[warn] -- [E198] Unused Symbol Warning: /build/repo/core/shared/src/test/scala/eu/joaocosta/minart/graphics/PlaneSpec.scala:70:33
525[warn] 70 | .transformPixels((color, x, y) => if (y >= 8) color.invert else color)
526[warn] | ^
527[warn] | unused explicit parameter
528[warn] -- [E198] Unused Symbol Warning: /build/repo/core/shared/src/test/scala/eu/joaocosta/minart/graphics/SurfaceViewSpec.scala:33:25
529[warn] 33 | .flatMap(color => (x, y) => if (y >= 8) color.invert else color)
530[warn] | ^
531[warn] | unused explicit parameter
532[warn] -- [E198] Unused Symbol Warning: /build/repo/core/shared/src/test/scala/eu/joaocosta/minart/graphics/SurfaceViewSpec.scala:47:27
533[warn] 47 | .flatMap(color => (x, y) => if (y >= 8) color.invert else color)
534[warn] | ^
535[warn] | unused explicit parameter
536[warn] -- [E198] Unused Symbol Warning: /build/repo/core/shared/src/test/scala/eu/joaocosta/minart/graphics/SurfaceViewSpec.scala:51:33
537[warn] 51 | .transformPixels((color, x, y) => if (y >= 8) color.invert else color)
538[warn] | ^
539[warn] | unused explicit parameter
540[warn] 6 warnings found
541[info] done compiling
542eu.joaocosta.minart.input.PointerInputSpec:
543 + Correctly captures pointer presses and releases 0.017s
544eu.joaocosta.minart.geometry.ConvexPolygonSpec:
545 + Computes the bounding box of a polygon 0.016s
546 + Check if a polygon contains a point 0.005s
547 + Return the polygon face 0.004s
548 + Check if a polygon is contained in another 0.001s
549 + Check if a polygon collides with another 0.001s
550 + Can be transformed with a chain of transformations 0.006s
551eu.joaocosta.minart.geometry.CircleSpec:
552 + Computes the bounding box of a circle 0.016s
553 + Check if a circle contains a point 0.002s
554 + Return the circle face 0.0s
555 + Check if a circle is contained in a circle 0.005s
556 + Check if a circle collides with another 0.004s
557 + Can be transformed with a chain of transformations 0.008s
558eu.joaocosta.minart.geometry.AxisAlignedBoundingBoxSpec:
559 + Computes helper positions 0.001s
560 + Checks if a point is inside the box 0.001s
561 + Checks if a box is inside the box 0.001s
562 + Checks if a box collides the box 0.001s
563 + Merge two bounding boxes when there's a gap 0.001s
564 + Merge two bounding boxes when they intersect 0.007s
565 + Return an empty bounding box intersection when there's a gap 0.004s
566 + Shrink two bounding boxes when they intersect 0.0s
567eu.joaocosta.minart.audio.AudioWaveSpec:
568 + A sampled AudioWave returns all samples 0.003s
569eu.joaocosta.minart.geometry.MatrixSpec:
570 + Can be applied 0.005s
571 + Can be multiplied 0.0s
572 + Can be inverted 0.005s
573eu.joaocosta.minart.graphics.RamSurfaceSpec:
574 + Return the correct number of pixels 0.002s
575 + Write and read pixels in certain positions 0.001s
576 + Don't blow up when invalid positions are provided 0.004s
577 + Fill the surface with a single color 0.013s
578 + Combine two surfaces without blowing up 0.003s
579 + Combine a surface with a surface view without blowing up 0.001s
580 + Combine a surface with a plane without blowing up 0.007s
581 + Correctly combine two surfaces 0.004s
582 + Modify a surface in place 0.007s
583eu.joaocosta.minart.graphics.PlaneSpec:
584 + Can be created from a constant color 0.015s
585 + Can be created from a function 0.005s
586 + Can be created from a surface with a fallback color 0.01s
587 + Can be created from a surface with repetition 0.006s
588 + Mapping it updates the colors 0.008s
589 + Flatmapping it updates the colors based on the position 0.011s
590 + Transforming pixels is similar to flatmap 0.007s
591 + Contramapping updates the positions 0.014s
592 + Zipping combines two planes 0.005s
593 + Zipping combines a plane and a surface 0.006s
594==> X eu.joaocosta.minart.graphics.PlaneSpec.Coflatmapping it updates the colors based on the kernel function 0.007s java.lang.AbstractMethodError: Receiver class eu.joaocosta.minart.graphics.Plane$$anon$7$$Lambda$14036/0x00007f80ba201040 does not define or inherit an implementation of the resolved method 'abstract java.lang.Object apply(java.lang.Object, java.lang.Object)' of interface scala.Function2.
595 at scala.Function2.apply$mcIII$sp(Function2.scala:58)
596 at eu.joaocosta.minart.graphics.PlaneSpec.$anonfun$14(PlaneSpec.scala:126)
597 at eu.joaocosta.minart.graphics.Plane$$anon$7.getPixel(Plane.scala:76)
598 at eu.joaocosta.minart.graphics.Plane.toRamSurface$$anonfun$1(Plane.scala:286)
599 at eu.joaocosta.minart.graphics.RamSurface$.tabulate(RamSurface.scala:90)
600 at eu.joaocosta.minart.graphics.Plane.toRamSurface(Plane.scala:286)
601 at eu.joaocosta.minart.graphics.Plane.toRamSurface$(Plane.scala:9)
602 at eu.joaocosta.minart.graphics.Plane$$anon$7.toRamSurface(Plane.scala:74)
603 at eu.joaocosta.minart.graphics.PlaneSpec.$init$$$anonfun$11(PlaneSpec.scala:127)
604==> s eu.joaocosta.minart.graphics.PlaneSpec.Coflatmapping it updates the colors based on the kernel skipped 0.0s
605==> s eu.joaocosta.minart.graphics.PlaneSpec.Clipping clips the view skipped 0.0s
606==> s eu.joaocosta.minart.graphics.PlaneSpec.Overlay combines a plane and a surface skipped 0.0s
607==> s eu.joaocosta.minart.graphics.PlaneSpec.Inverting the color updates all colors with the inverse skipped 0.0s
608==> s eu.joaocosta.minart.graphics.PlaneSpec.Translation moves all pixels skipped 0.0s
609==> s eu.joaocosta.minart.graphics.PlaneSpec.FlipH mirrors the pixels with the Y axis skipped 0.0s
610==> s eu.joaocosta.minart.graphics.PlaneSpec.FlipV mirrors the pixels with the X axis skipped 0.0s
611==> s eu.joaocosta.minart.graphics.PlaneSpec.Scale upscales the plane skipped 0.0s
612==> s eu.joaocosta.minart.graphics.PlaneSpec.Scale downscales the plane skipped 0.0s
613==> s eu.joaocosta.minart.graphics.PlaneSpec.Rotate moves all pixels clockwise skipped 0.0s
614==> s eu.joaocosta.minart.graphics.PlaneSpec.Shear moves all pixels skipped 0.0s
615==> s eu.joaocosta.minart.graphics.PlaneSpec.Transpose moves all pixels skipped 0.0s
616eu.joaocosta.minart.graphics.KernelSpec:
617 + Can be created from a odd-sized matrix 0.01s
618 + Cannot be created from a even-sized matrix 0.001s
619 + Cannot be created from an unbalanced matrix 0.0s
620 + Cannot be created with a normalization constant of 0 0.003s
621 + Can be compared for equality 0.006s
622 + Can be created with automatic normalization 0.014s
623eu.joaocosta.minart.audio.AudioClipSpec:
624 + An audio clip is correctly sampled 0.01s
625 + The take and drop operations correctly update the durations 0.001s
626 + The take and drop operations correctly split the clip 0.004s
627 + The map operation maps all values 0.004s
628 + The zipWith operation combines two clips 0.004s
629 + Appending two audio clips correcty updates the duration 0.002s
630 + Appending two audio clips correcty merges at the boundaries 0.001s
631 + Repeating a clip correcty updates the duration 0.003s
632 + The mix operation combines multiple clips 0.005s
633 + A sampled AudioClip returns all samples 0.002s
634eu.joaocosta.minart.graphics.ColorSpec:
635 + Can be created from RGB values 0.002s
636 + Can be created from RGBA values 0.001s
637 + Can be created from grayscale values 0.001s
638 + Can be created from raw RGB values 0.0s
639 + Can be created from raw ARGB values 0.001s
640 + Can be created from raw BGR values 0.004s
641 + Can be created from raw ABGR values 0.0s
642 + Can be unnapplied 0.002s
643 + Can be summed/subtracted without overflowing/underflowing 0.002s
644 + Can be multiplied without overflowing/undeflowing 0.001s
645 + Can be inverted 0.0s
646 + Can be premultiplied 0.001s
647 + Operations either ignore or keep the alpha as specified 0.006s
648eu.joaocosta.minart.audio.AudioQueueSpec:
649 + An empty single channel audio queue returns 0 0.018s
650 + An single channel audio queue has size Int.MaxValue 0.01s
651 + A single channel audio queue correctly samples audio 0.025s
652 + A single channel audio queue correctly samples audio as bytes 0.002s
653 + A single channel audio queue can be cleared 0.001s
654 + A multi channel audio queue correctly mixes audio from two clips with the same duration 0.018s
655 + A multi channel audio queue correctly mixes audio from two clips with different durations 0.002s
656 + A multi channel audio queue correctly mixes audio with different mixing definitions 0.006s
657 + A multi channel audio queue correctly clips audio 0.006s
658 + A single channel audio queue can be cleared-1 0.006s
659eu.joaocosta.minart.graphics.SurfaceViewSpec:
660 + The identity view does nothing 0.006s
661 + The map view updates the colors 0.002s
662 + The flatMap view updates the colors based on the position 0.005s
663 + Transforming pixels is similar to flatmap 0.005s
664 + The contramap view updates the positions 0.001s
665 + The zip view combines two surfaces 0.006s
666 + Coflatmapping it updates the colors based on the kernel 0.007s
667 + The clip view clips a surface 0.005s
668 + Overlay combines two surfaces 0.012s
669 + FlipH mirrors the surface horizontally 0.001s
670 + FlipV mirrors the surface vertically 0.001s
671 + Scale upscales the surface 0.0s
672 + Scale downscales the plane 0.0s
673 + Scale upscale/downscales the plane across independent axis 0.005s
674 + Transpose transposes the image 0.001s
675eu.joaocosta.minart.input.KeyboardInputSpec:
676 + Correctly captures key presses and releases 0.053s
677Starting build for ProjectRef(file:/build/repo/,imageJVM) (minart-image)... [3/5]
678Compile scalacOptions: -encoding, utf8, -unchecked, -language:higherKinds, -Wunused:implicits, -Wunused:explicits, -Wunused:imports, -Wunused:locals, -Wunused:params, -Wunused:privates, -Xsemanticdb, -semanticdb-target, /build/repo/image/jvm/target/scala-3.8.0-RC4/meta, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
679[info] compiling 24 Scala sources to /build/repo/image/jvm/target/scala-3.8.0-RC4/classes ...
680[warn] -- [E029] Pattern Match Exhaustivity Warning: /build/repo/image/shared/src/main/scala/eu/joaocosta/minart/graphics/image/qoi/QoiImageReader.scala:31:8
681[warn] 31 | case (0xc0, 0x3e) =>
682[warn] | ^
683[warn] | match may not be exhaustive.
684[warn] |
685[warn] | It would fail on pattern case: (_, _)
686[warn] |
687[warn] | longer explanation available when compiling with `-explain`
688[warn] one warning found
689[info] done compiling
690[info] compiling 4 Scala sources to /build/repo/image/jvm/target/scala-3.8.0-RC4/test-classes ...
691[info] done compiling
692eu.joaocosta.minart.graphics.image.SpriteSheetSpec:
693 + Compute the number of sprites 0.014s
694 + Fetch sprite by position 0.006s
695 + Fetch sprite by index 0.005s
696eu.joaocosta.minart.graphics.image.WrapAroundSpec:
697 + getSurface generate a surface with the correct size 0.014s
698 + lineScroll generate a surface with the correct size 0.005s
699 + columnScroll generate a surface with the correct size 0.004s
700 + getSurface handles no scroll 0.001s
701 + lineScroll handles no scroll 0.004s
702 + columnScroll handles no scroll 0.001s
703 + getSurface handles positive scroll 0.001s
704 + lineScroll handles positive scroll 0.002s
705 + columnScroll handles positive scroll 0.001s
706 + getSurface handles negative scroll 0.001s
707 + lineScroll handles negative scroll 0.001s
708 + columnScroll handles negative scroll 0.001s
709 + getSurface handles overflow scroll 0.001s
710 + lineScroll handles overflow scroll 0.002s
711 + columnScroll handles overflow scroll 0.001s
712 + lineScroll handles variable scroll 0.001s
713 + columnScroll handles variable scroll 0.0s
714eu.joaocosta.minart.graphics.image.ImageWriterSpec:
715 + Write a PPM image 0.779s
716 + Write a BMP image 0.316s
717 + Write a QOI image 1.077s
718 + Write a PDI image 0.206s
719eu.joaocosta.minart.graphics.image.ImageReaderSpec:
720 + Load a BMP image 0.582s
721 + Load a PPM image 1.199s
722 + Load a PGM image 0.294s
723 + Load a PBM image 0.152s
724 + Load a QOI image 0.351s
725 + Load a PDI image 0.015s
726 + Load the same data from different formats (square image) 0.008s
727 + Load the same data from different formats (non-square image) 0.005s
728 + Load the same data from different formats (transparent image) 0.02s
729 + Load the same data from different formats (large image) 0.197s
730Starting build for ProjectRef(file:/build/repo/,rootJVM) (minart)... [4/5]
731Compile scalacOptions: -encoding, utf8, -unchecked, -language:higherKinds, -Wunused:implicits, -Wunused:explicits, -Wunused:imports, -Wunused:locals, -Wunused:params, -Wunused:privates, -Xsemanticdb, -semanticdb-target, /build/repo/jvm/target/scala-3.8.0-RC4/meta, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
732
733************************
734Build summary:
735[{
736 "module": "minart-sound",
737 "compile": {"status": "ok", "tookMs": 21629, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
738 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
739 "test-compile": {"status": "ok", "tookMs": 2441, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
740 "test": {"status": "ok", "tookMs": 1141, "passed": 7, "failed": 0, "ignored": 0, "skipped": 0, "total": 7, "byFramework": [{"framework": "munit", "stats": {"passed": 7, "failed": 0, "ignored": 0, "skipped": 0, "total": 7}}]},
741 "publish": {"status": "skipped", "tookMs": 0},
742 "metadata": {
743 "crossScalaVersions": ["3.3.7"]
744}
745},{
746 "module": "minart-backend",
747 "compile": {"status": "ok", "tookMs": 184, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
748 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
749 "test-compile": {"status": "ok", "tookMs": 966, "warnings": 1, "errors": 0, "sourceVersion": "3.8"},
750 "test": {"status": "ok", "tookMs": 355, "passed": 10, "failed": 0, "ignored": 0, "skipped": 0, "total": 10, "byFramework": [{"framework": "munit", "stats": {"passed": 10, "failed": 0, "ignored": 0, "skipped": 0, "total": 10}}]},
751 "publish": {"status": "skipped", "tookMs": 0},
752 "metadata": {
753 "crossScalaVersions": ["3.3.7"]
754}
755},{
756 "module": "minart-core",
757 "compile": {"status": "ok", "tookMs": 92, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
758 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
759 "test-compile": {"status": "ok", "tookMs": 2988, "warnings": 6, "errors": 0, "sourceVersion": "3.8"},
760 "test": {"status": "failed", "tookMs": 432, "passed": 99, "failed": 1, "ignored": 0, "skipped": 12, "total": 112, "byFramework": [{"framework": "munit", "stats": {"passed": 99, "failed": 1, "ignored": 0, "skipped": 12, "total": 112}}]},
761 "publish": {"status": "skipped", "tookMs": 0},
762 "metadata": {
763 "crossScalaVersions": ["3.3.7"]
764}
765},{
766 "module": "minart-image",
767 "compile": {"status": "ok", "tookMs": 2275, "warnings": 1, "errors": 0, "sourceVersion": "3.8"},
768 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
769 "test-compile": {"status": "ok", "tookMs": 1223, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
770 "test": {"status": "ok", "tookMs": 3191, "passed": 34, "failed": 0, "ignored": 0, "skipped": 0, "total": 34, "byFramework": [{"framework": "munit", "stats": {"passed": 34, "failed": 0, "ignored": 0, "skipped": 0, "total": 34}}]},
771 "publish": {"status": "skipped", "tookMs": 0},
772 "metadata": {
773 "crossScalaVersions": ["3.3.7"]
774}
775},{
776 "module": "minart",
777 "compile": {"status": "ok", "tookMs": 479, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
778 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
779 "test-compile": {"status": "ok", "tookMs": 396, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
780 "test": {"status": "ok", "tookMs": 416, "passed": 0, "failed": 0, "ignored": 0, "skipped": 0, "total": 0, "byFramework": []},
781 "publish": {"status": "skipped", "tookMs": 0},
782 "metadata": {
783 "crossScalaVersions": ["3.3.7"]
784}
785}]
786************************
787[error] Scala3CommunityBuild$ProjectBuildFailureException: 1 module(s) finished with failures: minart-core
788[error] (Global / runBuild) Scala3CommunityBuild$ProjectBuildFailureException: 1 module(s) finished with failures: minart-core
789[error] Total time: 52 s, completed Dec 22, 2025, 6:25:03 PM
790[0JBuild failed, not retrying.