Build Logs

erikvanoosten/metrics-scala • 3.8.0:2026-01-13

Errors

8

Warnings

41

Total Lines

422

1##################################
2Clonning https://github.com/erikvanoosten/metrics-scala.git into /build/repo using revision v4.3.7
3##################################
4Note: switching to 'fac8c810698833b67aa8d43a2a6fdc366e9d8198'.
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
21Would override fixed Scala version: 3.3.7
22----
23Preparing build for 3.8.0
24Scala binary version found: 3.8
25Implicitly using source version 3.8
26Scala binary version found: 3.8
27Implicitly using source version 3.8
28Would try to apply common scalacOption (best-effort, sbt/mill only):
29Append: ,REQUIRE:-source:3.8
30Remove: ,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
31
32Try apply source patch:
33Path: build.sbt
34Pattern: val scala3 = "3.3.7"
35Replacement: val scala3 = "3.8.0"
36Starting compilation server
37Compiling project (Scala 3.7.3, JVM (25))
38Compiled project (Scala 3.7.3, JVM (25))
39WARNING: A terminally deprecated method in sun.misc.Unsafe has been called
40WARNING: sun.misc.Unsafe::objectFieldOffset has been called by scala.runtime.LazyVals$ (file:/root/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala3-library_3/3.7.3/scala3-library_3-3.7.3.jar)
41WARNING: Please consider reporting this to the maintainers of class scala.runtime.LazyVals$
42WARNING: sun.misc.Unsafe::objectFieldOffset will be removed in a future release
43Successfully applied pattern 'val scala3 = "3.3.7"' in build.sbt
44----
45Starting build for 3.8.0
46Execute tests: true
47sbt project found:
48No prepare script found for project erikvanoosten/metrics-scala
49##################################
50Scala version: 3.8.0
51Targets: nl.grons%metrics4-akka_a26 nl.grons%metrics4-pekko nl.grons%metrics4-scala nl.grons%metrics4-scala-hdr
52Project projectConfig: {"projects":{"exclude":[],"overrides":{}},"java":{"version":"25"},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"full","migrationVersions":[],"sourcePatches":[{"path":"build.sbt","pattern":"val scala3 = \"3.3.7\"","replaceWith":"val scala3 = \"<SCALA_VERSION>\""}]}
53##################################
54Using extra scalacOptions: ,REQUIRE:-source:3.8
55Filtering out scalacOptions: ,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
56[sbt_options] declare -a sbt_options=()
57[process_args] java_version = '25'
58[copyRt] java9_rt = '/root/.sbt/1.0/java9-rt-ext-eclipse_adoptium_25/rt.jar'
59# Executing command line:
60java
61-Dfile.encoding=UTF-8
62-Dcommunitybuild.scala=3.8.0
63-Dcommunitybuild.project.dependencies.add=
64-Xmx7G
65-Xms4G
66-Xss8M
67-Dsbt.script=/root/.sdkman/candidates/sbt/current/bin/sbt
68-Dscala.ext.dirs=/root/.sbt/1.0/java9-rt-ext-eclipse_adoptium_25
69-jar
70/root/.sdkman/candidates/sbt/1.11.5/bin/sbt-launch.jar
71"setCrossScalaVersions 3.8.0"
72"++3.8.0 -v"
73"mapScalacOptions ",REQUIRE:-source:3.8,-Wconf:msg=can be rewritten automatically under:s" ",-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e""
74"set every credentials := Nil"
75"excludeLibraryDependency com.github.ghik:zerowaste_{scalaVersion} com.olegpy:better-monadic-for_3 org.polyvariant:better-tostring_{scalaVersion} org.wartremover:wartremover_{scalaVersion}"
76"removeScalacOptionsStartingWith -P:wartremover"
77
78moduleMappings
79"runBuild 3.8.0 """{"projects":{"exclude":[],"overrides":{}},"java":{"version":"25"},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"full","migrationVersions":[],"sourcePatches":[{"path":"build.sbt","pattern":"val scala3 = \"3.3.7\"","replaceWith":"val scala3 = \"<SCALA_VERSION>\""}]}""" nl.grons%metrics4-akka_a26 nl.grons%metrics4-pekko nl.grons%metrics4-scala nl.grons%metrics4-scala-hdr"
80
81[info] [launcher] getting org.scala-sbt sbt 1.11.7 (this may take some time)...
82WARNING: A terminally deprecated method in sun.misc.Unsafe has been called
83WARNING: sun.misc.Unsafe::arrayBaseOffset has been called by net.openhft.hashing.UnsafeAccess (file:/root/.sbt/boot/scala-2.12.20/org.scala-sbt/sbt/1.11.7/zero-allocation-hashing-0.16.jar)
84WARNING: Please consider reporting this to the maintainers of class net.openhft.hashing.UnsafeAccess
85WARNING: sun.misc.Unsafe::arrayBaseOffset will be removed in a future release
86WARNING: A restricted method in java.lang.System has been called
87WARNING: java.lang.System::load has been called by com.sun.jna.Native in an unnamed module (file:/root/.sbt/boot/scala-2.12.20/org.scala-sbt/sbt/1.11.7/jna-5.12.0.jar)
88WARNING: Use --enable-native-access=ALL-UNNAMED to avoid a warning for callers in this module
89WARNING: Restricted methods will be blocked in a future release unless native access is enabled
90
91[info] welcome to sbt 1.11.7 (Eclipse Adoptium Java 25)
92[info] loading settings for project repo-build from akka.sbt, plugins.sbt...
93[info] loading project definition from /build/repo/project
94[info] compiling 2 Scala sources to /build/repo/project/target/scala-2.12/sbt-1.0/classes ...
95[info] Non-compiled module 'compiler-bridge_2.12' for Scala 2.12.20. Compiling...
96[info] Compilation completed in 7.545s.
97[info] done compiling
98[info] loading settings for project root from build.sbt...
99[info] set current project to metrics4-scala-root (in build file:/build/repo/)
100Execute setCrossScalaVersions: 3.8.0
101OpenCB::Changing crossVersion 3.3.7 -> 3.8.0 in metricsAkka26/crossScalaVersions
102OpenCB::Changing crossVersion 3.3.7 -> 3.8.0 in metricsPekko/crossScalaVersions
103OpenCB::Changing crossVersion 3.3.7 -> 3.8.0 in metricsScalaHdr/crossScalaVersions
104OpenCB::Changing crossVersion 3.3.7 -> 3.8.0 in metricsScala/crossScalaVersions
105OpenCB::Limitting incorrect crossVersions List() -> List(2.12.20) in root/crossScalaVersions
106[info] set current project to metrics4-scala-root (in build file:/build/repo/)
107[info] Setting Scala version to 3.8.0 on 4 projects.
108[info] Switching Scala version on:
109[info] metricsAkka26 (3.8.0, 2.13.18, 2.12.20)
110[info] metricsScalaHdr (3.8.0, 2.13.18, 2.12.20, 2.11.12)
111[info] metricsPekko (3.8.0, 2.13.18, 2.12.20)
112[info] metricsScala (3.8.0, 2.13.18, 2.12.20, 2.11.12)
113[info] Excluding projects:
114[info] metricsAkka25 (2.13.18, 2.12.20)
115[info] * root (2.12.20)
116[info] Reapplying settings...
117[info] set current project to metrics4-scala-root (in build file:/build/repo/)
118Execute mapScalacOptions: ,REQUIRE:-source:3.8,-Wconf:msg=can be rewritten automatically under:s ,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
119[info] Reapplying settings...
120[info] set current project to metrics4-scala-root (in build file:/build/repo/)
121[info] Defining Global / credentials, ThisBuild / credentials and 5 others.
122[info] The new values will be used by Global / pgpSelectPassphrase, Global / pgpSigningKey and 30 others.
123[info] Run `last` for details.
124[info] Reapplying settings...
125[info] set current project to metrics4-scala-root (in build file:/build/repo/)
126Execute excludeLibraryDependency: com.github.ghik:zerowaste_{scalaVersion} com.olegpy:better-monadic-for_3 org.polyvariant:better-tostring_{scalaVersion} org.wartremover:wartremover_{scalaVersion}
127[info] Reapplying settings...
128OpenCB::Failed to reapply settings in excludeLibraryDependency: Reference to undefined setting:
129
130 Global / allExcludeDependencies from Global / allExcludeDependencies (CommunityBuildPlugin.scala:331)
131 Did you mean allExcludeDependencies ?
132 , retry without global scopes
133[info] Reapplying settings...
134[info] set current project to metrics4-scala-root (in build file:/build/repo/)
135Execute removeScalacOptionsStartingWith: -P:wartremover
136[info] Reapplying settings...
137[info] set current project to metrics4-scala-root (in build file:/build/repo/)
138[success] Total time: 0 s, completed Jan 13, 2026, 5:23:04 PM
139Build config: {"projects":{"exclude":[],"overrides":{}},"java":{"version":"25"},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"full","migrationVersions":[],"sourcePatches":[{"path":"build.sbt","pattern":"val scala3 = \"3.3.7\"","replaceWith":"val scala3 = \"<SCALA_VERSION>\""}]}
140Parsed config: Success(ProjectBuildConfig(ProjectsConfig(List(),Map()),Full,List()))
141Starting build...
142Projects: Set(metricsAkka26, metricsPekko, metricsScala, metricsScalaHdr)
143Starting build for ProjectRef(file:/build/repo/,metricsAkka26) (metrics4-akka_a26)... [0/4]
144OpenCB::Exclude Scala3 specific scalacOption `REQUIRE:-source:3.8` in Scala 2.12.20 module Global
145OpenCB::Filter out '-deprecation', matches setting pattern '^-?-deprecation'
146Compile scalacOptions: --java-output-version:17, -unchecked, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
147[info] compiling 17 Scala sources to /build/repo/metrics-scala/target/scala-3.8.0/classes ...
148[info] done compiling
149[info] compiling 1 Scala source to /build/repo/metrics-akka-26/target/scala-3.8.0/classes ...
150[info] done compiling
151[info] compiling 2 Scala sources to /build/repo/metrics-akka-26/target/scala-3.8.0/test-classes ...
152[warn] there were 2 deprecation warnings; re-run with -deprecation for details
153[warn] one warning found
154[info] done compiling
155WARNING: A terminally deprecated method in sun.misc.Unsafe has been called
156WARNING: sun.misc.Unsafe::objectFieldOffset has been called by scala.runtime.LazyVals$ (file:/root/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-library/3.8.0/scala-library-3.8.0.jar)
157WARNING: Please consider reporting this to the maintainers of class scala.runtime.LazyVals$
158WARNING: sun.misc.Unsafe::objectFieldOffset will be removed in a future release
159[info] ActorInstrumentedLifeCycleSpec:
160[info] an actor with gauges needing lifecycle management
161[info] - correctly builds a gauge that reports the correct value
162[info] - rebuilds the gauge on actor restart
163[info] ActorMetricsSpec:
164[info] A counter actor
165[info] - invokes original receive and increments counter on new messages
166[info] - can override metric name
167[info] A timer actor
168[info] - invokes original receive and times message processing
169[info] - can override metric name
170[info] A exception meter actor
171[info] - invokes original receive and meters thrown exceptions
172[info] A composed actor
173[info] - counts and times processing of messages
174Starting build for ProjectRef(file:/build/repo/,metricsPekko) (metrics4-pekko)... [1/4]
175Compile scalacOptions: --java-output-version:17, -unchecked, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
176[info] compiling 1 Scala source to /build/repo/metrics-pekko/target/scala-3.8.0/classes ...
177[info] done compiling
178[info] compiling 2 Scala sources to /build/repo/metrics-pekko/target/scala-3.8.0/test-classes ...
179[warn] there were 2 deprecation warnings; re-run with -deprecation for details
180[warn] one warning found
181[info] done compiling
182WARNING: A terminally deprecated method in sun.misc.Unsafe has been called
183WARNING: sun.misc.Unsafe::objectFieldOffset has been called by scala.runtime.LazyVals$ (file:/root/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-library/3.8.0/scala-library-3.8.0.jar)
184WARNING: Please consider reporting this to the maintainers of class scala.runtime.LazyVals$
185WARNING: sun.misc.Unsafe::objectFieldOffset will be removed in a future release
186[info] ActorInstrumentedLifeCycleSpec:
187[info] an actor with gauges needing lifecycle management
188[info] - correctly builds a gauge that reports the correct value
189[info] - rebuilds the gauge on actor restart
190[info] ActorMetricsSpec:
191[info] A counter actor
192[info] - invokes original receive and increments counter on new messages
193[info] - can override metric name
194[info] A timer actor
195[info] - invokes original receive and times message processing
196[info] - can override metric name
197[info] A exception meter actor
198[info] - invokes original receive and meters thrown exceptions
199[info] A composed actor
200[info] - counts and times processing of messages
201Starting build for ProjectRef(file:/build/repo/,metricsScala) (metrics4-scala)... [2/4]
202Compile scalacOptions: --java-output-version:17, -unchecked, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
203[info] compiling 15 Scala sources to /build/repo/metrics-scala/target/scala-3.8.0/test-classes ...
204[warn] there was 1 deprecation warning; re-run with -deprecation for details
205[warn] one warning found
206[info] done compiling
207WARNING: A terminally deprecated method in sun.misc.Unsafe has been called
208WARNING: sun.misc.Unsafe::objectFieldOffset has been called by scala.runtime.LazyVals$ (file:/root/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-library/3.8.0/scala-library-3.8.0.jar)
209WARNING: Please consider reporting this to the maintainers of class scala.runtime.LazyVals$
210WARNING: sun.misc.Unsafe::objectFieldOffset will be removed in a future release
211[info] CounterSpec:
212[info] A counter
213Mockito is currently self-attaching to enable the inline-mock-maker. This will no longer work in future releases of the JDK. Please add Mockito as an agent to your build as described in Mockito's documentation: https://javadoc.io/doc/org.mockito/mockito-core/latest/org.mockito/org/mockito/Mockito.html#0.3
214WARNING: A Java agent has been loaded dynamically (/root/.cache/coursier/v1/https/repo1.maven.org/maven2/net/bytebuddy/byte-buddy-agent/1.17.7/byte-buddy-agent-1.17.7.jar)
215WARNING: If a serviceability tool is in use, please run with -XX:+EnableDynamicAgentLoading to hide this warning
216WARNING: If a serviceability tool is not in use, please run with -Djdk.instrument.traceUsage for more information
217WARNING: Dynamic loading of agents will be disallowed by default in a future release
218OpenJDK 64-Bit Server VM warning: Sharing is only supported for boot loader classes because bootstrap classpath has been appended
219[info] - += should increment the underlying metric by an arbitrary amount
220[info] - -= should decrement the underlying metric by an arbitrary amount
221[info] - inc should increment the underlying metric by an arbitrary amount
222[info] - dec should decrement the underlying metric by an arbitrary amount
223[info] - getCount should consult the underlying counter for current count
224[info] count
225[info] - should consult the wrapper partial function for isDefined
226[info] - should increment counter upon execution of partial function
227[info] - should increment counter upon execution of undefined partial function
228[info] - countConcurrency should increment and decrement underlying counter upon execution of a function
229[info] StringUtilsSpec:
230[info] collapseDots
231[info] - strips leading dot
232[info] - strips trailing dot
233[info] - collapses dots at the beginning of the String
234[info] - collapses dots at the end of the String
235[info] - collapses dots in the middle of the String
236[info] - works on empty string
237[info] - works on dots only
238[info] - doesn't modify an already valid String
239[info] replace
240[info] - doesn't replace anything in empty Strings
241[info] - replaces repeated occurrences
242[info] - doesn't replace non-matching String
243[info] - can replace with a longer String
244[info] - will not allow replacing an empty string
245[info] InstrumentedBuilderSpec:
246[info] InstrumentedBuilder
247[info] - uses owner class as metric base name
248[info] - supports overriding the metric base name
249[info] MeterSpec:
250[info] A meter
251[info] - marks the underlying metric
252[info] - marks the underlying metric by an arbitrary amount
253[info] - increments meter on exception when exceptionMeter is used
254[info] - should increment time execution of partial function
255[info] ImplicitsSpec:
256[info] Implicits
257[info] - is not required in Scala 2.12 and later because of SAM support
258[info] - still works in Scala 2.12 and later
259[info] Implicits.functionToMetricFilter
260[info] - creates a MetricFilter that passes arguments to the function and returns function result unchanged
261[info] Implicits.functionToMetricSupplier
262[info] - creates a MetricSupplier that wraps the function unchanged
263[info] DefaultInstrumentedSpec:
264[info] DefaultInstrumented
265[info] - has the expected metricRegistry and health check registry
266[info] HealthCheckSpec:
267[info] healthCheck factory method
268[info] - registers the created checker
269[info] - build health checks that call the provided checker
270[info] - supports Boolean checker returning true
271[info] - supports Boolean checker returning false
272[info] - supports Boolean checker returning true implicitly
273[info] - supports Boolean checker returning false implicitly
274[info] - supports Try checker returning Success[Long]
275[info] - supports Try checker returning Success(Unit)
276[info] - supports Try checker returning Success(null)
277[info] - supports Try checker returning Failure
278[info] - supports Either checker returning Right[Long]
279[info] - supports Either checker returning Left[Boolean]
280[info] - supports Either checker returning Right[String]
281[info] - supports Either checker returning Left[String]
282[info] - supports Either checker returning Left[Throwable]
283[info] - supports Result checker returning Result unchanged
284[info] - supports checker throwing an exception
285[info] - supports override of metric base name
286[info] - supports Unit checker with side-effects (healthy)
287[info] - supports Unit checker with side-effects (unhealthy)
288[info] - supports Future checker returning a Success(Long)
289[info] - supports Future checker returning a Failure(exception)
290[info] - supports Future checker not returning in time
291[info] TimerSpec:
292[info] A timer
293[info] - times the passed closure
294[info] - updates the underlying metric
295[info] - should increment time execution of partial function
296[info] - should measure a future
297[info] - should measure a future closure which errors
298[info] - correctly infers the type
299[info] HistogramSpec:
300[info] A histogram
301[info] - updates the underlying histogram with an int
302[info] - updates the underlying histogram with a long
303[info] - retrieves a snapshot for statistics
304[info] MetricNameSpec:
305[info] MetricName object
306[info] - concatenates names with a period as separator
307[info] - skips nulls
308[info] - skips empty strings
309[info] - supports closures
310[info] - supports objects
311[info] - supports nested objects
312[info] - supports packages
313[info] - supports nested classes
314[info] - supports anonymous classes
315[info] MetricName
316[info] - appends names with a period as separator
317[info] - skips nulls
318[info] - skips empty strings
319[info] FreshRegistriesSpec:
320[info] FreshRegistries
321[info] - overrides the metric registry
322[info] - overrides the health check registry
323[info] FreshMetricRegistry
324[info] - overrides the metric registry
325[info] FreshHealthCheckRegistry
326[info] - overrides the health check registry
327[info] GaugeSpec:
328[info] A gauge
329[info] - invokes underlying function for sugar factory
330[info] - invokes getValue on underlying gauge
331[info] MetricBuilderSpec:
332[info] Metrics configuration dsl
333[info] - defines a timer
334[info] - defines a gauge
335[info] - defines a cached gauge
336[info] - defines a push gauge
337[info] - defines a push gauge with time out
338[info] - defines a counter
339[info] - defines a histogram
340[info] - defines a meter
341[info] - can re-fetch push gauge
342[info] - can re-fetch push gauge with timeout
343[info] CombinedBuilderSpec:
344[info] InstrumentedBuilder combined with CheckedBuilder
345[info] - uses owner class as metric base name
346[info] - supports overriding the metric base name
347Starting build for ProjectRef(file:/build/repo/,metricsScalaHdr) (metrics4-scala-hdr)... [3/4]
348Compile scalacOptions: --java-output-version:17, -unchecked, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
349[info] compiling 1 Scala source to /build/repo/metrics-scala-hdr/target/scala-3.8.0/classes ...
350[info] done compiling
351[info] compiling 1 Scala source to /build/repo/metrics-scala-hdr/target/scala-3.8.0/test-classes ...
352[warn] there was 1 deprecation warning; re-run with -deprecation for details
353[warn] one warning found
354[info] done compiling
355WARNING: A terminally deprecated method in sun.misc.Unsafe has been called
356WARNING: sun.misc.Unsafe::objectFieldOffset has been called by scala.runtime.LazyVals$ (file:/root/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-library/3.8.0/scala-library-3.8.0.jar)
357WARNING: Please consider reporting this to the maintainers of class scala.runtime.LazyVals$
358WARNING: sun.misc.Unsafe::objectFieldOffset will be removed in a future release
359[info] HdrMetricBuilderSpec:
360[info] Metrics configuration dsl with HdrMetricBuilder
361[info] - defines a timer
362[info] - defines a timer with scope
363[info] - defines a histogram
364[info] - allows a timer to be 'created' twice
365[info] - allows a histogram to be 'created' twice
366[info] - allows identical histograms to be 'created' concurrently
367[info] - gives IllegalArgumentException when second creation is of different type
368[info] - defines a timer with non-resetting reservoir
369[info] - defines a histogram with non-resetting reservoir
370[info] Metrics configuration dsl with HdrMetricBuilder with reset
371[info] - defines a timer with resetting reservoir
372[info] - defines a histogram with resetting reservoir
373
374************************
375Build summary:
376[{
377 "module": "metrics4-akka_a26",
378 "compile": {"status": "ok", "tookMs": 6059, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
379 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
380 "test-compile": {"status": "ok", "tookMs": 3024, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
381 "test": {"status": "ok", "tookMs": 1649, "passed": 8, "failed": 0, "ignored": 0, "skipped": 0, "total": 8, "byFramework": [{"framework": "unknown", "stats": {"passed": 8, "failed": 0, "ignored": 0, "skipped": 0, "total": 8}}]},
382 "publish": {"status": "skipped", "tookMs": 0},
383 "metadata": {
384 "crossScalaVersions": ["3.3.7", "2.13.18", "2.12.20", "3.3.7"]
385}
386},{
387 "module": "metrics4-pekko",
388 "compile": {"status": "ok", "tookMs": 438, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
389 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
390 "test-compile": {"status": "ok", "tookMs": 1544, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
391 "test": {"status": "ok", "tookMs": 1489, "passed": 8, "failed": 0, "ignored": 0, "skipped": 0, "total": 8, "byFramework": [{"framework": "unknown", "stats": {"passed": 8, "failed": 0, "ignored": 0, "skipped": 0, "total": 8}}]},
392 "publish": {"status": "skipped", "tookMs": 0},
393 "metadata": {
394 "crossScalaVersions": ["3.3.7", "2.13.18", "2.12.20", "3.3.7"]
395}
396},{
397 "module": "metrics4-scala",
398 "compile": {"status": "ok", "tookMs": 44, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
399 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
400 "test-compile": {"status": "ok", "tookMs": 3932, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
401 "test": {"status": "ok", "tookMs": 3419, "passed": 95, "failed": 0, "ignored": 0, "skipped": 0, "total": 95, "byFramework": [{"framework": "unknown", "stats": {"passed": 95, "failed": 0, "ignored": 0, "skipped": 0, "total": 95}}]},
402 "publish": {"status": "skipped", "tookMs": 0},
403 "metadata": {
404 "crossScalaVersions": ["3.3.7", "2.13.18", "2.12.20", "2.11.12", "3.3.7"]
405}
406},{
407 "module": "metrics4-scala-hdr",
408 "compile": {"status": "ok", "tookMs": 323, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
409 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
410 "test-compile": {"status": "ok", "tookMs": 906, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
411 "test": {"status": "ok", "tookMs": 1345, "passed": 11, "failed": 0, "ignored": 0, "skipped": 0, "total": 11, "byFramework": [{"framework": "unknown", "stats": {"passed": 11, "failed": 0, "ignored": 0, "skipped": 0, "total": 11}}]},
412 "publish": {"status": "skipped", "tookMs": 0},
413 "metadata": {
414 "crossScalaVersions": ["3.3.7", "2.13.18", "2.12.20", "2.11.12", "3.3.7"]
415}
416}]
417************************
418[success] Total time: 28 s, completed Jan 13, 2026, 5:23:32 PM
419[0JChecking patch project/plugins.sbt...
420Checking patch build.sbt...
421Applied patch project/plugins.sbt cleanly.
422Applied patch build.sbt cleanly.