Build Logs
greenfossil/data-mapping • 3.8.0:2026-01-13
Errors
0
Warnings
22
Total Lines
523
1##################################
2Clonning https://github.com/greenfossil/data-mapping.git into /build/repo using revision v1.3.6
3##################################
4Note: switching to 'a65b092df67d7d77ba26483115c99055f10fed0c'.
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.7.1
22----
23Preparing build for 3.8.0
24Scala binary version found: 3.8
25Using configured source version: 3.3
26Scala binary version found: 3.8
27Using configured source version: 3.3
28Would try to apply common scalacOption (best-effort, sbt/mill only):
29Append: ,REQUIRE:-source:3.3
30Remove: ,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
31
32Try apply source patch:
33Path: build.sbt
34Pattern: val scala3Version = "3.7.1"
35Replacement: val scala3Version = "3.8.0"
36Starting compilation server
37Compiling project (Scala 3.7.3, JVM (17))
38Compiled project (Scala 3.7.3, JVM (17))
39Successfully applied pattern 'val scala3Version = "3.7.1"' in build.sbt
40----
41Starting build for 3.8.0
42Execute tests: true
43sbt project found:
44No prepare script found for project greenfossil/data-mapping
45##################################
46Scala version: 3.8.0
47Targets: com.greenfossil%data-mapping
48Project projectConfig: {"projects":{"exclude":[],"overrides":{}},"java":{},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"full","sourceVersion":"3.3","migrationVersions":[],"sourcePatches":[{"path":"build.sbt","pattern":"val scala3Version = \"3.7.1\"","replaceWith":"val scala3Version = \"<SCALA_VERSION>\""}]}
49##################################
50Using extra scalacOptions: ,REQUIRE:-source:3.3
51Filtering out scalacOptions: ,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
52[sbt_options] declare -a sbt_options=()
53[process_args] java_version = '17'
54[copyRt] java9_rt = '/root/.sbt/1.0/java9-rt-ext-eclipse_adoptium_17_0_8/rt.jar'
55# Executing command line:
56java
57-Dfile.encoding=UTF-8
58-Dcommunitybuild.scala=3.8.0
59-Dcommunitybuild.project.dependencies.add=
60-Xmx7G
61-Xms4G
62-Xss8M
63-Dsbt.script=/root/.sdkman/candidates/sbt/current/bin/sbt
64-Dscala.ext.dirs=/root/.sbt/1.0/java9-rt-ext-eclipse_adoptium_17_0_8
65-jar
66/root/.sdkman/candidates/sbt/1.11.5/bin/sbt-launch.jar
67"setCrossScalaVersions 3.8.0"
68"++3.8.0 -v"
69"mapScalacOptions ",REQUIRE:-source:3.3,-Wconf:msg=can be rewritten automatically under:s" ",-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e""
70"set every credentials := Nil"
71"excludeLibraryDependency com.github.ghik:zerowaste_{scalaVersion} com.olegpy:better-monadic-for_3 org.polyvariant:better-tostring_{scalaVersion} org.wartremover:wartremover_{scalaVersion}"
72"removeScalacOptionsStartingWith -P:wartremover"
73
74moduleMappings
75"runBuild 3.8.0 """{"projects":{"exclude":[],"overrides":{}},"java":{},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"full","sourceVersion":"3.3","migrationVersions":[],"sourcePatches":[{"path":"build.sbt","pattern":"val scala3Version = \"3.7.1\"","replaceWith":"val scala3Version = \"<SCALA_VERSION>\""}]}""" com.greenfossil%data-mapping"
76
77[info] [launcher] getting org.scala-sbt sbt 1.11.7 (this may take some time)...
78[info] welcome to sbt 1.11.7 (Eclipse Adoptium Java 17.0.8)
79[info] loading settings for project repo-build from akka.sbt, plugins.sbt...
80[info] loading project definition from /build/repo/project
81[info] compiling 2 Scala sources to /build/repo/project/target/scala-2.12/sbt-1.0/classes ...
82[info] Non-compiled module 'compiler-bridge_2.12' for Scala 2.12.20. Compiling...
83[info] Compilation completed in 8.702s.
84[info] done compiling
85[info] loading settings for project dataMapping from build.sbt, publish.sbt...
86[info] set current project to data-mapping (in build file:/build/repo/)
87Execute setCrossScalaVersions: 3.8.0
88OpenCB::Changing crossVersion 3.8.0 -> 3.8.0 in dataMapping/crossScalaVersions
89OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.8.0) in dataMapping/crossScalaVersions
90[info] set current project to data-mapping (in build file:/build/repo/)
91[info] Setting Scala version to 3.8.0 on 1 projects.
92[info] Switching Scala version on:
93[info] * dataMapping (3.8.0)
94[info] Excluding projects:
95[info] Reapplying settings...
96[info] set current project to data-mapping (in build file:/build/repo/)
97Execute mapScalacOptions: ,REQUIRE:-source:3.3,-Wconf:msg=can be rewritten automatically under:s ,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
98[info] Reapplying settings...
99[info] set current project to data-mapping (in build file:/build/repo/)
100[info] Defining Global / credentials, ThisBuild / credentials, credentials
101[info] The new values will be used by Global / pgpSelectPassphrase, Global / pgpSigningKey and 5 others.
102[info] Run `last` for details.
103[info] Reapplying settings...
104[info] set current project to data-mapping (in build file:/build/repo/)
105Execute excludeLibraryDependency: com.github.ghik:zerowaste_{scalaVersion} com.olegpy:better-monadic-for_3 org.polyvariant:better-tostring_{scalaVersion} org.wartremover:wartremover_{scalaVersion}
106[info] Reapplying settings...
107OpenCB::Failed to reapply settings in excludeLibraryDependency: Reference to undefined setting:
108
109 Global / allExcludeDependencies from Global / allExcludeDependencies (CommunityBuildPlugin.scala:331)
110 Did you mean allExcludeDependencies ?
111 , retry without global scopes
112[info] Reapplying settings...
113[info] set current project to data-mapping (in build file:/build/repo/)
114Execute removeScalacOptionsStartingWith: -P:wartremover
115[info] Reapplying settings...
116[info] set current project to data-mapping (in build file:/build/repo/)
117[success] Total time: 0 s, completed Jan 13, 2026, 3:39:29 PM
118Build config: {"projects":{"exclude":[],"overrides":{}},"java":{},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"full","sourceVersion":"3.3","migrationVersions":[],"sourcePatches":[{"path":"build.sbt","pattern":"val scala3Version = \"3.7.1\"","replaceWith":"val scala3Version = \"<SCALA_VERSION>\""}]}
119Parsed config: Success(ProjectBuildConfig(ProjectsConfig(List(),Map()),Full,List()))
120Starting build...
121Projects: Set(dataMapping)
122Starting build for ProjectRef(file:/build/repo/,dataMapping) (data-mapping)... [0/1]
123OpenCB::Exclude Scala3 specific scalacOption `REQUIRE:-source:3.3` in Scala 2.12.20 module Global
124OpenCB::Filter out '-feature', matches setting pattern '^-?-feature'
125OpenCB::Filter out '-deprecation', matches setting pattern '^-?-deprecation'
126Compile scalacOptions: -language:implicitConversions, -Wunused:all, -Wconf:msg=can be rewritten automatically under:s, -source:3.3
127[info] compiling 14 Scala sources to /build/repo/target/scala-3.8.0/classes ...
128[warn] -- [E198] Unused Symbol Warning: /build/repo/src/main/scala/com/greenfossil/data/mapping/HtmlSanitizer.scala:21:5
129[warn] 21 | (elementName: String, attributeName: String, value: String) => {
130[warn] | ^^^^^^^^^^^
131[warn] | unused explicit parameter
132[warn] -- [E198] Unused Symbol Warning: /build/repo/src/main/scala/com/greenfossil/data/mapping/HtmlSanitizer.scala:21:26
133[warn] 21 | (elementName: String, attributeName: String, value: String) => {
134[warn] | ^^^^^^^^^^^^^
135[warn] | unused explicit parameter
136[warn] -- [E198] Unused Symbol Warning: /build/repo/src/main/scala/com/greenfossil/data/mapping/HtmlSanitizer.scala:47:5
137[warn] 47 | (elementName: String, attributeName: String, value: String) => {
138[warn] | ^^^^^^^^^^^
139[warn] | unused explicit parameter
140[warn] -- [E198] Unused Symbol Warning: /build/repo/src/main/scala/com/greenfossil/data/mapping/HtmlSanitizer.scala:47:26
141[warn] 47 | (elementName: String, attributeName: String, value: String) => {
142[warn] | ^^^^^^^^^^^^^
143[warn] | unused explicit parameter
144[warn] four warnings found
145[info] done compiling
146[info] compiling 29 Scala sources to /build/repo/target/scala-3.8.0/test-classes ...
147[warn] -- [E198] Unused Symbol Warning: /build/repo/src/test/scala/com/greenfossil/data/mapping/MappingConstraintsSuite.scala:19:22
148[warn] 19 |import org.owasp.html.Encoding
149[warn] | ^^^^^^^^
150[warn] | unused import
151[warn] one warning found
152[info] done compiling
153com.greenfossil.data.mapping.MappingBind7_IgnoredMappingSuite:
154 + ignored 0.08s
155 + ignored with None as default 0.007s
156 + bind to ignored[Map] 0.001s
157com.greenfossil.data.mapping.MappingFillSuite:
158 + int 0.072s
159 + string 0.001s
160 + long 0.001s
161 + double 0.0s
162 + float 0.001s
163 + boolean 0.001s
164 + local date 0.003s
165 + local time 0.004s
166 + local date time 0.005s
167 + sql date 0.007s
168 + sql time stamp 0.001s
169 + uuid 0.007s
170 + byte 0.001s
171 + short 0.001s
172 + big decimal 0.007s
173 + char 0.001s
174 + year month type 0.001s
175 + LocalDate with pattern field 0.012s
176 + seq 0.008s
177com.greenfossil.data.mapping.MappingBind6_DefaultMappingSuite:
178 + default String type 0.327s
179 + default number 0.014s
180 + default BigDecimal type 0.016s
181 + default type with fill null 0.0s
182 + default string null 0.001s
183com.greenfossil.data.mapping.MappingErrorSuite:
184 + Field errors 0.496s
185 + Form.withError 0.008s
186 + Form.globalErrors 0.008s
187 + Form.globalErrors with single field 0.002s
188 + Form.discardingErrors 0.007s
189com.greenfossil.data.mapping.MappingBind8_CheckedMappingSuite:
190 + checked type 0.017s
191 + invalid default, checked type 0.003s
192 + valid default, checked type 0.003s
193com.greenfossil.data.mapping.MappingCaseClassBindNameSuite:
194 + case class Form - field-based verify 0.373s
195 + case class Form - form-based verifying success 0.002s
196 + case class Form - form-based verifying failure 0.01s
197 + form seq binding with verifying 0.015s
198com.greenfossil.data.mapping.LargeTupleSuite:
199 + large case class 0.0s
200com.greenfossil.data.mapping.MappingBind1_FieldMappingSuite:
201 + string 0.002s
202 + int 0.002s
203 + long 0.001s
204 + double 0.001s
205 + float 0.0s
206 + boolean 0.002s
207 + boolean's binding value 0.003s
208 + local date 0.004s
209 + local time 0.018s
210 + local date time 0.005s
211 + sql date 0.004s
212 + sql time stamp 0.001s
213 + uuid 0.022s
214 + byte 0.001s
215 + short 0.001s
216 + big decimal 0.004s
217 + char 0.005s
218 + year month type 0.033s
219 + LocalDate with pattern field 0.001s
220 + Bind error 0.001s
221com.greenfossil.data.mapping.MappingConversionSuite:
222 + Convert Mapping[Seq[(String, Int)] to Seq[Mapping[(String,Int)]] 0.001s
223com.greenfossil.data.mapping.MappingBind4_SeqMappingSuite:
224 + Seq[Int] 0.012s
225 + List[Int] 0.001s
226 + Seq[String] 0.005s
227 + List[String] 0.001s
228 + Seq[Mapping] 0.012s
229 + bind with errors 0.002s
230 + repeated with no [] 0.028s
231 + repeated with path with no [] 0.002s
232 + repeated tuples 0.004s
233 + repeated with same index [] 0.0s
234 + repeated with empty index [] 0.004s
235 + boundFieldsWithPadding with Int 0.025s
236 + boundFieldsWithPadding with tuple 0.018s
237 + seq inside a repeatedTuple 0.002s
238com.greenfossil.data.mapping.MappingBind2_ProductMappingSuite:
239 + unnamed tuple 0.005s
240 + Tuple Mapping 2 Fields 0.009s
241 + CaseClass Mapping 2 fields 0.006s
242 + bind tuple 2 0.011s
243 + bind tuple 3 0.002s
244 + valid bind and fold 0.002s
245 + invalid bind and fold 0.007s
246 + bind tuple 1 0.001s
247 + case class Form - field-based verify 0.005s
248 + case class Form - form-based verifying success 0.002s
249 + case class Form - form-based verifying failure 0.001s
250 + form verifying 0.005s
251 + form seq binding with verifying 0.006s
252 + tuple with both error field and bound field 0.001s
253 + tuple with verifying 0.005s
254 + case class mapping 0.024s
255com.greenfossil.data.mapping.MappingConstructionSuite:
256 + Text 0.001s
257 + TextAs 0.001s
258 + NonEmptyText 0.0s
259 + Int 0.0s
260 + Long 0.001s
261 + Double 0.0s
262 + Boolean 0.0s
263 + Float 0.0s
264 + LocalDateTime 0.0s
265 + LocalDate 0.0s
266 + LocalTime 0.001s
267 + YearMonth 0.0s
268 + SqlTimestamp 0.0s
269 + SqlDate 0.0s
270 + Date 0.0s
271 + UUID 0.001s
272 + Byte 0.0s
273 + Short 0.0s
274 + BigDecimal 0.0s
275 + Char 0.0s
276 + Phone 0.001s
277 + Email 0.0s
278 + MobilePhone 0.0s
279 + Default 0.0s
280 + Default Int 0.001s
281 + Default Long 0.0s
282 + Default Boolean 0.001s
283 + Optional 0.0s
284 + Checked 0.0s
285 + Filled Int 0.0s
286 + Tuple[Tuple2] 0.002s
287 + Mapping[Address] 0.016s
288 + Option[Int] 0.006s
289 + Option[P-] 0.0s
290 + Tuple[Option's delegate - Tuple] 0.0s
291 + Option[P+] 0.001s
292 + Mapping[Option's delegate - Product] 0.0s
293 + Seq[Int] 0.001s
294 + Seq[String] 0.0s
295 + Seq[P-] 0.0s
296 + Tuple[SeqMapping's element - Tuple] 0.0s
297 + Seq[P+] 0.001s
298 + Mapping[Address]-1 0.0s
299com.greenfossil.data.mapping.MiscSuite:
300 + resource-booking-mapping 0.009s
301 + LocalTime 0.002s
302com.greenfossil.data.mapping.SampleMappingSuite:
303 + required string 0.007s
304 + optional string 0.005s
305 + required temporal 0.009s
306com.greenfossil.data.mapping.FormNestedFieldsSuite:
307 + bind case-class field 0.006s
308 + bind nested case-class 0.007s
309 + bind repeating case class field 0.006s
310 + bind tuple field 0.007s
311 + bind repeat tuple field 0.004s
312com.greenfossil.data.mapping.MappingBind1_FieldMapping_HtmlSuite:
313 + html 0.002s
314 + html - script-tag 0.307s
315 + html - on-event attribute 0.014s
316 + html - src attribute 0.024s
317 + html - Dom purify samples 0.017s
318 + html - encoding/obfuscation bypasses 0.033s
319 + html - Clean html and should not remove any text 0.007s
320 + Unclosed script tag 0.013s
321 + Bind with a different name 0.002s
322com.greenfossil.data.mapping.LargeCaseClassMappingSuite:
323 + large case class 0.012s
324com.greenfossil.data.mapping.MappingSuite:
325 + verifying 0.005s
326 + no such key 0.002s
327com.greenfossil.data.mapping.MappingConstraintsSuite:
328 + nonEmptyText 0.483s
329 + email constraints 0.193s
330 + email 0.001s
331 + phone 0.021s
332 + mobilePhone 0.002s
333 + number 0.009s
334 + text with trim option 0.009s
335 + text without trim option 0.006s
336 + byte number 0.005s
337 + short number 0.008s
338 + long number 0.013s
339 + big decimal 0.001s
340 + custom constraint 0.003s
341 + Positive XSS Constraint 0.166s
342 + negative XSS Constraint 0.019s
343 + HtmlSanitizer.isXssSafe 0.082s
344 + HtmlSanitizer.isXssUnsafe 0.032s
345com.greenfossil.data.mapping.MappingBind2_ProductMappingJsonSuite:
346 + Json nested tuple fields 0.206s
347 + Json nested tuple optional fields 0.037s
348 + Json nested tuple optional fields 2 0.036s
349 + bind as JSON 0.022s
350 + case class 3 0.024s
351 + bind as JSON: JsObject to tuple 0.014s
352 + bind as JSON: JsArray to repeatedTuple 0.015s
353 + bind as JSON: JsArray to seq[String] 0.002s
354 + bind from json with optional fields 0.011s
355com.greenfossil.data.mapping.OptionalMappingSuite:
356 + Optional mapping with single field 0.001s
357 + Optional mapping with single field 2 0.001s
358com.greenfossil.data.mapping.FormFillSuite:
359 + tuple 2 0.002s
360 + fill tuple 0.002s
361 + bind tuple 3 0.001s
362 + case class 2 0.003s
363 + case class 3 0.005s
364 + valid form fill 0.001s
365com.greenfossil.data.mapping.MappingBugSuite:
366 + filled in form should not have errors 0.001s
367 + fill form for delegate mapping should not have errors 0.009s
368 + fill form for product mapping should not have errors 0.005s
369 + fill form for seq[Long] should not have errors 0.0s
370 + nonEmptyText verifying constraints 0.014s
371 + bind FieldMapping.apply(...) with text.bindname 0.009s
372 + get constraints and errors from form 0.012s
373 + tuple mapping of required text 0.009s
374 + case class Name mapping of required text 0.009s
375 + SeqMapping.boundFieldsWithPadding should retain field count on error 0.002s
376 + SeqMapping.boundValueIndexes should show the correct value even if the form binding has errors 0.006s
377com.greenfossil.data.mapping.MappingModifierSuite:
378 + set field name 0.001s
379 + set tuple field name 0.0s
380 + set mapping field name 0.001s
381 + seq field name 0.001s
382com.greenfossil.data.mapping.MappingBind2_ProductMappingJson_HtmlSuite:
383 + Json nested tuple fields 0.032s
384 + case class 3 0.05s
385 + bind as JSON: JsArray to repeatedTuple 0.021s
386com.greenfossil.data.mapping.HtmlSanitizerSuite:
387 + HtmlSanitizer.sanitizeWithFeedback - null input 0.005s
388 + HtmlSanitizer.sanitizeWithFeedback - safe input (no XSS) 0.006s
389 + HtmlSanitizer.sanitizeWithFeedback - safe mixed HTML and text 0.002s
390 + HtmlSanitizer.sanitizeWithFeedback - script tag detected 0.014s
391 + HtmlSanitizer.sanitizeWithFeedback - script with src 0.018s
392 + HtmlSanitizer.sanitizeWithFeedback - onerror event handler 0.0s
393 + HtmlSanitizer.sanitizeWithFeedback - onload event handler 0.001s
394 + HtmlSanitizer.sanitizeWithFeedback - javascript: in src attribute 0.0s
395 + HtmlSanitizer.sanitizeWithFeedback - javascript: mixed case 0.001s
396 + HtmlSanitizer.sanitizeWithFeedback - percent-encoded javascript 0.005s
397 + HtmlSanitizer.sanitizeWithFeedback - hex entity encoded javascript 0.005s
398 + HtmlSanitizer.sanitizeWithFeedback - decimal entity encoded javascript 0.001s
399 + HtmlSanitizer.sanitizeWithFeedback - comment obfuscation 0.005s
400 + HtmlSanitizer.sanitizeWithFeedback - data URI with base64 script 0.004s
401 + HtmlSanitizer.sanitizeWithFeedback - onmouseover event 0.0s
402 + HtmlSanitizer.sanitizeWithFeedback - multiple XSS vectors 0.003s
403 + HtmlSanitizer.sanitizeWithFeedback - allowed link with safe href 0.002s
404 + HtmlSanitizer.sanitizeWithFeedback - img with safe src 0.005s
405 + HtmlSanitizer.sanitizeWithFeedback - disallowed element 0.002s
406 + HtmlSanitizer.sanitizeWithFeedback - custom wrapper tag 0.004s
407 + HtmlSanitizer.sanitizeWithFeedback - custom wrapper class 0.001s
408 + HtmlSanitizer.sanitizeWithFeedback - empty string 0.001s
409 + HtmlSanitizer.sanitizeWithFeedback - whitespace only 0.0s
410 + HtmlSanitizer.sanitizeWithFeedback - JSON object (false positive prevention) 0.016s
411 + HtmlSanitizer.sanitizeWithFeedback - JSON array (false positive prevention) 0.001s
412 + HtmlSanitizer.sanitizeWithFeedback - JSON with HTML-like content 0.005s
413 + HtmlSanitizer.sanitizeWithFeedback - plain text with no HTML markers 0.0s
414 + HtmlSanitizer.sanitizeWithFeedback - plain text with HTML-like string but no angle brackets 0.001s
415 + HtmlSanitizer.sanitizeWithFeedback - iframe disallowed 0.002s
416 + HtmlSanitizer.sanitizeWithFeedback - form disallowed 0.02s
417 + HtmlSanitizer.sanitizeWithFeedback - onclick event on allowed element 0.0s
418 + HtmlSanitizer.sanitizeWithFeedback - inline style is allowed 0.002s
419 + HtmlSanitizer.sanitizeWithFeedback - escaped HTML entities as input 0.0s
420 + HtmlSanitizer.sanitizeWithFeedback - mixed safe and unsafe elements 0.002s
421 + HtmlSanitizer.sanitizeWithFeedback - deeply nested allowed elements 0.004s
422 + HtmlSanitizer.sanitizeWithFeedback - escaped special characters in payload 0.001s
423 + HtmlSanitizer.sanitizeWithFeedback - multiple event handlers 0.0s
424 + HtmlSanitizer.sanitizeWithFeedback - tab character in obfuscation 0.005s
425 + HtmlSanitizer.sanitizeWithFeedback - newline in obfuscation 0.003s
426 + HtmlSanitizer.sanitizeWithFeedback - vbscript protocol 0.0s
427 + HtmlSanitizer.sanitizeWithFeedback - malformed HTML with XSS 0.0s
428 + HtmlSanitizer.sanitizeWithFeedback - SVG with onload 0.001s
429 + HtmlSanitizer.sanitizeWithFeedback - MathML with xlink 0.0s
430 + HtmlSanitizer.sanitizeWithFeedback - escaped wrapper tag and class in payload 0.001s
431 + HtmlSanitizer.sanitizeWithFeedback - large payload 0.013s
432 + HtmlSanitizer.sanitizeWithFeedback - with comment out 0.005s
433com.greenfossil.data.mapping.MappingBind5_TransformMappingSuite:
434 + transform 0.006s
435 + fill form handles null 0.013s
436 + transform mapping from optional string to Seq[String] 0.007s
437 + transform mapping from optional string to Seq[String]-1 0.014s
438 + mapping to case class with transform 0.004s
439 + TransformMapping 0.002s
440 + TransformMapping bind - optional field 0.003s
441 + TransformMapping - required text to Option 0.014s
442 + test bind,fold with transform mapping using default 0.003s
443 + bind and fold with transform to case class with transform using default 0.009s
444 + fill in transform field 0.006s
445 + bind with JSON with transform 0.007s
446com.greenfossil.data.mapping.ProductMappingPathAccessSuite:
447 + 2 level nested named tuple 0.001s
448 + 2 level nested named tuple, parent child with same name 0.002s
449 + 2 level nested anonymous tuple, parent child with same name 0.003s
450 + fill 2 level nesting field 0.006s
451 + accessing inner value of repeated tuple 0.023s
452 + Transformation fill - Option[Name] 0.008s
453 + fill - named tuple in anonymous tuple 0.011s
454 + Bind field Seq[Tuple] 0.019s
455 + 2 level nested unnamed tuple 0.001s
456 + Tuple[Seq[Tuple]] 0.008s
457com.greenfossil.data.mapping.MappingBind3_OptionalMappingSuite:
458 + Json nested tuple fields 0.012s
459 + optional string 0.01s
460 + optional int 0.009s
461 + fill form for optional(long) should not have errors 0.004s
462 + optional 0.002s
463 + optional with constraints 0.001s
464 + Option[Int] 0.007s
465 + Option[String] 0.001s
466 + Option(text) 0.005s
467 + Option[Tuple] 0.001s
468 + Option[Mapping] 0.002s
469 + 2 levels optional mapping with value 0.007s
470 + 2 levels optional mapping without value 0.002s
471 + top level optional mapping, inner level repeatMapping with values 0.003s
472 + top level optional mapping, inner level repeatMapping without values 0.002s
473 + form optional binding with verifying 0.005s
474 + form optional binding with verifying 2 0.005s
475 + bind tuple 1 optional[String] 0.001s
476 + bind optional[String] 0.007s
477 + bind optional(text) 0.007s
478 + bind optional with no value 0.015s
479 + bind tuple 4 - longnumber 0.002s
480 + Json optional nested tuple fields 0.038s
481 + Json optional nested tuple fields with no values 0.013s
482 + Json optional nested mapping fields with values 0.016s
483 + Json optional nested mapping fields with no values 0.007s
484 + optional fields should allow empty 0.007s
485 + optional field can use fold 0.003s
486 + tuple with optional inner field 0.003s
487 + fill optional number field 0.001s
488 + bind optional number field 0.001s
489 + fill optional nonEmptyText 0.004s
490 + bind optional nonEmptyText 0.003s
491 + bind optional(localdatetimeusing()) 0.003s
492 + bind optional(email) 0.004s
493 + bind ProductMapping.apply(...) with optional(text).bindname 0.011s
494 + tuple mapping of optional text 0.002s
495 + case class Name mapping of optional text 0.005s
496 + case class Name mapping of optional text with verify 0.004s
497 + mapping of optional text 0.002s
498 + error messages from field 0.005s
499 + optionalTuple 0.005s
500 + optionalTuple with optional(longNumber) and verifying 0.009s
501 + optionalTuple with boolean 0.002s
502 + optional verifying 0.003s
503 + optional phone 0.002s
504
505************************
506Build summary:
507[{
508 "module": "data-mapping",
509 "compile": {"status": "ok", "tookMs": 10668, "warnings": 4, "errors": 0, "sourceVersion": "3.3"},
510 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
511 "test-compile": {"status": "ok", "tookMs": 14231, "warnings": 1, "errors": 0, "sourceVersion": "3.3"},
512 "test": {"status": "ok", "tookMs": 1877, "passed": 322, "failed": 0, "ignored": 0, "skipped": 0, "total": 322, "byFramework": [{"framework": "munit", "stats": {"passed": 322, "failed": 0, "ignored": 0, "skipped": 0, "total": 322}}]},
513 "publish": {"status": "skipped", "tookMs": 0},
514 "metadata": {
515 "crossScalaVersions": ["2.12.20", "3.7.1"]
516}
517}]
518************************
519[success] Total time: 29 s, completed Jan 13, 2026, 3:39:58 PM
520[0JChecking patch project/plugins.sbt...
521Checking patch build.sbt...
522Applied patch project/plugins.sbt cleanly.
523Applied patch build.sbt cleanly.