Build Logs

jd557/minart • 3.8.0-RC2:2025-11-28

Errors

4

Warnings

88

Total Lines

838

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.519s.
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 rootNative/crossScalaVersions
87OpenCB::Changing crossVersion 3.3.7 -> 3.7.4 in backendJVM/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 Nov 28, 2025, 2:20:43 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 2 Scala sources (/build/repo/sound/jvm)...
156[info] scalafmt: Formatting 15 Scala sources (/build/repo/core/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/runtime/AppLoop.scala]
161[info] [patched file /build/repo/core/shared/src/main/scala/eu/joaocosta/minart/backend/subsystem/LowLevelSubsystem.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 2 Scala sources (/build/repo/core/jvm)...
168[info] scalafmt: Formatting 3 Scala sources (/build/repo/backend/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": 25245, "warnings": 0, "errors": 0, "sourceVersion": "3.7-migration"},
287 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
288 "test-compile": {"status": "ok", "tookMs": 3686, "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": 198, "warnings": 0, "errors": 0, "sourceVersion": "3.7-migration"},
297 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
298 "test-compile": {"status": "ok", "tookMs": 1243, "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": 95, "warnings": 0, "errors": 0, "sourceVersion": "3.7-migration"},
307 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
308 "test-compile": {"status": "ok", "tookMs": 3193, "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": 3021, "warnings": 1, "errors": 0, "sourceVersion": "3.7-migration"},
317 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
318 "test-compile": {"status": "ok", "tookMs": 1171, "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": 448, "warnings": 0, "errors": 0, "sourceVersion": "3.7-migration"},
327 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
328 "test-compile": {"status": "ok", "tookMs": 481, "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: 54 s, completed Nov 28, 2025, 2:21:37 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 037e456c] 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-RC2
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-RC2
364Execute tests: true
365sbt project found:
366No prepare script found for project jd557/minart
367##################################
368Scala version: 3.8.0-RC2
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-RC2
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-RC2"
390"++3.8.0-RC2 -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-RC2 """{"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-RC2
406OpenCB::Changing crossVersion 3.3.7 -> 3.8.0-RC2 in rootNative/crossScalaVersions
407OpenCB::Changing crossVersion 3.3.7 -> 3.8.0-RC2 in imageJVM/crossScalaVersions
408OpenCB::Changing crossVersion 3.3.7 -> 3.8.0-RC2 in backendJVM/crossScalaVersions
409OpenCB::Changing crossVersion 3.3.7 -> 3.8.0-RC2 in soundJS/crossScalaVersions
410OpenCB::Changing crossVersion 3.3.7 -> 3.8.0-RC2 in coreJVM/crossScalaVersions
411OpenCB::Changing crossVersion 3.3.7 -> 3.8.0-RC2 in imageNative/crossScalaVersions
412OpenCB::Changing crossVersion 3.3.7 -> 3.8.0-RC2 in imageJS/crossScalaVersions
413OpenCB::Changing crossVersion 3.3.7 -> 3.8.0-RC2 in backendNative/crossScalaVersions
414OpenCB::Changing crossVersion 3.3.7 -> 3.8.0-RC2 in soundJVM/crossScalaVersions
415OpenCB::Changing crossVersion 3.3.7 -> 3.8.0-RC2 in repo/crossScalaVersions
416OpenCB::Changing crossVersion 3.3.7 -> 3.8.0-RC2 in coreJS/crossScalaVersions
417OpenCB::Changing crossVersion 3.3.7 -> 3.8.0-RC2 in soundNative/crossScalaVersions
418OpenCB::Changing crossVersion 3.3.7 -> 3.8.0-RC2 in backendJS/crossScalaVersions
419OpenCB::Changing crossVersion 3.3.7 -> 3.8.0-RC2 in rootJS/crossScalaVersions
420Build timeouts: 1, would retry
421Retrying build, retry 1/2, force Scala version:false, enable migration:
422[sbt_options] declare -a sbt_options=()
423[process_args] java_version = '17'
424[copyRt] java9_rt = '/root/.sbt/1.0/java9-rt-ext-eclipse_adoptium_17_0_8/rt.jar'
425# Executing command line:
426java
427-Dfile.encoding=UTF-8
428-Dcommunitybuild.scala=3.8.0-RC2
429-Dcommunitybuild.project.dependencies.add=
430-Xmx7G
431-Xms4G
432-Xss8M
433-Dsbt.script=/root/.sdkman/candidates/sbt/current/bin/sbt
434-Dscala.ext.dirs=/root/.sbt/1.0/java9-rt-ext-eclipse_adoptium_17_0_8
435-jar
436/root/.sdkman/candidates/sbt/1.11.5/bin/sbt-launch.jar
437"setCrossScalaVersions 3.8.0-RC2"
438"++3.8.0-RC2 -v"
439"mapScalacOptions ",REQUIRE:-source:3.8,-Wconf:msg=can be rewritten automatically under:s" ",-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e""
440"set every credentials := Nil"
441"excludeLibraryDependency com.github.ghik:zerowaste_{scalaVersion} com.olegpy:better-monadic-for_3 org.polyvariant:better-tostring_{scalaVersion} org.wartremover:wartremover_{scalaVersion}"
442"removeScalacOptionsStartingWith -P:wartremover"
443
444moduleMappings
445"runBuild 3.8.0-RC2 """{"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"
446
447[info] welcome to sbt 1.11.7 (Eclipse Adoptium Java 17.0.8)
448[info] loading settings for project repo-build from akka.sbt, plugins.sbt...
449[info] loading project definition from /build/repo/project
450[info] loading settings for project repo from build.sbt, contributors.sbt, version.sbt...
451[info] resolving key references (19143 settings) ...
452[info] set current project to minart (in build file:/build/repo/)
453Execute setCrossScalaVersions: 3.8.0-RC2
454OpenCB::Changing crossVersion 3.3.7 -> 3.8.0-RC2 in soundJS/crossScalaVersions
455OpenCB::Changing crossVersion 3.3.7 -> 3.8.0-RC2 in imageJVM/crossScalaVersions
456OpenCB::Changing crossVersion 3.3.7 -> 3.8.0-RC2 in backendJVM/crossScalaVersions
457OpenCB::Changing crossVersion 3.3.7 -> 3.8.0-RC2 in coreJVM/crossScalaVersions
458OpenCB::Changing crossVersion 3.3.7 -> 3.8.0-RC2 in imageJS/crossScalaVersions
459OpenCB::Changing crossVersion 3.3.7 -> 3.8.0-RC2 in backendNative/crossScalaVersions
460OpenCB::Changing crossVersion 3.3.7 -> 3.8.0-RC2 in soundJVM/crossScalaVersions
461OpenCB::Changing crossVersion 3.3.7 -> 3.8.0-RC2 in repo/crossScalaVersions
462OpenCB::Changing crossVersion 3.3.7 -> 3.8.0-RC2 in coreJS/crossScalaVersions
463OpenCB::Changing crossVersion 3.3.7 -> 3.8.0-RC2 in soundNative/crossScalaVersions
464OpenCB::Changing crossVersion 3.3.7 -> 3.8.0-RC2 in rootNative/crossScalaVersions
465OpenCB::Changing crossVersion 3.3.7 -> 3.8.0-RC2 in imageNative/crossScalaVersions
466OpenCB::Changing crossVersion 3.3.7 -> 3.8.0-RC2 in backendJS/crossScalaVersions
467OpenCB::Changing crossVersion 3.3.7 -> 3.8.0-RC2 in coreNative/crossScalaVersions
468OpenCB::Changing crossVersion 3.3.7 -> 3.8.0-RC2 in rootJVM/crossScalaVersions
469OpenCB::Changing crossVersion 3.3.7 -> 3.8.0-RC2 in rootJS/crossScalaVersions
470[info] set current project to minart (in build file:/build/repo/)
471[info] Setting Scala version to 3.8.0-RC2 on 16 projects.
472[info] Switching Scala version on:
473[info] imageNative (3.8.0-RC2)
474[info] backendNative (3.8.0-RC2)
475[info] imageJS (3.8.0-RC2)
476[info] rootJS (3.8.0-RC2)
477[info] coreNative (3.8.0-RC2)
478[info] backendJVM (3.8.0-RC2)
479[info] soundJVM (3.8.0-RC2)
480[info] soundNative (3.8.0-RC2)
481[info] coreJS (3.8.0-RC2)
482[info] coreJVM (3.8.0-RC2)
483[info] rootJVM (3.8.0-RC2)
484[info] rootNative (3.8.0-RC2)
485[info] soundJS (3.8.0-RC2)
486[info] * repo (3.8.0-RC2)
487[info] imageJVM (3.8.0-RC2)
488[info] backendJS (3.8.0-RC2)
489[info] Excluding projects:
490[info] Reapplying settings...
491[info] set current project to minart (in build file:/build/repo/)
492Execute mapScalacOptions: ,REQUIRE:-source:3.8,-Wconf:msg=can be rewritten automatically under:s ,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
493[info] Reapplying settings...
494[info] set current project to minart (in build file:/build/repo/)
495[info] Defining Global / credentials, backendJS / credentials and 14 others.
496[info] The new values will be used by Compile / scalafmtOnly, Global / pgpSelectPassphrase and 128 others.
497[info] Run `last` for details.
498[info] Reapplying settings...
499[info] set current project to minart (in build file:/build/repo/)
500Execute excludeLibraryDependency: com.github.ghik:zerowaste_{scalaVersion} com.olegpy:better-monadic-for_3 org.polyvariant:better-tostring_{scalaVersion} org.wartremover:wartremover_{scalaVersion}
501[info] Reapplying settings...
502OpenCB::Failed to reapply settings in excludeLibraryDependency: Reference to undefined setting:
503
504 Global / allExcludeDependencies from Global / allExcludeDependencies (CommunityBuildPlugin.scala:331)
505 Did you mean rootJVM / allExcludeDependencies ?
506 , retry without global scopes
507[info] Reapplying settings...
508[info] set current project to minart (in build file:/build/repo/)
509Execute removeScalacOptionsStartingWith: -P:wartremover
510[info] Reapplying settings...
511[info] set current project to minart (in build file:/build/repo/)
512[success] Total time: 0 s, completed Nov 28, 2025, 4:11:56 PM
513Build 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)"}]}
514Parsed config: Success(ProjectBuildConfig(ProjectsConfig(List(),Map()),Full,List()))
515Starting build...
516Projects: Set(backendJVM, soundJVM, coreJVM, rootJVM, imageJVM)
517Starting build for ProjectRef(file:/build/repo/,soundJVM) (minart-sound)... [0/5]
518OpenCB::Exclude Scala3 specific scalacOption `REQUIRE:-source:3.8` in Scala 2.12.20 module Global
519OpenCB::Filter out '-deprecation', matches setting pattern '^-?-deprecation'
520OpenCB::Filter out '-feature', matches setting pattern '^-?-feature'
521Compile 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-RC2/meta, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
522[info] scalafmt: Formatting 1 Scala sources (/build/repo/core/jvm)...
523[info] compiling 46 Scala sources to /build/repo/core/jvm/target/scala-3.8.0-RC2/classes ...
524[info] done compiling
525[info] compiling 17 Scala sources to /build/repo/sound/jvm/target/scala-3.8.0-RC2/classes ...
526[info] done compiling
527[info] compiling 8 Scala sources to /build/repo/backend/jvm/target/scala-3.8.0-RC2/classes ...
528[info] done compiling
529[info] compiling 2 Scala sources to /build/repo/sound/jvm/target/scala-3.8.0-RC2/test-classes ...
530[info] done compiling
531eu.joaocosta.minart.audio.sound.AudioClipWriterSpec:
532 + Write a AIFF clip 0.282s
533 + Write a WAV clip 0.065s
534eu.joaocosta.minart.audio.sound.AudioClipReaderSpec:
535 + Load an AIFF file 0.121s
536 + Load a WAV file 0.101s
537 + Load a QOA file 0.165s
538 + Load the same data from different lossless formats 0.034s
539 + Load the similar data from different formats 0.114s
540Starting build for ProjectRef(file:/build/repo/,backendJVM) (minart-backend)... [1/5]
541Compile 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-RC2/meta, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
542[info] compiling 3 Scala sources to /build/repo/backend/jvm/target/scala-3.8.0-RC2/test-classes ...
543[warn] -- [E198] Unused Symbol Warning: /build/repo/backend/shared/src/test/scala/eu/joaocosta/minart/runtime/AppLoopSpec.scala:35:13
544[warn] 35 | (canvas: Canvas) => {
545[warn] | ^^^^^^
546[warn] | unused explicit parameter
547[warn] one warning found
548[info] done compiling
549eu.joaocosta.minart.runtime.AppLoopSpec:
550 + Have a statefulRenderLoop operation that ends when a certain state is reached 0.03s
551eu.joaocosta.minart.graphics.BufferedImageSurfaceSpec:
552 + Return the correct number of pixels 0.034s
553 + Write and read pixels in certain positions 0.004s
554 + Don't blow up when invalid positions are provided 0.001s
555 + Fill the surface with a single color 0.013s
556 + Combine two surfaces without blowing up 0.004s
557 + Combine a surface with a surface view without blowing up 0.005s
558 + Combine a surface with a plane without blowing up 0.01s
559 + Correctly combine two surfaces 0.008s
560 + Modify a surface in place 0.005s
561Starting build for ProjectRef(file:/build/repo/,coreJVM) (minart-core)... [2/5]
562Compile 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-RC2/meta, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
563[info] compiling 15 Scala sources to /build/repo/core/jvm/target/scala-3.8.0-RC2/test-classes ...
564[warn] -- [E198] Unused Symbol Warning: /build/repo/core/shared/src/test/scala/eu/joaocosta/minart/graphics/PlaneSpec.scala:52:27
565[warn] 52 | .flatMap(color => (x, y) => if (y >= 8) color.invert else color)
566[warn] | ^
567[warn] | unused explicit parameter
568[warn] -- [E198] Unused Symbol Warning: /build/repo/core/shared/src/test/scala/eu/joaocosta/minart/graphics/PlaneSpec.scala:66:27
569[warn] 66 | .flatMap(color => (x, y) => if (y >= 8) color.invert else color)
570[warn] | ^
571[warn] | unused explicit parameter
572[warn] -- [E198] Unused Symbol Warning: /build/repo/core/shared/src/test/scala/eu/joaocosta/minart/graphics/PlaneSpec.scala:70:33
573[warn] 70 | .transformPixels((color, x, y) => if (y >= 8) color.invert else color)
574[warn] | ^
575[warn] | unused explicit parameter
576[warn] -- [E198] Unused Symbol Warning: /build/repo/core/shared/src/test/scala/eu/joaocosta/minart/graphics/SurfaceViewSpec.scala:33:25
577[warn] 33 | .flatMap(color => (x, y) => if (y >= 8) color.invert else color)
578[warn] | ^
579[warn] | unused explicit parameter
580[warn] -- [E198] Unused Symbol Warning: /build/repo/core/shared/src/test/scala/eu/joaocosta/minart/graphics/SurfaceViewSpec.scala:47:27
581[warn] 47 | .flatMap(color => (x, y) => if (y >= 8) color.invert else color)
582[warn] | ^
583[warn] | unused explicit parameter
584[warn] -- [E198] Unused Symbol Warning: /build/repo/core/shared/src/test/scala/eu/joaocosta/minart/graphics/SurfaceViewSpec.scala:51:33
585[warn] 51 | .transformPixels((color, x, y) => if (y >= 8) color.invert else color)
586[warn] | ^
587[warn] | unused explicit parameter
588[warn] 6 warnings found
589[info] done compiling
590eu.joaocosta.minart.geometry.MatrixSpec:
591 + Can be applied 0.017s
592 + Can be multiplied 0.0s
593 + Can be inverted 0.004s
594eu.joaocosta.minart.graphics.ColorSpec:
595 + Can be created from RGB values 0.019s
596 + Can be created from RGBA values 0.001s
597 + Can be created from grayscale values 0.001s
598 + Can be created from raw RGB values 0.0s
599 + Can be created from raw ARGB values 0.001s
600 + Can be created from raw BGR values 0.001s
601 + Can be created from raw ABGR values 0.0s
602 + Can be unnapplied 0.002s
603 + Can be summed/subtracted without overflowing/underflowing 0.002s
604 + Can be multiplied without overflowing/undeflowing 0.002s
605 + Can be inverted 0.002s
606 + Can be premultiplied 0.0s
607 + Operations either ignore or keep the alpha as specified 0.006s
608eu.joaocosta.minart.graphics.KernelSpec:
609 + Can be created from a odd-sized matrix 0.017s
610 + Cannot be created from a even-sized matrix 0.0s
611 + Cannot be created from an unbalanced matrix 0.001s
612 + Cannot be created with a normalization constant of 0 0.003s
613 + Can be compared for equality 0.002s
614 + Can be created with automatic normalization 0.021s
615eu.joaocosta.minart.geometry.CircleSpec:
616 + Computes the bounding box of a circle 0.011s
617 + Check if a circle contains a point 0.001s
618 + Return the circle face 0.002s
619 + Check if a circle is contained in a circle 0.0s
620 + Check if a circle collides with another 0.001s
621 + Can be transformed with a chain of transformations 0.006s
622eu.joaocosta.minart.audio.AudioWaveSpec:
623 + A sampled AudioWave returns all samples 0.004s
624eu.joaocosta.minart.audio.AudioQueueSpec:
625 + An empty single channel audio queue returns 0 0.023s
626 + An single channel audio queue has size Int.MaxValue 0.021s
627 + A single channel audio queue correctly samples audio 0.011s
628 + A single channel audio queue correctly samples audio as bytes 0.003s
629 + A single channel audio queue can be cleared 0.004s
630 + A multi channel audio queue correctly mixes audio from two clips with the same duration 0.025s
631 + A multi channel audio queue correctly mixes audio from two clips with different durations 0.007s
632 + A multi channel audio queue correctly mixes audio with different mixing definitions 0.009s
633 + A multi channel audio queue correctly clips audio 0.008s
634 + A single channel audio queue can be cleared-1 0.009s
635eu.joaocosta.minart.graphics.RamSurfaceSpec:
636 + Return the correct number of pixels 0.006s
637 + Write and read pixels in certain positions 0.001s
638 + Don't blow up when invalid positions are provided 0.0s
639 + Fill the surface with a single color 0.018s
640 + Combine two surfaces without blowing up 0.011s
641 + Combine a surface with a surface view without blowing up 0.004s
642 + Combine a surface with a plane without blowing up 0.025s
643 + Correctly combine two surfaces 0.007s
644 + Modify a surface in place 0.005s
645eu.joaocosta.minart.input.PointerInputSpec:
646 + Correctly captures pointer presses and releases 0.018s
647eu.joaocosta.minart.graphics.SurfaceViewSpec:
648 + The identity view does nothing 0.013s
649 + The map view updates the colors 0.014s
650 + The flatMap view updates the colors based on the position 0.012s
651 + Transforming pixels is similar to flatmap 0.01s
652 + The contramap view updates the positions 0.022s
653 + The zip view combines two surfaces 0.003s
654 + Coflatmapping it updates the colors based on the kernel 0.02s
655 + The clip view clips a surface 0.001s
656 + Overlay combines two surfaces 0.009s
657 + FlipH mirrors the surface horizontally 0.001s
658 + FlipV mirrors the surface vertically 0.008s
659 + Scale upscales the surface 0.001s
660 + Scale downscales the plane 0.001s
661 + Scale upscale/downscales the plane across independent axis 0.0s
662 + Transpose transposes the image 0.003s
663eu.joaocosta.minart.audio.AudioClipSpec:
664 + An audio clip is correctly sampled 0.004s
665 + The take and drop operations correctly update the durations 0.006s
666 + The take and drop operations correctly split the clip 0.006s
667 + The map operation maps all values 0.002s
668 + The zipWith operation combines two clips 0.005s
669 + Appending two audio clips correcty updates the duration 0.001s
670 + Appending two audio clips correcty merges at the boundaries 0.003s
671 + Repeating a clip correcty updates the duration 0.004s
672 + The mix operation combines multiple clips 0.002s
673 + A sampled AudioClip returns all samples 0.002s
674eu.joaocosta.minart.geometry.ConvexPolygonSpec:
675 + Computes the bounding box of a polygon 0.008s
676 + Check if a polygon contains a point 0.003s
677 + Return the polygon face 0.004s
678 + Check if a polygon is contained in another 0.003s
679 + Check if a polygon collides with another 0.001s
680 + Can be transformed with a chain of transformations 0.011s
681eu.joaocosta.minart.graphics.PlaneSpec:
682 + Can be created from a constant color 0.009s
683 + Can be created from a function 0.007s
684 + Can be created from a surface with a fallback color 0.001s
685 + Can be created from a surface with repetition 0.001s
686 + Mapping it updates the colors 0.016s
687 + Flatmapping it updates the colors based on the position 0.006s
688 + Transforming pixels is similar to flatmap 0.005s
689 + Contramapping updates the positions 0.003s
690 + Zipping combines two planes 0.017s
691 + Zipping combines a plane and a surface 0.003s
692==> X eu.joaocosta.minart.graphics.PlaneSpec.Coflatmapping it updates the colors based on the kernel function 0.005s java.lang.AbstractMethodError: Receiver class eu.joaocosta.minart.graphics.Plane$$anon$7$$Lambda$14367/0x00007fb76e275000 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.
693 at scala.Function2.apply$mcIII$sp(Function2.scala:58)
694 at eu.joaocosta.minart.graphics.PlaneSpec.$anonfun$14(PlaneSpec.scala:126)
695 at eu.joaocosta.minart.graphics.Plane$$anon$7.getPixel(Plane.scala:76)
696 at eu.joaocosta.minart.graphics.Plane.toRamSurface$$anonfun$1(Plane.scala:286)
697 at eu.joaocosta.minart.graphics.RamSurface$.tabulate(RamSurface.scala:90)
698 at eu.joaocosta.minart.graphics.Plane.toRamSurface(Plane.scala:286)
699 at eu.joaocosta.minart.graphics.Plane.toRamSurface$(Plane.scala:9)
700 at eu.joaocosta.minart.graphics.Plane$$anon$7.toRamSurface(Plane.scala:74)
701 at eu.joaocosta.minart.graphics.PlaneSpec.$init$$$anonfun$11(PlaneSpec.scala:127)
702==> s eu.joaocosta.minart.graphics.PlaneSpec.Coflatmapping it updates the colors based on the kernel skipped 0.0s
703==> s eu.joaocosta.minart.graphics.PlaneSpec.Clipping clips the view skipped 0.0s
704==> s eu.joaocosta.minart.graphics.PlaneSpec.Overlay combines a plane and a surface skipped 0.0s
705==> s eu.joaocosta.minart.graphics.PlaneSpec.Inverting the color updates all colors with the inverse skipped 0.0s
706==> s eu.joaocosta.minart.graphics.PlaneSpec.Translation moves all pixels skipped 0.0s
707==> s eu.joaocosta.minart.graphics.PlaneSpec.FlipH mirrors the pixels with the Y axis skipped 0.0s
708==> s eu.joaocosta.minart.graphics.PlaneSpec.FlipV mirrors the pixels with the X axis skipped 0.0s
709==> s eu.joaocosta.minart.graphics.PlaneSpec.Scale upscales the plane skipped 0.0s
710==> s eu.joaocosta.minart.graphics.PlaneSpec.Scale downscales the plane skipped 0.0s
711==> s eu.joaocosta.minart.graphics.PlaneSpec.Rotate moves all pixels clockwise skipped 0.0s
712==> s eu.joaocosta.minart.graphics.PlaneSpec.Shear moves all pixels skipped 0.0s
713==> s eu.joaocosta.minart.graphics.PlaneSpec.Transpose moves all pixels skipped 0.0s
714eu.joaocosta.minart.geometry.AxisAlignedBoundingBoxSpec:
715 + Computes helper positions 0.001s
716 + Checks if a point is inside the box 0.004s
717 + Checks if a box is inside the box 0.007s
718 + Checks if a box collides the box 0.001s
719 + Merge two bounding boxes when there's a gap 0.002s
720 + Merge two bounding boxes when they intersect 0.001s
721 + Return an empty bounding box intersection when there's a gap 0.0s
722 + Shrink two bounding boxes when they intersect 0.001s
723eu.joaocosta.minart.input.KeyboardInputSpec:
724 + Correctly captures key presses and releases 0.054s
725Starting build for ProjectRef(file:/build/repo/,imageJVM) (minart-image)... [3/5]
726Compile 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-RC2/meta, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
727[info] compiling 24 Scala sources to /build/repo/image/jvm/target/scala-3.8.0-RC2/classes ...
728[warn] -- [E029] Pattern Match Exhaustivity Warning: /build/repo/image/shared/src/main/scala/eu/joaocosta/minart/graphics/image/qoi/QoiImageReader.scala:31:8
729[warn] 31 | case (0xc0, 0x3e) =>
730[warn] | ^
731[warn] | match may not be exhaustive.
732[warn] |
733[warn] | It would fail on pattern case: (_, _)
734[warn] |
735[warn] | longer explanation available when compiling with `-explain`
736[warn] one warning found
737[info] done compiling
738[info] compiling 4 Scala sources to /build/repo/image/jvm/target/scala-3.8.0-RC2/test-classes ...
739[info] done compiling
740eu.joaocosta.minart.graphics.image.SpriteSheetSpec:
741 + Compute the number of sprites 0.014s
742 + Fetch sprite by position 0.007s
743 + Fetch sprite by index 0.005s
744eu.joaocosta.minart.graphics.image.WrapAroundSpec:
745 + getSurface generate a surface with the correct size 0.013s
746 + lineScroll generate a surface with the correct size 0.005s
747 + columnScroll generate a surface with the correct size 0.001s
748 + getSurface handles no scroll 0.004s
749 + lineScroll handles no scroll 0.001s
750 + columnScroll handles no scroll 0.003s
751 + getSurface handles positive scroll 0.001s
752 + lineScroll handles positive scroll 0.003s
753 + columnScroll handles positive scroll 0.001s
754 + getSurface handles negative scroll 0.0s
755 + lineScroll handles negative scroll 0.003s
756 + columnScroll handles negative scroll 0.001s
757 + getSurface handles overflow scroll 0.001s
758 + lineScroll handles overflow scroll 0.004s
759 + columnScroll handles overflow scroll 0.001s
760 + lineScroll handles variable scroll 0.001s
761 + columnScroll handles variable scroll 0.001s
762eu.joaocosta.minart.graphics.image.ImageWriterSpec:
763 + Write a PPM image 0.436s
764 + Write a BMP image 0.198s
765 + Write a QOI image 0.94s
766 + Write a PDI image 0.335s
767eu.joaocosta.minart.graphics.image.ImageReaderSpec:
768 + Load a BMP image 0.342s
769 + Load a PPM image 0.899s
770 + Load a PGM image 0.303s
771 + Load a PBM image 0.342s
772 + Load a QOI image 0.401s
773 + Load a PDI image 0.024s
774 + Load the same data from different formats (square image) 0.012s
775 + Load the same data from different formats (non-square image) 0.008s
776 + Load the same data from different formats (transparent image) 0.018s
777 + Load the same data from different formats (large image) 0.185s
778Starting build for ProjectRef(file:/build/repo/,rootJVM) (minart)... [4/5]
779Compile 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-RC2/meta, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
780
781************************
782Build summary:
783[{
784 "module": "minart-sound",
785 "compile": {"status": "ok", "tookMs": 20889, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
786 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
787 "test-compile": {"status": "ok", "tookMs": 2718, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
788 "test": {"status": "ok", "tookMs": 1207, "passed": 7, "failed": 0, "ignored": 0, "skipped": 0, "total": 7, "byFramework": [{"framework": "munit", "stats": {"passed": 7, "failed": 0, "ignored": 0, "skipped": 0, "total": 7}}]},
789 "publish": {"status": "skipped", "tookMs": 0},
790 "metadata": {
791 "crossScalaVersions": ["3.3.7"]
792}
793},{
794 "module": "minart-backend",
795 "compile": {"status": "ok", "tookMs": 228, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
796 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
797 "test-compile": {"status": "ok", "tookMs": 1475, "warnings": 1, "errors": 0, "sourceVersion": "3.8"},
798 "test": {"status": "ok", "tookMs": 437, "passed": 10, "failed": 0, "ignored": 0, "skipped": 0, "total": 10, "byFramework": [{"framework": "munit", "stats": {"passed": 10, "failed": 0, "ignored": 0, "skipped": 0, "total": 10}}]},
799 "publish": {"status": "skipped", "tookMs": 0},
800 "metadata": {
801 "crossScalaVersions": ["3.3.7"]
802}
803},{
804 "module": "minart-core",
805 "compile": {"status": "ok", "tookMs": 94, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
806 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
807 "test-compile": {"status": "ok", "tookMs": 3045, "warnings": 6, "errors": 0, "sourceVersion": "3.8"},
808 "test": {"status": "failed", "tookMs": 433, "passed": 99, "failed": 1, "ignored": 0, "skipped": 12, "total": 112, "byFramework": [{"framework": "munit", "stats": {"passed": 99, "failed": 1, "ignored": 0, "skipped": 12, "total": 112}}]},
809 "publish": {"status": "skipped", "tookMs": 0},
810 "metadata": {
811 "crossScalaVersions": ["3.3.7"]
812}
813},{
814 "module": "minart-image",
815 "compile": {"status": "ok", "tookMs": 2461, "warnings": 1, "errors": 0, "sourceVersion": "3.8"},
816 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
817 "test-compile": {"status": "ok", "tookMs": 1403, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
818 "test": {"status": "ok", "tookMs": 2959, "passed": 34, "failed": 0, "ignored": 0, "skipped": 0, "total": 34, "byFramework": [{"framework": "munit", "stats": {"passed": 34, "failed": 0, "ignored": 0, "skipped": 0, "total": 34}}]},
819 "publish": {"status": "skipped", "tookMs": 0},
820 "metadata": {
821 "crossScalaVersions": ["3.3.7"]
822}
823},{
824 "module": "minart",
825 "compile": {"status": "ok", "tookMs": 441, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
826 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
827 "test-compile": {"status": "ok", "tookMs": 428, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
828 "test": {"status": "ok", "tookMs": 424, "passed": 0, "failed": 0, "ignored": 0, "skipped": 0, "total": 0, "byFramework": []},
829 "publish": {"status": "skipped", "tookMs": 0},
830 "metadata": {
831 "crossScalaVersions": ["3.3.7"]
832}
833}]
834************************
835[error] Scala3CommunityBuild$ProjectBuildFailureException: 1 module(s) finished with failures: minart-core
836[error] (Global / runBuild) Scala3CommunityBuild$ProjectBuildFailureException: 1 module(s) finished with failures: minart-core
837[error] Total time: 50 s, completed Nov 28, 2025, 4:12:46 PM
838[0JBuild failed, not retrying.