Build Logs

h8io/borscht • 3.8.0:2026-01-13

Errors

7

Warnings

36

Total Lines

656

1##################################
2Clonning https://github.com/h8io/borscht.git into /build/repo using revision v1.2.11
3##################################
4Note: switching to '9f0d1acc2b60ed77e4ef44c48033f04a6591440d'.
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
21----
22Preparing build for 3.8.0
23Scala binary version found: 3.8
24Implicitly using source version 3.8
25Scala binary version found: 3.8
26Implicitly using source version 3.8
27Would try to apply common scalacOption (best-effort, sbt/mill only):
28Append: ,REQUIRE:-source:3.8
29Remove: ,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
30----
31Starting build for 3.8.0
32Execute tests: true
33sbt project found:
34Sbt version 1.6.2 is not supported, minimal supported version is 1.11.5
35Enforcing usage of sbt in version 1.11.5
36No prepare script found for project h8io/borscht
37##################################
38Scala version: 3.8.0
39Targets: io.h8.borscht%borscht-classic io.h8.borscht%borscht-core io.h8.borscht%borscht-jackson io.h8.borscht%borscht-jackson-toml io.h8.borscht%borscht-jackson-yaml io.h8.borscht%borscht-template-apache-commons-text io.h8.borscht%borscht-template-core io.h8.borscht%borscht-template-st4 io.h8.borscht%borscht-typesafe
40Project projectConfig: {"projects":{"exclude":[],"overrides":{"template-apache-commons-text":{"tests":"compile-only"}}},"java":{},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"full","migrationVersions":[],"sourcePatches":[]}
41##################################
42Using extra scalacOptions: ,REQUIRE:-source:3.8
43Filtering out scalacOptions: ,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
44[sbt_options] declare -a sbt_options=()
45[process_args] java_version = '17'
46[copyRt] java9_rt = '/root/.sbt/1.0/java9-rt-ext-eclipse_adoptium_17_0_8/rt.jar'
47# Executing command line:
48java
49-Dfile.encoding=UTF-8
50-Dcommunitybuild.scala=3.8.0
51-Dcommunitybuild.project.dependencies.add=
52-Xmx7G
53-Xms4G
54-Xss8M
55-Dsbt.script=/root/.sdkman/candidates/sbt/current/bin/sbt
56-Dscala.ext.dirs=/root/.sbt/1.0/java9-rt-ext-eclipse_adoptium_17_0_8
57-jar
58/root/.sdkman/candidates/sbt/1.11.5/bin/sbt-launch.jar
59"setCrossScalaVersions 3.8.0"
60"++3.8.0 -v"
61"mapScalacOptions ",REQUIRE:-source:3.8,-Wconf:msg=can be rewritten automatically under:s" ",-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e""
62"set every credentials := Nil"
63"excludeLibraryDependency com.github.ghik:zerowaste_{scalaVersion} com.olegpy:better-monadic-for_3 org.polyvariant:better-tostring_{scalaVersion} org.wartremover:wartremover_{scalaVersion}"
64"removeScalacOptionsStartingWith -P:wartremover"
65
66moduleMappings
67"runBuild 3.8.0 """{"projects":{"exclude":[],"overrides":{"template-apache-commons-text":{"tests":"compile-only"}}},"java":{},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"full","migrationVersions":[],"sourcePatches":[]}""" io.h8.borscht%borscht-classic io.h8.borscht%borscht-core io.h8.borscht%borscht-jackson io.h8.borscht%borscht-jackson-toml io.h8.borscht%borscht-jackson-yaml io.h8.borscht%borscht-template-apache-commons-text io.h8.borscht%borscht-template-core io.h8.borscht%borscht-template-st4 io.h8.borscht%borscht-typesafe"
68
69[info] welcome to sbt 1.11.5 (Eclipse Adoptium Java 17.0.8)
70[info] loading settings for project repo-build from akka.sbt, plugins.sbt...
71[info] loading project definition from /build/repo/project
72[info] compiling 3 Scala sources to /build/repo/project/target/scala-2.12/sbt-1.0/classes ...
73[info] Non-compiled module 'compiler-bridge_2.12' for Scala 2.12.20. Compiling...
74[info] Compilation completed in 8.572s.
75[info] done compiling
76[info] loading settings for project root from build.sbt, version.sbt...
77[info] resolving key references (10933 settings) ...
78[info] set current project to borscht (in build file:/build/repo/)
79Execute setCrossScalaVersions: 3.8.0
80OpenCB::Changing crossVersion 3.2.1 -> 3.8.0 in recipe-jackson-toml/crossScalaVersions
81OpenCB::Changing crossVersion 3.2.1 -> 3.8.0 in template-apache-commons-text/crossScalaVersions
82OpenCB::Changing crossVersion 3.2.1 -> 3.8.0 in recipe-typesafe/crossScalaVersions
83OpenCB::Changing crossVersion 3.2.1 -> 3.8.0 in template-core/crossScalaVersions
84OpenCB::Changing crossVersion 3.2.1 -> 3.8.0 in recipe-jackson-yaml/crossScalaVersions
85OpenCB::Changing crossVersion 3.2.1 -> 3.8.0 in template-st4/crossScalaVersions
86OpenCB::Changing crossVersion 3.2.1 -> 3.8.0 in test-core/crossScalaVersions
87OpenCB::Changing crossVersion 3.2.1 -> 3.8.0 in root/crossScalaVersions
88OpenCB::Changing crossVersion 3.2.1 -> 3.8.0 in recipe-jackson/crossScalaVersions
89OpenCB::Changing crossVersion 3.2.1 -> 3.8.0 in core/crossScalaVersions
90OpenCB::Changing crossVersion 3.2.1 -> 3.8.0 in classic/crossScalaVersions
91OpenCB::Changing crossVersion 3.2.1 -> 3.8.0 in examples/crossScalaVersions
92[info] set current project to borscht (in build file:/build/repo/)
93[info] Setting Scala version to 3.8.0 on 12 projects.
94[info] Switching Scala version on:
95[info] recipe-typesafe (3.8.0)
96[info] recipe-jackson-yaml (3.8.0)
97[info] recipe-jackson-toml (3.8.0)
98[info] examples (3.8.0)
99[info] * root (3.8.0)
100[info] classic (3.8.0)
101[info] template-core (3.8.0)
102[info] recipe-jackson (3.8.0)
103[info] template-st4 (3.8.0)
104[info] test-core (3.8.0)
105[info] core (3.8.0)
106[info] template-apache-commons-text (3.8.0)
107[info] Excluding projects:
108[info] Reapplying settings...
109[info] set current project to borscht (in build file:/build/repo/)
110Execute mapScalacOptions: ,REQUIRE:-source:3.8,-Wconf:msg=can be rewritten automatically under:s ,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
111[info] Reapplying settings...
112[info] set current project to borscht (in build file:/build/repo/)
113[info] Defining Global / credentials, classic / credentials and 10 others.
114[info] The new values will be used by Global / pgpSelectPassphrase, Global / pgpSigningKey and 83 others.
115[info] Run `last` for details.
116[info] Reapplying settings...
117[info] set current project to borscht (in build file:/build/repo/)
118Execute excludeLibraryDependency: com.github.ghik:zerowaste_{scalaVersion} com.olegpy:better-monadic-for_3 org.polyvariant:better-tostring_{scalaVersion} org.wartremover:wartremover_{scalaVersion}
119[info] Reapplying settings...
120OpenCB::Failed to reapply settings in excludeLibraryDependency: Reference to undefined setting:
121
122 Global / allExcludeDependencies from Global / allExcludeDependencies (CommunityBuildPlugin.scala:331)
123 Did you mean recipe-jackson-toml / allExcludeDependencies ?
124 , retry without global scopes
125[info] Reapplying settings...
126[info] set current project to borscht (in build file:/build/repo/)
127Execute removeScalacOptionsStartingWith: -P:wartremover
128[info] Reapplying settings...
129[info] set current project to borscht (in build file:/build/repo/)
130[success] Total time: 0 s, completed Jan 13, 2026, 3:38:06 PM
131Build config: {"projects":{"exclude":[],"overrides":{"template-apache-commons-text":{"tests":"compile-only"}}},"java":{},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"full","migrationVersions":[],"sourcePatches":[]}
132Parsed config: Success(ProjectBuildConfig(ProjectsConfig(List(),Map(template-apache-commons-text -> ProjectOverrides(Some(CompileOnly)))),Full,List()))
133Starting build...
134Projects: Set(recipe-typesafe, recipe-jackson-yaml, recipe-jackson-toml, classic, template-core, recipe-jackson, template-st4, test-core, core, template-apache-commons-text)
135Starting build for ProjectRef(file:/build/repo/,template-st4) (borscht-template-st4)... [0/10]
136OpenCB::Exclude Scala3 specific scalacOption `REQUIRE:-source:3.8` in Scala 2.12.20 module Global
137Compile scalacOptions: -Ysafe-init, -explain, -new-syntax, -unchecked, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
138[info] compiling 49 Scala sources to /build/repo/core/target/scala-3.8.0/classes ...
139[warn] Option -Ysafe-init is deprecated: Use -Wsafe-init instead.
140[warn] one warning found
141[info] done compiling
142[info] compiling 5 Scala sources to /build/repo/template/core/target/scala-3.8.0/classes ...
143[warn] Option -Ysafe-init is deprecated: Use -Wsafe-init instead.
144[warn] one warning found
145[info] done compiling
146[info] compiling 4 Scala sources to /build/repo/template/st4/target/scala-3.8.0/classes ...
147[warn] Option -Ysafe-init is deprecated: Use -Wsafe-init instead.
148[warn] one warning found
149[info] done compiling
150[info] compiling 5 Scala sources to /build/repo/test/target/scala-3.8.0/classes ...
151[warn] Option -Ysafe-init is deprecated: Use -Wsafe-init instead.
152[warn] one warning found
153[info] done compiling
154[info] compiling 1 Scala source to /build/repo/template/st4/target/scala-3.8.0/test-classes ...
155[warn] Option -Ysafe-init is deprecated: Use -Wsafe-init instead.
156[warn] one warning found
157[info] done compiling
158[info] RendererTest:
159[info] Default temporal accessor renderer
160[info] - should render date and time with format string
161[info] - should render date and time without format string
162[info] - should render date without format string
163[info] - should render time without format string
164[info] Custom temporal accessor renderer
165[info] - should render date and time with format string
166[info] - should render date and time without format string
167[info] - should render date without format string
168[info] - should render time without format string
169Starting build for ProjectRef(file:/build/repo/,template-apache-commons-text) (borscht-template-apache-commons-text)... [1/10]
170Compile scalacOptions: -Ysafe-init, -explain, -new-syntax, -unchecked, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
171[info] compiling 7 Scala sources to /build/repo/template/apache-commons-text/target/scala-3.8.0/classes ...
172[warn] Option -Ysafe-init is deprecated: Use -Wsafe-init instead.
173[warn] one warning found
174[info] done compiling
175[info] compiling 2 Scala sources to /build/repo/template/apache-commons-text/target/scala-3.8.0/test-classes ...
176[warn] Option -Ysafe-init is deprecated: Use -Wsafe-init instead.
177[warn] one warning found
178[info] done compiling
179Starting build for ProjectRef(file:/build/repo/,recipe-typesafe) (borscht-typesafe)... [2/10]
180Compile scalacOptions: -Ysafe-init, -explain, -new-syntax, -unchecked, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
181[info] compiling 6 Scala sources to /build/repo/recipe/typesafe/target/scala-3.8.0/classes ...
182[warn] Option -Ysafe-init is deprecated: Use -Wsafe-init instead.
183[warn] one warning found
184[info] done compiling
185[info] compiling 3 Scala sources to /build/repo/recipe/typesafe/target/scala-3.8.0/test-classes ...
186[warn] Option -Ysafe-init is deprecated: Use -Wsafe-init instead.
187[warn] one warning found
188[info] done compiling
189[info] SeqNodeTest:
190[info] Seqence node parser
191[info] - should provide a singleton list of strings
192[info] - should provide a list of numbers
193[info] - should provide a singleton list of numbers
194[info] - should provide a list of numbers from a string sequence
195[info] - should provide a singleton list of numbers from a string value
196[info] - should provide a list of booleans
197[info] - should provide a list of booleans from a string sequence
198[info] NumericScalarNodeTest:
199[info] Numeric node parser
200[info] - should provide a byte value from a string
201[info] - should provide a double value
202[info] - should provide a double value from a string
203[info] - should provide a float value
204[info] - should provide a float value from a string
205[info] - should provide an integer value
206[info] - should provide an integer value from a string
207[info] - should provide a long value
208[info] - should provide a long value from a string
209[info] - should provide a short value
210[info] - should provide a short value from a string
211[info] BasicScalarNodeTest:
212[info] Scalar node parser
213[info] - should provide a numeric value
214[info] - should provide a numeric value from string
215[info] - should provide a nested config
216Starting build for ProjectRef(file:/build/repo/,classic) (borscht-classic)... [3/10]
217Compile scalacOptions: -Ysafe-init, -explain, -new-syntax, -unchecked, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
218[info] compiling 1 Scala source to /build/repo/classic/target/scala-3.8.0/test-classes ...
219[warn] Option -Ysafe-init is deprecated: Use -Wsafe-init instead.
220[warn] one warning found
221[info] done compiling
222[info] ST4StringParserTest:
223[info] ST4 template string parser
224[info] - should return the string for the scalar node
225[info] - should transform an object to string
226Starting build for ProjectRef(file:/build/repo/,core) (borscht-core)... [4/10]
227Compile scalacOptions: -Ysafe-init, -explain, -new-syntax, -unchecked, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
228[info] compiling 3 Scala sources to /build/repo/core/target/scala-3.8.0/test-classes ...
229[warn] Option -Ysafe-init is deprecated: Use -Wsafe-init instead.
230[warn] one warning found
231[info] done compiling
232[info] RefTest:
233[info] cast
234[info] - should properly cast object references
235[info] - should properly cast value references to themselves
236[info] - should properly cast primitive value references to the assotiated boxed type
237[info] - should properly cast primitive value references to Any
238[info] - should properly cast boxed value references to the assotiated primitive type
239[info] - should throw an exception for incompatible classes
240[info] Class
241[info] - should provide a correct reference to a primitive type with a class definition
242[info] - should provide a correct reference to a primitive type without a class definition
243[info] DateTimeAdjusterTest:
244[info] DateTimeAdjuster
245[info] - should parse date and time format with prefix
246[info] - should parse date and time format without prefix
247[info] - should parse date format
248[info] - should parse time format
249[info] - should parse week format with prefix
250[info] - should parse week format without prefix
251[info] - should parse basic format with prefix
252[info] - should parse basic format without prefix
253[info] - should parse Y-M-DTh-m-s format with prefix
254[info] - should parse Y-M-DTh-m-s format without prefix
255[info] - should parse Y-M-D format
256[info] - should parse Th:m:s format
257[info] - should parse empty string
258[info] SystemCfgNodeTest:
259[info] System properies config
260[info] - should contain defined properties
261Starting build for ProjectRef(file:/build/repo/,template-core) (borscht-template-core)... [5/10]
262Compile scalacOptions: -Ysafe-init, -explain, -new-syntax, -unchecked, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
263[info] compiling 3 Scala sources to /build/repo/template/core/target/scala-3.8.0/test-classes ...
264[warn] Option -Ysafe-init is deprecated: Use -Wsafe-init instead.
265[warn] one warning found
266[info] done compiling
267[info] DefaultNodeParserTemplateTest:
268[info] Default template parser with default engine
269[info] - should parse a scalar value
270[info] - should parse a cfg value without defined engine
271[info] - should parse a cfg value with defined engine
272[info] Default template parser without default engine
273[info] - should fail on a scalar value
274[info] - should fail on a cfg value without defined engine
275[info] - should parse a cfg value with defined engine
276[info] Default template parser
277[info] - should parse a template with parameters
278[info] - should fail if there is no template definition
279[info] - should fail on creation if default engine is unknown
280[info] - should fail on unknown engine in the template definition
281[info] - should be retrieved as a component
282Starting build for ProjectRef(file:/build/repo/,recipe-jackson) (borscht-jackson)... [6/10]
283Compile scalacOptions: -Ysafe-init, -explain, -new-syntax, -unchecked, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
284[info] compiling 6 Scala sources to /build/repo/recipe/jackson/target/scala-3.8.0/classes ...
285[warn] Option -Ysafe-init is deprecated: Use -Wsafe-init instead.
286[warn] one warning found
287[info] done compiling
288Starting build for ProjectRef(file:/build/repo/,recipe-jackson-toml) (borscht-jackson-toml)... [7/10]
289Compile scalacOptions: -Ysafe-init, -explain, -new-syntax, -unchecked, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
290[info] compiling 1 Scala source to /build/repo/recipe/jackson/toml/target/scala-3.8.0/classes ...
291[warn] Option -Ysafe-init is deprecated: Use -Wsafe-init instead.
292[warn] one warning found
293[info] done compiling
294[info] compiling 3 Scala sources to /build/repo/recipe/jackson/toml/target/scala-3.8.0/test-classes ...
295[warn] Option -Ysafe-init is deprecated: Use -Wsafe-init instead.
296[warn] one warning found
297[info] done compiling
298[info] BasicScalarNodeTest:
299[info] Scalar node parser
300[info] - should provide a numeric value
301[info] - should provide a numeric value from string
302[info] - should provide a nested config
303[info] SeqNodeTest:
304[info] Sequence node parser
305[info] - should provide a singleton list of strings
306[info] - should provide a list of numbers
307[info] - should provide a singleton list of numbers
308[info] - should provide a list of numbers from a string sequence
309[info] - should provide a singleton list of numbers from a string value
310[info] - should provide a list of booleans
311[info] - should provide a list of booleans from a string sequence
312[info] NumericScalarNodeTest:
313[info] Numeric node parser
314[info] - should provide a byte value from a string
315[info] - should provide a double value
316[info] - should provide a double value from a string
317[info] - should provide a float value
318[info] - should provide a float value from a string
319[info] - should provide an integer value
320[info] - should provide an integer value from a string
321[info] - should provide the maximal long value
322[info] - should provide the minimal long value
323[info] - should provide a short value
324[info] - should provide a short value from a string
325Starting build for ProjectRef(file:/build/repo/,test-core) (test-core)... [8/10]
326Compile scalacOptions: -Ysafe-init, -explain, -new-syntax, -unchecked, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
327[info] compiling 25 Scala sources to /build/repo/test/target/scala-3.8.0/test-classes ...
328[warn] Option -Ysafe-init is deprecated: Use -Wsafe-init instead.
329[warn] one warning found
330[info] done compiling
331[info] EventsTest:
332[info] Events
333[info] - should parse an empty string
334[info] - should parse whitespace string
335[info] - should ignore whitespaces
336[info] - should parse string without whitespaces
337[info] NodeParserBasicScalarTest:
338[info] Scalar node parser
339[info] - should provide a numeric value
340[info] - should provide a numeric value from string
341[info] - should provide a nested config
342[info] NumericTypesTest:
343[info] BigInt value type
344[info] - should parse big integers correctly
345[info] BigDecimal value type
346[info] - should parse big decimals correctly
347[info] Byte value type
348[info] - should parse bytes correctly
349[info] Double value type
350[info] - should parse doubles correctly
351[info] Float value type
352[info] - should parse floats correctly
353[info] Integer value type
354[info] - should parse bytes correctly
355[info] Long value type
356[info] - should parse bytes correctly
357[info] Short value type
358[info] - should parse bytes correctly
359[info] TimeTypesTest:
360[info] Zone value type
361[info] - should parse a region id
362[info] - should parse an offset for a prefix
363[info] Zone offset type
364[info] - should parse Z
365[info] - should parse zero
366[info] - should parse an hours value
367[info] - should parse an hours and minutes value
368[info] Now
369[info] - should be parsed without adjuster and time zone
370[info] - should be parsed with adjuster
371[info] - should be parsed with adjuster and time zone
372[info] NodeParserOptionTest:
373[info] Option node parser
374[info] - should return None object
375[info] - should return Some instance for a scalar node
376[info] - should return Some instance for a sequence node with a single element
377[info] - should throw an exception for a sequence node with multiple elements
378[info] - should retrieve a list from the nested sequesnce nodes
379[info] NodeParserClassTest:
380[info] Class node parser
381[info] - should return the correct class object
382[info] CfgNodeTest:
383[info] optionalOneOf
384[info] - should return None if there are no keys from the map
385[info] - should return Some if there is a key from the map
386[info] - should throw a NodeParserException if there are multiple keys from the map
387[info] oneOf
388[info] - should throw a NodeParserException if there are no keys from the map
389[info] - should return a correct value if there is a key from the map
390[info] - should throw a NodeParserException if there are multiple keys from the map
391[info] properties
392[info] - should return empty map for unexistent node
393[info] - should return a correct map for a non-empty reference
394[info] - should return a correct map for an empty reference
395[info] ListTypeTest:
396[info] List value type without type parameter
397[info] - should parse a plain string list
398[info] - should parse a scalar string
399[info] - should parse typed values
400[info] List value type with type parameter
401[info] - should parse a string list
402[info] - should parse a scalar integer
403[info] - should parse typed values
404[info] - should parse list of lists
405[info] BooleanTypeTest:
406[info] Value type boolean
407[info] - should parse string values correctly
408[info] - should parse integer values correctly
409[info] - should parse boolean values correctly
410[info] OptionTypeTest:
411[info] Option value type without type parameter
412[info] - should parse an empty list
413[info] - should parse a singleton integer list
414[info] - should parse a scalar string
415[info] - should parse typed values
416[info] NodeParserRefTest:
417[info] Reference node
418[info] - should provide values references from cfg nodes
419[info] - should provide correct values references from scalar nodes
420[info] - should provide correct typeless values references
421[info] Scalar typed value node parser
422[info] - should return a correct value for the base value type parser
423[info] - should return a correct value for the test value type parser
424[info] Sequence typed value node parser
425[info] - should return a correct value for the base value type parser
426[info] Configuration typed value node parser
427[info] - should return a correct value for the base value type parser
428[info] RootParserTest:
429[info] Root type parser
430[info] - should parse a parameterless definition
431[info] - should parse definition with parameters
432[info] - should return None on a missed type
433[info] NodeParserNodeParserTest:
434[info] Ref parser node
435[info] - should parse type correctly
436[info] - should throw an exception if it is not defined in meta
437[info] - should return a correct value for a scalar value
438[info] NodeParserNumericTest:
439[info] Numeric node parser
440[info] - should provide a byte value from a string
441[info] - should provide a double value
442[info] - should provide a double value from a string
443[info] - should provide a float value
444[info] - should provide a float value from a string
445[info] - should provide an integer value
446[info] - should provide an integer value from a string
447[info] - should provide a long value
448[info] - should provide a long value from a string
449[info] - should provide a short value
450[info] - should provide a short value from a string
451[info] PropTypeTest:
452[info] RefTypeProp
453[info] - should retrieve a typed value without parameters
454[info] - should retrieve a string value without parameters
455[info] - should retrieve a string value with the string parser parameter
456[info] - should retrieve an integer value
457[info] - should retrieve a nested value
458[info] NodeParserListTest:
459[info] List node parser
460[info] - should provide a singleton list of strings
461[info] - should provide a list of numbers
462[info] - should provide a singleton list of numbers
463[info] - should provide a list of numbers from a string sequence
464[info] - should provide a singleton list of numbers from a string value
465[info] - should provide a list of booleans
466[info] - should provide a list of booleans from a string sequence
467[info] - should provide a list of lists
468[info] - should provide a list of options
469[info] ComponentRefTest:
470[info] Class component reference value type
471[info] - should create a correct component instance from scalar node
472[info] - should create a correct component instance without parameters
473[info] - should create a correct component instance with parameter
474[info] - should create a correct component instance with two unnamed parameters
475[info] - should create a correct component instance with three named parameters
476[info] - should create a correct component with unnamed boxed parameter
477[info] - should create a correct component with named boxed parameter
478[info] Object component reference value type
479[info] - should create a correct component instance from the cfg node
480[info] - should throw NodeParserException if the class do not have a companion object
481[info] CharTypeTest:
482[info] Char value type
483[info] - should parse characters correctly
484[info] MapTypeTest:
485[info] Map reference type without type parameters
486[info] - should parse plain cfg node
487[info] - should parse cfg node with type prefixes
488[info] Map reference type with type parameters
489[info] - should parse plain cfg node
490[info] - should parse cfg node with type prefixes
491[info] ParsersTest:
492[info] parseType function
493[info] - should parse a parameterless definition
494[info] - should parse definition with parameters
495[info] - should return None on a missed type
496[info] - should return the parser to the primitive value
497[info] parseRef function
498[info] - should return the primitive value from the scalar node
499[info] - should return the primitive value from the cfg node
500[info] NodeParserRefComponentTest:
501[info] Component reference scalar node
502[info] - should provide the correct component
503[info] Component reference cfg node
504[info] - should provide the correct component without parameters
505[info] - should provide the correct component with unnamed parameter
506[info] - should provide the correct component with unnamed parameters
507[info] - should provide the correct component with named parameters
508Starting build for ProjectRef(file:/build/repo/,recipe-jackson-yaml) (borscht-jackson-yaml)... [9/10]
509Compile scalacOptions: -Ysafe-init, -explain, -new-syntax, -unchecked, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
510[info] compiling 1 Scala source to /build/repo/recipe/jackson/yaml/target/scala-3.8.0/classes ...
511[warn] Option -Ysafe-init is deprecated: Use -Wsafe-init instead.
512[warn] one warning found
513[info] done compiling
514[info] compiling 3 Scala sources to /build/repo/recipe/jackson/yaml/target/scala-3.8.0/test-classes ...
515[warn] Option -Ysafe-init is deprecated: Use -Wsafe-init instead.
516[warn] one warning found
517[info] done compiling
518[info] NumericScalarNodeTest:
519[info] Numeric node parser
520[info] - should provide a byte value from a string
521[info] - should provide a double value
522[info] - should provide a double value from a string
523[info] - should provide a float value
524[info] - should provide a float value from a string
525[info] - should provide an integer value
526[info] - should provide an integer value from a string
527[info] - should provide a long value
528[info] - should provide a long value from a string
529[info] - should provide a short value
530[info] - should provide a short value from a string
531[info] BasicScalarNodeTest:
532[info] Scalar node parser
533[info] - should provide a numeric value
534[info] - should provide a numeric value from string
535[info] - should provide a nested config
536[info] SeqNodeTest:
537[info] Sequence node parser
538[info] - should provide a singleton list of strings
539[info] - should provide a list of numbers
540[info] - should provide a singleton list of numbers
541[info] - should provide a list of numbers from a string sequence
542[info] - should provide a singleton list of numbers from a string value
543[info] - should provide a list of booleans
544[info] - should provide a list of booleans from a string sequence
545
546************************
547Build summary:
548[{
549 "module": "borscht-template-st4",
550 "compile": {"status": "ok", "tookMs": 12191, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
551 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
552 "test-compile": {"status": "ok", "tookMs": 2415, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
553 "test": {"status": "ok", "tookMs": 735, "passed": 8, "failed": 0, "ignored": 0, "skipped": 0, "total": 8, "byFramework": [{"framework": "unknown", "stats": {"passed": 8, "failed": 0, "ignored": 0, "skipped": 0, "total": 8}}]},
554 "publish": {"status": "skipped", "tookMs": 0},
555 "metadata": {
556 "crossScalaVersions": ["3.2.1"]
557}
558},{
559 "module": "borscht-template-apache-commons-text",
560 "compile": {"status": "ok", "tookMs": 1066, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
561 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
562 "test-compile": {"status": "ok", "tookMs": 1222, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
563 "test": {"status": "skipped", "tookMs": 0, "passed": 0, "failed": 0, "ignored": 0, "skipped": 0, "total": 0, "byFramework": []},
564 "publish": {"status": "skipped", "tookMs": 0},
565 "metadata": {
566 "crossScalaVersions": ["3.2.1"]
567}
568},{
569 "module": "borscht-typesafe",
570 "compile": {"status": "ok", "tookMs": 711, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
571 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
572 "test-compile": {"status": "ok", "tookMs": 1406, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
573 "test": {"status": "ok", "tookMs": 437, "passed": 21, "failed": 0, "ignored": 0, "skipped": 0, "total": 21, "byFramework": [{"framework": "unknown", "stats": {"passed": 21, "failed": 0, "ignored": 0, "skipped": 0, "total": 21}}]},
574 "publish": {"status": "skipped", "tookMs": 0},
575 "metadata": {
576 "crossScalaVersions": ["3.2.1"]
577}
578},{
579 "module": "borscht-classic",
580 "compile": {"status": "ok", "tookMs": 256, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
581 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
582 "test-compile": {"status": "ok", "tookMs": 995, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
583 "test": {"status": "ok", "tookMs": 618, "passed": 2, "failed": 0, "ignored": 0, "skipped": 0, "total": 2, "byFramework": [{"framework": "unknown", "stats": {"passed": 2, "failed": 0, "ignored": 0, "skipped": 0, "total": 2}}]},
584 "publish": {"status": "skipped", "tookMs": 0},
585 "metadata": {
586 "crossScalaVersions": ["3.2.1"]
587}
588},{
589 "module": "borscht-core",
590 "compile": {"status": "ok", "tookMs": 57, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
591 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
592 "test-compile": {"status": "ok", "tookMs": 1426, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
593 "test": {"status": "ok", "tookMs": 381, "passed": 22, "failed": 0, "ignored": 0, "skipped": 0, "total": 22, "byFramework": [{"framework": "unknown", "stats": {"passed": 22, "failed": 0, "ignored": 0, "skipped": 0, "total": 22}}]},
594 "publish": {"status": "skipped", "tookMs": 0},
595 "metadata": {
596 "crossScalaVersions": ["3.2.1"]
597}
598},{
599 "module": "borscht-template-core",
600 "compile": {"status": "ok", "tookMs": 126, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
601 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
602 "test-compile": {"status": "ok", "tookMs": 1387, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
603 "test": {"status": "ok", "tookMs": 506, "passed": 11, "failed": 0, "ignored": 0, "skipped": 0, "total": 11, "byFramework": [{"framework": "unknown", "stats": {"passed": 11, "failed": 0, "ignored": 0, "skipped": 0, "total": 11}}]},
604 "publish": {"status": "skipped", "tookMs": 0},
605 "metadata": {
606 "crossScalaVersions": ["3.2.1"]
607}
608},{
609 "module": "borscht-jackson",
610 "compile": {"status": "ok", "tookMs": 788, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
611 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
612 "test-compile": {"status": "ok", "tookMs": 180, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
613 "test": {"status": "ok", "tookMs": 150, "passed": 0, "failed": 0, "ignored": 0, "skipped": 0, "total": 0, "byFramework": []},
614 "publish": {"status": "skipped", "tookMs": 0},
615 "metadata": {
616 "crossScalaVersions": ["3.2.1"]
617}
618},{
619 "module": "borscht-jackson-toml",
620 "compile": {"status": "ok", "tookMs": 438, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
621 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
622 "test-compile": {"status": "ok", "tookMs": 1050, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
623 "test": {"status": "ok", "tookMs": 524, "passed": 21, "failed": 0, "ignored": 0, "skipped": 0, "total": 21, "byFramework": [{"framework": "unknown", "stats": {"passed": 21, "failed": 0, "ignored": 0, "skipped": 0, "total": 21}}]},
624 "publish": {"status": "skipped", "tookMs": 0},
625 "metadata": {
626 "crossScalaVersions": ["3.2.1"]
627}
628},{
629 "module": "test-core",
630 "compile": {"status": "ok", "tookMs": 90, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
631 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
632 "test-compile": {"status": "ok", "tookMs": 4668, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
633 "test": {"status": "ok", "tookMs": 575, "passed": 116, "failed": 0, "ignored": 0, "skipped": 0, "total": 116, "byFramework": [{"framework": "unknown", "stats": {"passed": 116, "failed": 0, "ignored": 0, "skipped": 0, "total": 116}}]},
634 "publish": {"status": "skipped", "tookMs": 0},
635 "metadata": {
636 "crossScalaVersions": ["3.2.1"]
637}
638},{
639 "module": "borscht-jackson-yaml",
640 "compile": {"status": "ok", "tookMs": 484, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
641 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
642 "test-compile": {"status": "ok", "tookMs": 1209, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
643 "test": {"status": "ok", "tookMs": 629, "passed": 21, "failed": 0, "ignored": 0, "skipped": 0, "total": 21, "byFramework": [{"framework": "unknown", "stats": {"passed": 21, "failed": 0, "ignored": 0, "skipped": 0, "total": 21}}]},
644 "publish": {"status": "skipped", "tookMs": 0},
645 "metadata": {
646 "crossScalaVersions": ["3.2.1"]
647}
648}]
649************************
650[success] Total time: 46 s, completed Jan 13, 2026, 3:38:51 PM
651[0JChecking patch project/plugins.sbt...
652Checking patch project/build.properties...
653Checking patch build.sbt...
654Applied patch project/plugins.sbt cleanly.
655Applied patch project/build.properties cleanly.
656Applied patch build.sbt cleanly.