Build Logs
norbert-radyk/spoiwo • 3.8.0-RC2:2025-11-28
Errors
6
Warnings
0
Total Lines
594
1##################################
2Clonning https://github.com/norbert-radyk/spoiwo.git into /build/repo using revision
3##################################
4----
5Preparing build for 3.8.0-RC2
6Scala binary version found: 3.8
7Implicitly using source version 3.8
8Scala binary version found: 3.8
9Implicitly using source version 3.8
10Would try to apply common scalacOption (best-effort, sbt/mill only):
11Append: ,REQUIRE:-source:3.8
12Remove: ,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
13----
14Starting build for 3.8.0-RC2
15Execute tests: true
16sbt project found:
17Sbt version 1.11.2 is not supported, minimal supported version is 1.11.5
18Enforcing usage of sbt in version 1.11.5
19No prepare script found for project norbert-radyk/spoiwo
20##################################
21Scala version: 3.8.0-RC2
22Targets: com.norbitltd%spoiwo com.norbitltd%spoiwo-examples com.norbitltd%spoiwo-grids
23Project projectConfig: {"projects":{"exclude":[],"overrides":{}},"java":{"version":"17"},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"full","migrationVersions":[],"sourcePatches":[]}
24##################################
25Using extra scalacOptions: ,REQUIRE:-source:3.8
26Filtering out scalacOptions: ,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
27[sbt_options] declare -a sbt_options=()
28[process_args] java_version = '17'
29[copyRt] java9_rt = '/root/.sbt/1.0/java9-rt-ext-eclipse_adoptium_17_0_8/rt.jar'
30# Executing command line:
31java
32-Dfile.encoding=UTF-8
33-Dcommunitybuild.scala=3.8.0-RC2
34-Dcommunitybuild.project.dependencies.add=
35-Xmx7G
36-Xms4G
37-Xss8M
38-Dsbt.script=/root/.sdkman/candidates/sbt/current/bin/sbt
39-Dscala.ext.dirs=/root/.sbt/1.0/java9-rt-ext-eclipse_adoptium_17_0_8
40-jar
41/root/.sdkman/candidates/sbt/1.11.5/bin/sbt-launch.jar
42"setCrossScalaVersions 3.8.0-RC2"
43"++3.8.0-RC2 -v"
44"mapScalacOptions ",REQUIRE:-source:3.8,-Wconf:msg=can be rewritten automatically under:s" ",-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e""
45"set every credentials := Nil"
46"excludeLibraryDependency com.github.ghik:zerowaste_{scalaVersion} com.olegpy:better-monadic-for_3 org.polyvariant:better-tostring_{scalaVersion} org.wartremover:wartremover_{scalaVersion}"
47"removeScalacOptionsStartingWith -P:wartremover"
48
49moduleMappings
50"runBuild 3.8.0-RC2 """{"projects":{"exclude":[],"overrides":{}},"java":{"version":"17"},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"full","migrationVersions":[],"sourcePatches":[]}""" com.norbitltd%spoiwo com.norbitltd%spoiwo-examples com.norbitltd%spoiwo-grids"
51
52[info] welcome to sbt 1.11.5 (Eclipse Adoptium Java 17.0.8)
53[info] loading settings for project repo-build from akka.sbt, plugins.sbt...
54[info] loading project definition from /build/repo/project
55[info] compiling 2 Scala sources to /build/repo/project/target/scala-2.12/sbt-1.0/classes ...
56[info] Non-compiled module 'compiler-bridge_2.12' for Scala 2.12.20. Compiling...
57[info] Compilation completed in 8.567s.
58[info] done compiling
59[info] loading settings for project root from build.sbt...
60[info] set current project to root (in build file:/build/repo/)
61Execute setCrossScalaVersions: 3.8.0-RC2
62OpenCB::Changing crossVersion 3.6.3 -> 3.8.0-RC2 in spoiwoGrids/crossScalaVersions
63OpenCB::Changing crossVersion 3.6.3 -> 3.8.0-RC2 in spoiwo/crossScalaVersions
64OpenCB::Changing crossVersion 3.6.3 -> 3.8.0-RC2 in root/crossScalaVersions
65OpenCB::Changing crossVersion 3.6.3 -> 3.8.0-RC2 in examples/crossScalaVersions
66[info] set current project to root (in build file:/build/repo/)
67[info] Setting Scala version to 3.8.0-RC2 on 4 projects.
68[info] Switching Scala version on:
69[info] * root (2.13.16, 3.8.0-RC2)
70[info] spoiwo (2.13.16, 3.8.0-RC2)
71[info] examples (2.13.16, 3.8.0-RC2)
72[info] spoiwoGrids (2.13.16, 3.8.0-RC2)
73[info] Excluding projects:
74[info] Reapplying settings...
75[info] set current project to root (in build file:/build/repo/)
76Execute mapScalacOptions: ,REQUIRE:-source:3.8,-Wconf:msg=can be rewritten automatically under:s ,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
77[info] Reapplying settings...
78[info] set current project to root (in build file:/build/repo/)
79[info] Defining Global / credentials, credentials and 2 others.
80[info] The new values will be used by Compile / scalafmtOnly, Global / pgpSelectPassphrase and 31 others.
81[info] Run `last` for details.
82[info] Reapplying settings...
83[info] set current project to root (in build file:/build/repo/)
84Execute excludeLibraryDependency: com.github.ghik:zerowaste_{scalaVersion} com.olegpy:better-monadic-for_3 org.polyvariant:better-tostring_{scalaVersion} org.wartremover:wartremover_{scalaVersion}
85[info] Reapplying settings...
86OpenCB::Failed to reapply settings in excludeLibraryDependency: Reference to undefined setting:
87
88 Global / allExcludeDependencies from Global / allExcludeDependencies (CommunityBuildPlugin.scala:331)
89 Did you mean spoiwo / allExcludeDependencies ?
90 , retry without global scopes
91[info] Reapplying settings...
92[info] set current project to root (in build file:/build/repo/)
93Execute removeScalacOptionsStartingWith: -P:wartremover
94[info] Reapplying settings...
95[info] set current project to root (in build file:/build/repo/)
96[success] Total time: 0 s, completed Nov 28, 2025, 12:13:50 PM
97Build config: {"projects":{"exclude":[],"overrides":{}},"java":{"version":"17"},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"full","migrationVersions":[],"sourcePatches":[]}
98Parsed config: Success(ProjectBuildConfig(ProjectsConfig(List(),Map()),Full,List()))
99Starting build...
100Projects: Set(spoiwo, examples, spoiwoGrids)
101Starting build for ProjectRef(file:/build/repo/,spoiwo) (spoiwo)... [0/3]
102OpenCB::Exclude Scala3 specific scalacOption `REQUIRE:-source:3.8` in Scala 2.12.20 module Global
103OpenCB::Filter out '-deprecation', matches setting pattern '^-?-deprecation'
104OpenCB::Filter out '-feature', matches setting pattern '^-?-feature'
105Compile scalacOptions: -Wconf:msg=can be rewritten automatically under:s, -source:3.8
106[info] compiling 50 Scala sources to /build/repo/core/target/scala-3.8.0-RC2/classes ...
107[info] done compiling
108[info] compiling 23 Scala sources to /build/repo/core/target/scala-3.8.0-RC2/test-classes ...
109[info] done compiling
1102025-11-28T11:14:50.144049727Z pool-18-thread-3 ERROR Log4j API could not find a logging provider.
111[info] Model2XlsxConversionsForSheetLockingSpec:
112[info] Sheet locking
113[info] - should not be enabled if locking has not been applied
114[info] - should enable sheet locking when sheet locking properties specified
115[info] Model2XlsxConversionsForCellStyleSpec:
116[info] Cell style conversion
117[info] - should return no borders by default
118[info] - should return explicitly set borders
119[info] - should return 'General' data format by default
120[info] - should return 'yyyy-MM-dd' data format when set explicitly
121[info] - should return 11pt Calibri font by default
122[info] - should return 14pt Arial when set explicitly
123[info] - should return no fill pattern by default
124[info] - should return 'Solid' fill pattern when explicitly set
125[info] - should return no background or foreground color by default
126[info] - should return red background and blue foreground color when explicitly set
127[info] - should return 'Context' reading order by default
128[info] - should return 'Right to Left' reading order when explicitly set
129[info] - should return 'General' horizontal alignment by default
130[info] - should return 'Right' horizontal alignment when explicitly set
131[info] - should return 'Bottom' vertical alignment by default
132[info] - should return 'Top' vertical alignment when explicitly set
133[info] - should return not hidden cell style by default
134[info] - should return not hidden cell style when explicitly set to false
135[info] - should return hidden cell style when explicitly set to true
136[info] - should return no indention by default
137[info] - should return indention of 4 spaces when explicitly set
138[info] - should return locked cell by default
139[info] - should return unlocked cell when explicitly set to false
140[info] - should return locked cell when explicitly set to true
141[info] - should return no rotation by default
142[info] - should return 90 degree rotation if explicitly set
143[info] - should return unwrapped text by default
144[info] - should return unwrapped text when explicitly set to false
145[info] - should return wrapped text when explicitly set to true
146[info] Model2XlsxConversionsForWorkbookSpec:
147[info] Workbook conversion
148[info] - should return a workbook with 1 sheet when default converted
149[info] - should convert all the sheets provided in order
150[info] - should be able to merge sheets into existing workbook
151[info] - should return first sheet as active sheet by default
152[info] - should return stated sheet as active sheet when explicitly set
153[info] - should return first visible tab for first sheet by default
154[info] - should return first visible tab for the 2nd sheet when set explicitly
155[info] Model2XlsxConversionsForCellSpec:
156[info] Cell conversion
157[info] - should return blank cell type with empty string by default
158[info] - should return a 0 column index by default if no other cells specified in the row
159[info] - should return cell style with 11pt Calibri by default
160[info] - should return cell style with 14pt Arial when explicitly specified
161[info] - should return index of 3 when explicitly specified
162[info] - should return index of 2 when row has already 2 other cells
163[info] - should return string cell when set up with 'String'
164[info] - should return string cell when set up with String with newline value
165[info] - should return formula cell when set up with string starting with '=' sign
166[info] - should return numeric cell when set up with double value
167[info] - should return numeric cell when set up with big decimal value
168[info] - should return numeric cell when set up with int value
169[info] - should return numeric cell when set up with long value
170[info] - should return boolean cell when set up with boolean value
171[info] - should return numeric cell when set up with java.util.Date value
172[info] - should return numeric cell when set up with java.util.Calendar value
173[info] - should return numeric cell when set up with java.time.LocalDate value
174[info] - should return numeric cell when set up with java.time.LocalDateTime value
175[info] - should return string cell with the date formatted yyyy-MM-dd if date before 1904
176[info] - should apply 14pt Arial cell style for column when set explicitly
177[info] - should return a string cell with hyperlink when setup with HyperLinkUrl value
178[info] Model2XlsxConversionsForColumnSpec:
179[info] Column conversions
180[info] - should have the column width of 8 characters by default
181[info] - should have the column width characters of 12 when explicitly specified
182[info] - should have 11pt Calibri cell style for column by default
183[info] - should not be hidden by default
184[info] - should not be hidden when explicitly set to false
185[info] - should be hidden when explicitly set to true
186[info] - should not be a break by default
187[info] - should not be a break when set to false
188[info] - should be a break when set to true
189[info] - should remain in default width when auto-sized set to false
190[info] - should resize column width to the content when auto-sized set to true
191[info] Model2XlsxConversionsForTableSpec:
192[info] Table conversions
193[info] - should validate that specified columns match with cell reference
194[info] - should have the table id as specified
195[info] - should throw IllegalArgumentException if id not specified
196[info] - should have the table display name as specified
197[info] - should have a generated display name when not specified
198[info] - should have the table name as specified
199[info] - should have a generated name when not specified
200[info] - should have the table reference as specified
201[info] - should have the columns when specified
202[info] - should have generated columns when not specified
203[info] - should have table style name as specified
204[info] - should have table style with showRowStripes and showColumnStripes when specified
205[info] - should have no table style when not specified
206[info] - should have autoFilter enabled when specified
207[info] - should not have autoFilter enabled when not specified
208[info] - should validate that specified table ids are unique
209[info] - should have generated table ids when not specified
210[info] ExportWorkbookStreamingSpec:
211[info] Writing workbook to an output stream
212[info] - should write non empty content
213[info] Writing workbook to an output stream
214[info] - should fail if tables are set
215private static final java.lang.invoke.VarHandle spoiwo.natures.xlsx.Model2XlsxConversions$.fontCache$lzy1$lzyHandle
216private static final java.lang.invoke.VarHandle spoiwo.natures.xlsx.Model2XlsxConversions$.dataFormatCache$lzy1$lzyHandle
217private static final java.lang.invoke.VarHandle spoiwo.natures.xlsx.Model2XlsxConversions$.cellStyleCache$lzy1$lzyHandle
218private static java.time.LocalDate spoiwo.natures.xlsx.Model2XlsxConversions$.spoiwo$natures$xlsx$BaseXlsx$$FirstSupportedDate
219private static java.time.LocalDate spoiwo.natures.xlsx.Model2XlsxConversions$.spoiwo$natures$xlsx$BaseXlsx$$LastSupportedDate
220private volatile java.lang.Object spoiwo.natures.xlsx.Model2XlsxConversions$.cellStyleCache$lzy1
221private volatile java.lang.Object spoiwo.natures.xlsx.Model2XlsxConversions$.dataFormatCache$lzy1
222private volatile java.lang.Object spoiwo.natures.xlsx.Model2XlsxConversions$.fontCache$lzy1
223public static final spoiwo.natures.xlsx.Model2XlsxConversions$ spoiwo.natures.xlsx.Model2XlsxConversions$.MODULE$
224[info] Model2XlsxConversionsForSheetPropertiesSpec:
225[info] Sheet properties conversion
226[info] - should return no active cell by default
227[info] - should return B3 as active cell if explicitly specified
228[info] - should return no auto-breaks by default
229[info] - should return no auto-break when explicitly set to false
230[info] - should return auto-breaks when explicitly set to true
231[info] - should return 8 characters width by default
232[info] - should return 12 characters width when set explicitly
233[info] - should return 15 points height by default
234[info] - should return 20 points height when set explicitly
235[info] - should return no display formulas by default
236[info] - should return no display formulas when set to false
237[info] - should return display formulas when set to true
238[info] - should return display grid lines by default
239[info] - should return no display grid lines when set to false
240[info] - should return display grid lines when set to true
241[info] - should return display guts by default
242[info] - should return no display guts when set to false
243[info] - should return display guts when set to true
244[info] - should return display row/column headings by default
245[info] - should return no display row/column headings when set to false
246[info] - should return display row/column headings when set to true
247[info] - should return display zeros by default
248[info] - should return no display zeros when set to false
249[info] - should return display zeros when set to true
250[info] - should not fit sheet to page by default
251[info] - should not fit sheet to page when set to false
252[info] - should fit sheet to page when set to true
253[info] - should not force formula recalculation by default
254[info] - should not force formula recalculation when set to false
255[info] - should force formula recalculation when set to true
256[info] - should not get horizontally center by default
257[info] - should not get horizontally center when set to false
258[info] - should get horizontally center when set to true
259[info] - should not return the print area by default
260[info] - should return the print area when set explicitly
261[info] - should print grid lines by default
262[info] - should not print grid lines when set to false
263[info] - should get print grid lines when set to true
264[info] - should not be right to left by default
265[info] - should not be right to left when set to false
266[info] - should be right to left when set to true
267[info] - should do row sums below by default
268[info] - should not do row sums below when set to false
269[info] - should be do row sums below when set to true
270[info] - should do row sums right by default
271[info] - should not do row sums right when set to false
272[info] - should be do row sums right when set to true
273[info] - should be selected by default when only 1 sheet
274[info] - should not be selected when set to false, but only one sheet
275[info] - should not be selected when set to false, but there are multiple sheets
276[info] - should be selected when set to true
277[info] - should not be virtually center by default
278[info] - should not be virtually center when set to false
279[info] - should be virtually center when set to true
280[info] Model2XlsxConversionsForWorkbookCacheSpec:
281[info] Cached workbook
282[info] - should be removed from cache after conversion *** FAILED ***
283[info] java.lang.ClassCastException: class java.lang.invoke.VarHandleReferences$FieldInstanceReadWrite cannot be cast to class scala.collection.mutable.Map (java.lang.invoke.VarHandleReferences$FieldInstanceReadWrite is in module java.base of loader 'bootstrap'; scala.collection.mutable.Map is in unnamed module of loader sbt.internal.ScalaLibraryClassLoader @6042819b)
284[info] at spoiwo.natures.streaming.xlsx.Model2XlsxConversionsForWorkbookCacheSpec.getValue$1(Model2XlsxConversionsForWorkbookCacheSpec.scala:46)
285[info] at spoiwo.natures.streaming.xlsx.Model2XlsxConversionsForWorkbookCacheSpec.assertNotCached(Model2XlsxConversionsForWorkbookCacheSpec.scala:47)
286[info] at spoiwo.natures.streaming.xlsx.Model2XlsxConversionsForWorkbookCacheSpec.testFun$proxy1$1(Model2XlsxConversionsForWorkbookCacheSpec.scala:36)
287[info] at spoiwo.natures.streaming.xlsx.Model2XlsxConversionsForWorkbookCacheSpec.$init$$$anonfun$1(Model2XlsxConversionsForWorkbookCacheSpec.scala:35)
288[info] at org.scalatest.Transformer.apply$$anonfun$1(Transformer.scala:22)
289[info] at org.scalatest.OutcomeOf.outcomeOf(OutcomeOf.scala:85)
290[info] at org.scalatest.OutcomeOf.outcomeOf$(OutcomeOf.scala:31)
291[info] at org.scalatest.OutcomeOf$.outcomeOf(OutcomeOf.scala:104)
292[info] at org.scalatest.Transformer.apply(Transformer.scala:22)
293[info] at org.scalatest.Transformer.apply(Transformer.scala:21)
294[info] ...
295[info] CellSpec:
296[info] Cell
297[info] - should be created as formula cell when initialized with string starting with '='
298[info] - should be created as a string cell normal text content
299[info] Model2XlsxConversionsForWorkbookCacheSpec:
300[info] Cached workbook
301[info] - should be removed from cache after conversion *** FAILED ***
302[info] java.lang.ClassCastException: class java.lang.invoke.VarHandleReferences$FieldInstanceReadWrite cannot be cast to class scala.collection.mutable.Map (java.lang.invoke.VarHandleReferences$FieldInstanceReadWrite is in module java.base of loader 'bootstrap'; scala.collection.mutable.Map is in unnamed module of loader sbt.internal.ScalaLibraryClassLoader @6042819b)
303[info] at spoiwo.natures.xlsx.Model2XlsxConversionsForWorkbookCacheSpec.getValue$1(Model2XlsxConversionsForWorkbookCacheSpec.scala:48)
304[info] at spoiwo.natures.xlsx.Model2XlsxConversionsForWorkbookCacheSpec.assertNotCached(Model2XlsxConversionsForWorkbookCacheSpec.scala:49)
305[info] at spoiwo.natures.xlsx.Model2XlsxConversionsForWorkbookCacheSpec.testFun$proxy1$1(Model2XlsxConversionsForWorkbookCacheSpec.scala:38)
306[info] at spoiwo.natures.xlsx.Model2XlsxConversionsForWorkbookCacheSpec.$init$$$anonfun$1(Model2XlsxConversionsForWorkbookCacheSpec.scala:37)
307[info] at org.scalatest.Transformer.apply$$anonfun$1(Transformer.scala:22)
308[info] at org.scalatest.OutcomeOf.outcomeOf(OutcomeOf.scala:85)
309[info] at org.scalatest.OutcomeOf.outcomeOf$(OutcomeOf.scala:31)
310[info] at org.scalatest.OutcomeOf$.outcomeOf(OutcomeOf.scala:104)
311[info] at org.scalatest.Transformer.apply(Transformer.scala:22)
312[info] at org.scalatest.Transformer.apply(Transformer.scala:21)
313[info] ...
314[info] Model2XlsxConversionsForRowSpec:
315[info] Row conversion
316[info] - should return height of 15 points by default
317[info] - should return height of 13 point when set explicitly
318[info] - should return no row style by default
319[info] - should return 14pt Arial row style when set explicitly
320[info] - should set unhidden row by default
321[info] - should set unhidden row when explicitly set to false
322[info] - should set hidden row when explicitly set to true
323[info] - should return row index of 0 for a single row in a sheet by default
324[info] - should return row index of 2 for a single sheet with already 2 rows by default
325[info] - should return index of 5 if the last row in the sheet has index of 4
326[info] - should have no cells by default
327[info] - should correctly initialize one cell
328[info] - should correctly initialize multiple cells with no indexes
329[info] - should correctly initialize single cell with index
330[info] - should correctly initialize multiple cells with indexes
331[info] - should fail when row has 2 cells with duplicate indexes
332[info] - should fail when row has cells with and without explicit indexes
333[info] Model2XlsxConversionsForSheetSpec:
334[info] Sheet conversions
335[info] - should set sheet name to 'Sheet1' by default in empty workbook
336[info] - should set sheet name to 'Sheet 3'in a workbook with already 2 sheets defined
337[info] - should return defined name when set explicitly
338[info] - should write to existing sheet by overwriting existing cells
339[info] - should write to existing sheet by overwriting existing cells and custom print setup
340[info] - should fail if there is an attempt to modify an existing cell
341[info] - should Access initial cells and rows in the template. After constructing all internal windows are empty and SXSSFSheet.getRow(int) and SXSSFRow.getCell(int) return null
342[info] - should not have 1st column style by default
343[info] - should have 1st column width when set with column without index
344[info] - should have correct 1st and 2nd column style when set with column without index
345[info] - should have 3rd column style when set with column with index
346[info] - should have correct 4th and 6th column style when set with column without index
347[info] - should not allow mixing columns with and without index
348[info] - should not allow 2 columns with the same index
349[info] - should have no rows by default
350[info] - should have 1st row with initialized with row and without index
351[info] - should have 1st and 2nd row with initialized with row and without index
352[info] - should have 3rd row with initialized with row with index
353[info] - should have 3rd and 5th row with initialized with row and index
354[info] - should not allow duplicate row indexes
355[info] - should not allow mixing indexed and non indexed rows
356[info] Model2XlsxConversionsForSheetPropertiesSpec:
357[info] Sheet properties conversion
358[info] - should return no active cell by default
359[info] - should return B3 as active cell if explicitly specified
360[info] - should return no auto-breaks by default
361[info] - should return no auto-break when explicitly set to false
362[info] - should return auto-breaks when explicitly set to true
363[info] - should return 8 characters width by default
364[info] - should return 12 characters width when set explicitly
365[info] - should return 15 points height by default
366[info] - should return 20 points height when set explicitly
367[info] - should return no display formulas by default
368[info] - should return no display formulas when set to false
369[info] - should return display formulas when set to true
370[info] - should return display grid lines by default
371[info] - should return no display grid lines when set to false
372[info] - should return display grid lines when set to true
373[info] - should return display guts by default
374[info] - should return no display guts when set to false
375[info] - should return display guts when set to true
376[info] - should return display row/column headings by default
377[info] - should return no display row/column headings when set to false
378[info] - should return display row/column headings when set to true
379[info] - should return display zeros by default
380[info] - should return no display zeros when set to false
381[info] - should return display zeros when set to true
382[info] - should not fit sheet to page by default
383[info] - should not fit sheet to page when set to false
384[info] - should fit sheet to page when set to true
385[info] - should not force formula recalculation by default
386[info] - should not force formula recalculation when set to false
387[info] - should force formula recalculation when set to true
388[info] - should not get horizontally center by default
389[info] - should not get horizontally center when set to false
390[info] - should get horizontally center when set to true
391[info] - should not return the print area by default
392[info] - should return the print area when set explicitly
393[info] - should print grid lines by default
394[info] - should not print grid lines when set to false
395[info] - should get print grid lines when set to true
396[info] - should not be right to left by default
397[info] - should not be right to left when set to false
398[info] - should be right to left when set to true
399[info] - should do row sums below by default
400[info] - should not do row sums below when set to false
401[info] - should be do row sums below when set to true
402[info] - should do row sums right by default
403[info] - should not do row sums right when set to false
404[info] - should be do row sums right when set to true
405[info] - should be selected by default when only 1 sheet
406[info] - should not be selected when set to false, but only one sheet
407[info] - should not be selected when set to false, but there are multiple sheets
408[info] - should be selected when set to true
409[info] - should not be virtually center by default
410[info] - should not be virtually center when set to false
411[info] - should be virtually center when set to true
412[info] Model2XlsxConversionsForCellStyleSpec:
413[info] Cell style conversion
414[info] - should return no borders by default
415[info] - should return explicitly set borders
416[info] - should return 'General' data format by default
417[info] - should return 'yyyy-MM-dd' data format when set explicitly
418[info] - should return 11pt Calibri font by default
419[info] - should return 14pt Arial when set explicitly
420[info] - should return no fill pattern by default
421[info] - should return 'Solid' fill pattern when explicitly set
422[info] - should return no background or foreground color by default
423[info] - should return red background and blue foreground color when explicitly set
424[info] - should return 'Context' reading order by default
425[info] - should return 'Right to Left' reading order when explicitly set
426[info] - should return 'General' horizontal alignment by default
427[info] - should return 'Right' horizontal alignment when explicitly set
428[info] - should return 'Bottom' vertical alignment by default
429[info] - should return 'Top' vertical alignment when explicitly set
430[info] - should return not hidden cell style by default
431[info] - should return not hidden cell style when explicitly set to false
432[info] - should return hidden cell style when explicitly set to true
433[info] - should return no indention by default
434[info] - should return indention of 4 spaces when explicitly set
435[info] - should return locked cell by default
436[info] - should return unlocked cell when explicitly set to false
437[info] - should return locked cell when explicitly set to true
438[info] - should return no rotation by default
439[info] - should return 90 degree rotation if explicitly set
440[info] - should return unwrapped text by default
441[info] - should return unwrapped text when explicitly set to false
442[info] - should return wrapped text when explicitly set to true
443[info] Model2XlsxConversionsForRowSpec:
444[info] Row conversion
445[info] - should return height of 15 points by default
446[info] - should return height of 13 point when set explicitly
447[info] - should return no row style by default
448[info] - should return 14pt Arial row style when set explicitly
449[info] - should set unhidden row by default
450[info] - should set unhidden row when explicitly set to false
451[info] - should set hidden row when explicitly set to true
452[info] - should return row index of 0 for a single row in a sheet by default
453[info] - should return row index of 2 for a single sheet with already 2 rows by default
454[info] - should return index of 5 if the last row in the sheet has index of 4
455[info] - should have no cells by default
456[info] - should correctly initialize one cell
457[info] - should correctly initialize multiple cells with no indexes
458[info] - should correctly initialize single cell with index
459[info] - should correctly initialize multiple cells with indexes
460[info] - should fail when row has 2 cells with duplicate indexes
461[info] - should fail when row has cells with and without explicit indexes
462[info] Model2XlsxConversionsForCellBordersSpec:
463[info] Cell borders conversion
464[info] - should return no borders by default
465[info] - should return user defined bottom border
466[info] - should return user defined top border
467[info] - should return user defined left border
468[info] - should return user defined right border
469[info] Model2XlsxConversionsForWorkbookStreamingSpec:
470[info] Workbook conversion
471[info] - should return a workbook with 1 sheet when default converted
472[info] - should convert all the sheets provided in order
473[info] - should be able to merge sheets into existing workbook
474[info] - should return first sheet as active sheet by default
475[info] - should return stated sheet as active sheet when explicitly set
476[info] - should return first visible tab for first sheet by default
477[info] - should return first visible tab for the 2nd sheet when set explicitly
478[info] Model2CsvConversionsSpec:
479[info] Model to CSV conversion
480[info] - should correctly convert the single text-only sheet
481[info] - should correctly convert the values that contain text that matches the separator
482[info] - should correctly convert the values that contain text that matches the separator (| case)
483[info] - should correctly convert the single text-only sheet with '|' separator
484[info] - should correctly format boolean value with default 'true' and 'false'
485[info] - should correctly format boolean value with 'Y' and 'N'
486[info] - should correctly format date value to yyyy-MM-dd by default
487[info] - should correctly format date value to yyyy/MM/dd by default
488[info] - should correctly process the HyperLinkUrl values
489[info] Model2XlsxConversionsForSheetSpec:
490[info] Sheet conversions
491[info] - should set sheet name to 'Sheet1' by default in empty workbook
492[info] - should set sheet name to 'Sheet 3'in a workbook with already 2 sheets defined
493[info] - should return defined name when set explicitly
494[info] - should write to existing sheet by overwriting existing cells
495[info] - should removes obsolete formulas
496[info] - should not have 1st column style by default
497[info] - should have 1st column width when set with column without index
498[info] - should have correct 1st and 2nd column style when set with column without index
499[info] - should have 3rd column style when set with column with index
500[info] - should have correct 4th and 6th column style when set with column without index
501[info] - should not allow mixing columns with and without index
502[info] - should not allow 2 columns with the same index
503[info] - should have no rows by default
504[info] - should have 1st row with initialized with row and without index
505[info] - should have 1st and 2nd row with initialized with row and without index
506[info] - should have 3rd row with initialized with row with index
507[info] - should have 3rd and 5th row with initialized with row and index
508[info] - should have image in the correct position
509[info] - should not allow duplicate row indexes
510[info] - should not allow mixing indexed and non indexed rows
511[info] ExportWorkbookSpec:
512[info] Writing workbook to an output stream
513[info] - should write non empty content
514[info] Model2XlsxConversionsForFontSpec:
515[info] Font conversion
516[info] - should return not bold font by default
517[info] - should return not bold font when set explicitly to not bold
518[info] - should return bold font when set explicitly to bold
519[info] - should return ANSI charset by default
520[info] - should return Eastern European charset when set explicitly
521[info] - should return no explicit color by default
522[info] - should return 'Lime' color when set explicitly
523[info] - should return 'Not Applicable' font family by default
524[info] - should return 'Roman' font family when set explicitly
525[info] - should return default height of 11 points
526[info] - should return height of 14 points when set explicitly
527[info] - should return height of 160 units when set explicitly
528[info] - should return not italic font by default
529[info] - should return not italic font when set explicitly to not italic
530[info] - should return italic font when set explicitly to italic
531[info] - should return no font scheme by default
532[info] - should return 'Major' font scheme when set explicitly
533[info] - should return 'Calibri' font name by default
534[info] - should return 'Arial' font name when set explicitly
535[info] - should return not strikeout font by default
536[info] - should return not strikeout font when set explicitly to not strikeout
537[info] - should return strikeout font when set explicitly to strikeout
538[info] - should return no type offset by default
539[info] - should return 'Subscript' type offset when set explicitly
540[info] - should return no underline by default
541[info] - should return double underline when set explicitly
542[info] - should return no bold, no italic by default
543[info] - should return bold, but no italic when set
544[info] - should return no bold, but italic when set
545[info] - should return bold and italic when set
546Starting build for ProjectRef(file:/build/repo/,examples) (spoiwo-examples)... [1/3]
547Compile scalacOptions: -Wconf:msg=can be rewritten automatically under:s, -source:3.8
548[info] compiling 3 Scala sources to /build/repo/grids/target/scala-3.8.0-RC2/classes ...
549[info] done compiling
550[info] compiling 7 Scala sources and 1 Java source to /build/repo/examples/target/scala-3.8.0-RC2/classes ...
551[info] /build/repo/examples/src/main/scala/spoiwo/examples/quickguide/JavaPoiExamples.java: JavaPoiExamples.java uses or overrides a deprecated API.
552[info] /build/repo/examples/src/main/scala/spoiwo/examples/quickguide/JavaPoiExamples.java: Recompile with -Xlint:deprecation for details.
553[info] done compiling
554Starting build for ProjectRef(file:/build/repo/,spoiwoGrids) (spoiwo-grids)... [2/3]
555Compile scalacOptions: -Wconf:msg=can be rewritten automatically under:s, -source:3.8
556
557************************
558Build summary:
559[{
560 "module": "spoiwo",
561 "compile": {"status": "ok", "tookMs": 15447, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
562 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
563 "test-compile": {"status": "ok", "tookMs": 13980, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
564 "test": {"status": "failed", "tookMs": 1980, "passed": 355, "failed": 2, "ignored": 0, "skipped": 0, "total": 357, "byFramework": [{"framework": "unknown", "stats": {"passed": 355, "failed": 2, "ignored": 0, "skipped": 0, "total": 357}}]},
565 "publish": {"status": "skipped", "tookMs": 0},
566 "metadata": {
567 "crossScalaVersions": ["2.13.16", "3.6.3"]
568}
569},{
570 "module": "spoiwo-examples",
571 "compile": {"status": "ok", "tookMs": 3090, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
572 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
573 "test-compile": {"status": "ok", "tookMs": 347, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
574 "test": {"status": "ok", "tookMs": 260, "passed": 0, "failed": 0, "ignored": 0, "skipped": 0, "total": 0, "byFramework": []},
575 "publish": {"status": "skipped", "tookMs": 0},
576 "metadata": {
577 "crossScalaVersions": ["2.13.16", "3.6.3"]
578}
579},{
580 "module": "spoiwo-grids",
581 "compile": {"status": "ok", "tookMs": 111, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
582 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
583 "test-compile": {"status": "ok", "tookMs": 151, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
584 "test": {"status": "ok", "tookMs": 151, "passed": 0, "failed": 0, "ignored": 0, "skipped": 0, "total": 0, "byFramework": []},
585 "publish": {"status": "skipped", "tookMs": 0},
586 "metadata": {
587 "crossScalaVersions": ["2.13.16", "3.6.3"]
588}
589}]
590************************
591[error] Scala3CommunityBuild$ProjectBuildFailureException: 1 module(s) finished with failures: spoiwo
592[error] (Global / runBuild) Scala3CommunityBuild$ProjectBuildFailureException: 1 module(s) finished with failures: spoiwo
593[error] Total time: 67 s (0:01:07.0), completed Nov 28, 2025, 12:14:57 PM
594[0JBuild failed, not retrying.