Build Logs

jd557/minart • 3.8.0-RC3:2025-12-04

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 9.001s.
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 imageJVM/crossScalaVersions
87OpenCB::Changing crossVersion 3.3.7 -> 3.7.4 in soundJS/crossScalaVersions
88OpenCB::Changing crossVersion 3.3.7 -> 3.7.4 in rootNative/crossScalaVersions
89OpenCB::Changing crossVersion 3.3.7 -> 3.7.4 in imageNative/crossScalaVersions
90OpenCB::Changing crossVersion 3.3.7 -> 3.7.4 in coreJVM/crossScalaVersions
91OpenCB::Changing crossVersion 3.3.7 -> 3.7.4 in backendJVM/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 4, 2025, 3:12:16 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 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/AwtCanvas.scala]
178[info] [patched file /build/repo/backend/jvm/src/main/scala/eu/joaocosta/minart/backend/JavaAsyncLoopRunner.scala]
179[info] [patched file /build/repo/backend/jvm/src/main/scala/eu/joaocosta/minart/backend/JavaAudioPlayer.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": 26599, "warnings": 0, "errors": 0, "sourceVersion": "3.7-migration"},
287 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
288 "test-compile": {"status": "ok", "tookMs": 3971, "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": 215, "warnings": 0, "errors": 0, "sourceVersion": "3.7-migration"},
297 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
298 "test-compile": {"status": "ok", "tookMs": 1295, "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": 122, "warnings": 0, "errors": 0, "sourceVersion": "3.7-migration"},
307 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
308 "test-compile": {"status": "ok", "tookMs": 3244, "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": 3049, "warnings": 1, "errors": 0, "sourceVersion": "3.7-migration"},
317 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
318 "test-compile": {"status": "ok", "tookMs": 1334, "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": 420, "warnings": 0, "errors": 0, "sourceVersion": "3.7-migration"},
327 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
328 "test-compile": {"status": "ok", "tookMs": 429, "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 4, 2025, 3:13:13 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 cdda1701] 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-RC3
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-RC3
364Execute tests: true
365sbt project found:
366No prepare script found for project jd557/minart
367##################################
368Scala version: 3.8.0-RC3
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-RC3
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-RC3"
390"++3.8.0-RC3 -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-RC3 """{"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-RC3
406OpenCB::Changing crossVersion 3.3.7 -> 3.8.0-RC3 in backendJVM/crossScalaVersions
407OpenCB::Changing crossVersion 3.3.7 -> 3.8.0-RC3 in imageJVM/crossScalaVersions
408OpenCB::Changing crossVersion 3.3.7 -> 3.8.0-RC3 in rootNative/crossScalaVersions
409OpenCB::Changing crossVersion 3.3.7 -> 3.8.0-RC3 in soundJS/crossScalaVersions
410OpenCB::Changing crossVersion 3.3.7 -> 3.8.0-RC3 in coreJVM/crossScalaVersions
411OpenCB::Changing crossVersion 3.3.7 -> 3.8.0-RC3 in imageJS/crossScalaVersions
412OpenCB::Changing crossVersion 3.3.7 -> 3.8.0-RC3 in imageNative/crossScalaVersions
413OpenCB::Changing crossVersion 3.3.7 -> 3.8.0-RC3 in backendNative/crossScalaVersions
414OpenCB::Changing crossVersion 3.3.7 -> 3.8.0-RC3 in soundJVM/crossScalaVersions
415OpenCB::Changing crossVersion 3.3.7 -> 3.8.0-RC3 in repo/crossScalaVersions
416OpenCB::Changing crossVersion 3.3.7 -> 3.8.0-RC3 in coreJS/crossScalaVersions
417OpenCB::Changing crossVersion 3.3.7 -> 3.8.0-RC3 in soundNative/crossScalaVersions
418OpenCB::Changing crossVersion 3.3.7 -> 3.8.0-RC3 in backendJS/crossScalaVersions
419OpenCB::Changing crossVersion 3.3.7 -> 3.8.0-RC3 in rootJVM/crossScalaVersions
420OpenCB::Changing crossVersion 3.3.7 -> 3.8.0-RC3 in coreNative/crossScalaVersions
421OpenCB::Changing crossVersion 3.3.7 -> 3.8.0-RC3 in rootJS/crossScalaVersions
422[info] set current project to minart (in build file:/build/repo/)
423[info] Setting Scala version to 3.8.0-RC3 on 16 projects.
424[info] Switching Scala version on:
425[info] imageNative (3.8.0-RC3)
426[info] backendNative (3.8.0-RC3)
427[info] imageJS (3.8.0-RC3)
428[info] rootJS (3.8.0-RC3)
429[info] coreNative (3.8.0-RC3)
430[info] backendJVM (3.8.0-RC3)
431[info] soundJVM (3.8.0-RC3)
432[info] soundNative (3.8.0-RC3)
433[info] coreJS (3.8.0-RC3)
434[info] coreJVM (3.8.0-RC3)
435[info] rootJVM (3.8.0-RC3)
436[info] rootNative (3.8.0-RC3)
437[info] soundJS (3.8.0-RC3)
438[info] * repo (3.8.0-RC3)
439[info] imageJVM (3.8.0-RC3)
440[info] backendJS (3.8.0-RC3)
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 4, 2025, 3:13:31 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-RC3/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-RC3/classes ...
476[info] done compiling
477[info] compiling 17 Scala sources to /build/repo/sound/jvm/target/scala-3.8.0-RC3/classes ...
478[info] done compiling
479[info] compiling 8 Scala sources to /build/repo/backend/jvm/target/scala-3.8.0-RC3/classes ...
480[info] done compiling
481[info] compiling 2 Scala sources to /build/repo/sound/jvm/target/scala-3.8.0-RC3/test-classes ...
482[info] done compiling
483eu.joaocosta.minart.audio.sound.AudioClipWriterSpec:
484 + Write a AIFF clip 0.268s
485 + Write a WAV clip 0.099s
486eu.joaocosta.minart.audio.sound.AudioClipReaderSpec:
487 + Load an AIFF file 0.151s
488 + Load a WAV file 0.071s
489 + Load a QOA file 0.185s
490 + Load the same data from different lossless formats 0.043s
491 + Load the similar data from different formats 0.085s
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-RC3/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-RC3/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.022s
503eu.joaocosta.minart.graphics.BufferedImageSurfaceSpec:
504 + Return the correct number of pixels 0.022s
505 + Write and read pixels in certain positions 0.005s
506 + Don't blow up when invalid positions are provided 0.001s
507 + Fill the surface with a single color 0.01s
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.007s
511 + Correctly combine two surfaces 0.005s
512 + Modify a surface in place 0.004s
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-RC3/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-RC3/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.audio.AudioWaveSpec:
543 + A sampled AudioWave returns all samples 0.018s
544eu.joaocosta.minart.geometry.MatrixSpec:
545 + Can be applied 0.022s
546 + Can be multiplied 0.0s
547 + Can be inverted 0.008s
548eu.joaocosta.minart.input.PointerInputSpec:
549 + Correctly captures pointer presses and releases 0.018s
550eu.joaocosta.minart.graphics.RamSurfaceSpec:
551 + Return the correct number of pixels 0.019s
552 + Write and read pixels in certain positions 0.004s
553 + Don't blow up when invalid positions are provided 0.002s
554 + Fill the surface with a single color 0.017s
555 + Combine two surfaces without blowing up 0.007s
556 + Combine a surface with a surface view without blowing up 0.006s
557 + Combine a surface with a plane without blowing up 0.01s
558 + Correctly combine two surfaces 0.006s
559 + Modify a surface in place 0.004s
560eu.joaocosta.minart.audio.AudioQueueSpec:
561 + An empty single channel audio queue returns 0 0.031s
562 + An single channel audio queue has size Int.MaxValue 0.013s
563 + A single channel audio queue correctly samples audio 0.007s
564 + A single channel audio queue correctly samples audio as bytes 0.002s
565 + A single channel audio queue can be cleared 0.004s
566 + A multi channel audio queue correctly mixes audio from two clips with the same duration 0.013s
567 + A multi channel audio queue correctly mixes audio from two clips with different durations 0.005s
568 + A multi channel audio queue correctly mixes audio with different mixing definitions 0.004s
569 + A multi channel audio queue correctly clips audio 0.005s
570 + A single channel audio queue can be cleared-1 0.007s
571eu.joaocosta.minart.graphics.PlaneSpec:
572 + Can be created from a constant color 0.006s
573 + Can be created from a function 0.002s
574 + Can be created from a surface with a fallback color 0.006s
575 + Can be created from a surface with repetition 0.006s
576 + Mapping it updates the colors 0.006s
577 + Flatmapping it updates the colors based on the position 0.002s
578 + Transforming pixels is similar to flatmap 0.005s
579 + Contramapping updates the positions 0.007s
580 + Zipping combines two planes 0.01s
581 + Zipping combines a plane and a surface 0.002s
582==> X eu.joaocosta.minart.graphics.PlaneSpec.Coflatmapping it updates the colors based on the kernel function 0.003s java.lang.AbstractMethodError: Receiver class eu.joaocosta.minart.graphics.Plane$$anon$7$$Lambda$14109/0x00007efe6a23e000 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.
583 at scala.Function2.apply$mcIII$sp(Function2.scala:58)
584 at eu.joaocosta.minart.graphics.PlaneSpec.$anonfun$14(PlaneSpec.scala:126)
585 at eu.joaocosta.minart.graphics.Plane$$anon$7.getPixel(Plane.scala:76)
586 at eu.joaocosta.minart.graphics.Plane.toRamSurface$$anonfun$1(Plane.scala:286)
587 at eu.joaocosta.minart.graphics.RamSurface$.tabulate(RamSurface.scala:90)
588 at eu.joaocosta.minart.graphics.Plane.toRamSurface(Plane.scala:286)
589 at eu.joaocosta.minart.graphics.Plane.toRamSurface$(Plane.scala:9)
590 at eu.joaocosta.minart.graphics.Plane$$anon$7.toRamSurface(Plane.scala:74)
591 at eu.joaocosta.minart.graphics.PlaneSpec.$init$$$anonfun$11(PlaneSpec.scala:127)
592==> s eu.joaocosta.minart.graphics.PlaneSpec.Coflatmapping it updates the colors based on the kernel skipped 0.0s
593==> s eu.joaocosta.minart.graphics.PlaneSpec.Clipping clips the view skipped 0.0s
594==> s eu.joaocosta.minart.graphics.PlaneSpec.Overlay combines a plane and a surface skipped 0.0s
595==> s eu.joaocosta.minart.graphics.PlaneSpec.Inverting the color updates all colors with the inverse skipped 0.0s
596==> s eu.joaocosta.minart.graphics.PlaneSpec.Translation moves all pixels skipped 0.0s
597==> s eu.joaocosta.minart.graphics.PlaneSpec.FlipH mirrors the pixels with the Y axis skipped 0.0s
598==> s eu.joaocosta.minart.graphics.PlaneSpec.FlipV mirrors the pixels with the X axis skipped 0.0s
599==> s eu.joaocosta.minart.graphics.PlaneSpec.Scale upscales the plane skipped 0.0s
600==> s eu.joaocosta.minart.graphics.PlaneSpec.Scale downscales the plane skipped 0.0s
601==> s eu.joaocosta.minart.graphics.PlaneSpec.Rotate moves all pixels clockwise skipped 0.0s
602==> s eu.joaocosta.minart.graphics.PlaneSpec.Shear moves all pixels skipped 0.0s
603==> s eu.joaocosta.minart.graphics.PlaneSpec.Transpose moves all pixels skipped 0.0s
604eu.joaocosta.minart.geometry.CircleSpec:
605 + Computes the bounding box of a circle 0.022s
606 + Check if a circle contains a point 0.001s
607 + Return the circle face 0.001s
608 + Check if a circle is contained in a circle 0.0s
609 + Check if a circle collides with another 0.0s
610 + Can be transformed with a chain of transformations 0.014s
611eu.joaocosta.minart.graphics.SurfaceViewSpec:
612 + The identity view does nothing 0.002s
613 + The map view updates the colors 0.004s
614 + The flatMap view updates the colors based on the position 0.008s
615 + Transforming pixels is similar to flatmap 0.003s
616 + The contramap view updates the positions 0.009s
617 + The zip view combines two surfaces 0.009s
618 + Coflatmapping it updates the colors based on the kernel 0.017s
619 + The clip view clips a surface 0.001s
620 + Overlay combines two surfaces 0.016s
621 + FlipH mirrors the surface horizontally 0.002s
622 + FlipV mirrors the surface vertically 0.002s
623 + Scale upscales the surface 0.0s
624 + Scale downscales the plane 0.001s
625 + Scale upscale/downscales the plane across independent axis 0.003s
626 + Transpose transposes the image 0.005s
627eu.joaocosta.minart.geometry.ConvexPolygonSpec:
628 + Computes the bounding box of a polygon 0.003s
629 + Check if a polygon contains a point 0.004s
630 + Return the polygon face 0.014s
631 + Check if a polygon is contained in another 0.002s
632 + Check if a polygon collides with another 0.001s
633 + Can be transformed with a chain of transformations 0.01s
634eu.joaocosta.minart.graphics.KernelSpec:
635 + Can be created from a odd-sized matrix 0.011s
636 + Cannot be created from a even-sized matrix 0.001s
637 + Cannot be created from an unbalanced matrix 0.0s
638 + Cannot be created with a normalization constant of 0 0.0s
639 + Can be compared for equality 0.009s
640 + Can be created with automatic normalization 0.013s
641eu.joaocosta.minart.graphics.ColorSpec:
642 + Can be created from RGB values 0.0s
643 + Can be created from RGBA values 0.002s
644 + Can be created from grayscale values 0.001s
645 + Can be created from raw RGB values 0.001s
646 + Can be created from raw ARGB values 0.0s
647 + Can be created from raw BGR values 0.001s
648 + Can be created from raw ABGR values 0.008s
649 + Can be unnapplied 0.002s
650 + Can be summed/subtracted without overflowing/underflowing 0.005s
651 + Can be multiplied without overflowing/undeflowing 0.001s
652 + Can be inverted 0.0s
653 + Can be premultiplied 0.001s
654 + Operations either ignore or keep the alpha as specified 0.006s
655eu.joaocosta.minart.geometry.AxisAlignedBoundingBoxSpec:
656 + Computes helper positions 0.001s
657 + Checks if a point is inside the box 0.007s
658 + Checks if a box is inside the box 0.001s
659 + Checks if a box collides the box 0.005s
660 + Merge two bounding boxes when there's a gap 0.0s
661 + Merge two bounding boxes when they intersect 0.001s
662 + Return an empty bounding box intersection when there's a gap 0.0s
663 + Shrink two bounding boxes when they intersect 0.001s
664eu.joaocosta.minart.audio.AudioClipSpec:
665 + An audio clip is correctly sampled 0.004s
666 + The take and drop operations correctly update the durations 0.001s
667 + The take and drop operations correctly split the clip 0.001s
668 + The map operation maps all values 0.002s
669 + The zipWith operation combines two clips 0.002s
670 + Appending two audio clips correcty updates the duration 0.001s
671 + Appending two audio clips correcty merges at the boundaries 0.001s
672 + Repeating a clip correcty updates the duration 0.001s
673 + The mix operation combines multiple clips 0.004s
674 + A sampled AudioClip returns all samples 0.001s
675eu.joaocosta.minart.input.KeyboardInputSpec:
676 + Correctly captures key presses and releases 0.047s
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-RC3/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-RC3/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-RC3/test-classes ...
691[info] done compiling
692eu.joaocosta.minart.graphics.image.SpriteSheetSpec:
693 + Compute the number of sprites 0.015s
694 + Fetch sprite by position 0.004s
695 + Fetch sprite by index 0.005s
696eu.joaocosta.minart.graphics.image.WrapAroundSpec:
697 + getSurface generate a surface with the correct size 0.013s
698 + lineScroll generate a surface with the correct size 0.002s
699 + columnScroll generate a surface with the correct size 0.005s
700 + getSurface handles no scroll 0.001s
701 + lineScroll handles no scroll 0.001s
702 + columnScroll handles no scroll 0.004s
703 + getSurface handles positive scroll 0.001s
704 + lineScroll handles positive scroll 0.001s
705 + columnScroll handles positive scroll 0.006s
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.003s
710 + lineScroll handles overflow scroll 0.001s
711 + columnScroll handles overflow scroll 0.001s
712 + lineScroll handles variable scroll 0.004s
713 + columnScroll handles variable scroll 0.001s
714eu.joaocosta.minart.graphics.image.ImageWriterSpec:
715 + Write a PPM image 0.603s
716 + Write a BMP image 0.225s
717 + Write a QOI image 1.185s
718 + Write a PDI image 0.255s
719eu.joaocosta.minart.graphics.image.ImageReaderSpec:
720 + Load a BMP image 0.489s
721 + Load a PPM image 0.911s
722 + Load a PGM image 0.385s
723 + Load a PBM image 0.221s
724 + Load a QOI image 0.412s
725 + Load a PDI image 0.019s
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.021s
729 + Load the same data from different formats (large image) 0.209s
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-RC3/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": 20839, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
738 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
739 "test-compile": {"status": "ok", "tookMs": 3066, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
740 "test": {"status": "ok", "tookMs": 1183, "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": 206, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
748 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
749 "test-compile": {"status": "ok", "tookMs": 1284, "warnings": 1, "errors": 0, "sourceVersion": "3.8"},
750 "test": {"status": "ok", "tookMs": 359, "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": 96, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
758 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
759 "test-compile": {"status": "ok", "tookMs": 2948, "warnings": 6, "errors": 0, "sourceVersion": "3.8"},
760 "test": {"status": "failed", "tookMs": 450, "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": 2210, "warnings": 1, "errors": 0, "sourceVersion": "3.8"},
768 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
769 "test-compile": {"status": "ok", "tookMs": 1311, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
770 "test": {"status": "ok", "tookMs": 3089, "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": 455, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
778 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
779 "test-compile": {"status": "ok", "tookMs": 463, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
780 "test": {"status": "ok", "tookMs": 424, "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: 49 s, completed Dec 4, 2025, 3:14:20 PM
790[0JBuild failed, not retrying.