Build Logs
greenfossil/data-mapping • 3.8.0-RC6:2026-01-08
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-RC6
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-RC6"
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-RC6
42Execute tests: true
43sbt project found:
44No prepare script found for project greenfossil/data-mapping
45##################################
46Scala version: 3.8.0-RC6
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-RC6
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-RC6"
68"++3.8.0-RC6 -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-RC6 """{"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.806s.
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-RC6
88OpenCB::Changing crossVersion 3.8.0-RC6 -> 3.8.0-RC6 in dataMapping/crossScalaVersions
89OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.8.0-RC6) 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-RC6 on 1 projects.
92[info] Switching Scala version on:
93[info] * dataMapping (3.8.0-RC6)
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 8, 2026, 2:06:17 AM
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-RC6/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-RC6/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.MiscSuite:
154 + resource-booking-mapping 0.021s
155 + LocalTime 0.032s
156com.greenfossil.data.mapping.MappingConstructionSuite:
157 + Text 0.035s
158 + TextAs 0.0s
159 + NonEmptyText 0.002s
160 + Int 0.0s
161 + Long 0.0s
162 + Double 0.003s
163 + Boolean 0.0s
164 + Float 0.001s
165 + LocalDateTime 0.0s
166 + LocalDate 0.0s
167 + LocalTime 0.001s
168 + YearMonth 0.0s
169 + SqlTimestamp 0.001s
170 + SqlDate 0.0s
171 + Date 0.001s
172 + UUID 0.0s
173 + Byte 0.001s
174 + Short 0.0s
175 + BigDecimal 0.001s
176 + Char 0.0s
177 + Phone 0.001s
178 + Email 0.0s
179 + MobilePhone 0.0s
180 + Default 0.001s
181 + Default Int 0.0s
182 + Default Long 0.001s
183 + Default Boolean 0.0s
184 + Optional 0.0s
185 + Checked 0.003s
186 + Filled Int 0.0s
187 + Tuple[Tuple2] 0.006s
188 + Mapping[Address] 0.005s
189 + Option[Int] 0.0s
190 + Option[P-] 0.001s
191 + Tuple[Option's delegate - Tuple] 0.0s
192 + Option[P+] 0.001s
193 + Mapping[Option's delegate - Product] 0.0s
194 + Seq[Int] 0.002s
195 + Seq[String] 0.0s
196 + Seq[P-] 0.0s
197 + Tuple[SeqMapping's element - Tuple] 0.002s
198 + Seq[P+] 0.002s
199 + Mapping[Address]-1 0.0s
200com.greenfossil.data.mapping.FormFillSuite:
201 + tuple 2 0.007s
202 + fill tuple 0.023s
203 + bind tuple 3 0.01s
204 + case class 2 0.01s
205 + case class 3 0.008s
206 + valid form fill 0.01s
207com.greenfossil.data.mapping.MappingErrorSuite:
208 + Field errors 0.539s
209 + Form.withError 0.001s
210 + Form.globalErrors 0.004s
211 + Form.globalErrors with single field 0.002s
212 + Form.discardingErrors 0.009s
213com.greenfossil.data.mapping.MappingCaseClassBindNameSuite:
214 + case class Form - field-based verify 0.002s
215 + case class Form - form-based verifying success 0.002s
216 + case class Form - form-based verifying failure 0.001s
217 + form seq binding with verifying 0.007s
218com.greenfossil.data.mapping.MappingBugSuite:
219 + filled in form should not have errors 0.016s
220 + fill form for delegate mapping should not have errors 0.001s
221 + fill form for product mapping should not have errors 0.019s
222 + fill form for seq[Long] should not have errors 0.001s
223 + nonEmptyText verifying constraints 0.506s
224 + bind FieldMapping.apply(...) with text.bindname 0.008s
225 + get constraints and errors from form 0.01s
226 + tuple mapping of required text 0.011s
227 + case class Name mapping of required text 0.002s
228 + SeqMapping.boundFieldsWithPadding should retain field count on error 0.022s
229 + SeqMapping.boundValueIndexes should show the correct value even if the form binding has errors 0.003s
230com.greenfossil.data.mapping.MappingBind7_IgnoredMappingSuite:
231 + ignored 0.003s
232 + ignored with None as default 0.005s
233 + bind to ignored[Map] 0.001s
234com.greenfossil.data.mapping.MappingBind5_TransformMappingSuite:
235 + transform 0.039s
236 + fill form handles null 0.003s
237 + transform mapping from optional string to Seq[String] 0.267s
238 + transform mapping from optional string to Seq[String]-1 0.01s
239 + mapping to case class with transform 0.02s
240 + TransformMapping 0.006s
241 + TransformMapping bind - optional field 0.005s
242 + TransformMapping - required text to Option 0.007s
243 + test bind,fold with transform mapping using default 0.008s
244 + bind and fold with transform to case class with transform using default 0.014s
245 + fill in transform field 0.008s
246 + bind with JSON with transform 0.016s
247com.greenfossil.data.mapping.MappingBind4_SeqMappingSuite:
248 + Seq[Int] 0.005s
249 + List[Int] 0.001s
250 + Seq[String] 0.001s
251 + List[String] 0.005s
252 + Seq[Mapping] 0.007s
253 + bind with errors 0.002s
254 + repeated with no [] 0.008s
255 + repeated with path with no [] 0.005s
256 + repeated tuples 0.002s
257 + repeated with same index [] 0.0s
258 + repeated with empty index [] 0.002s
259 + boundFieldsWithPadding with Int 0.004s
260 + boundFieldsWithPadding with tuple 0.008s
261 + seq inside a repeatedTuple 0.001s
262com.greenfossil.data.mapping.LargeTupleSuite:
263 + large case class 0.0s
264com.greenfossil.data.mapping.MappingBind6_DefaultMappingSuite:
265 + default String type 0.007s
266 + default number 0.002s
267 + default BigDecimal type 0.01s
268 + default type with fill null 0.0s
269 + default string null 0.001s
270com.greenfossil.data.mapping.MappingBind2_ProductMappingSuite:
271 + unnamed tuple 0.003s
272 + Tuple Mapping 2 Fields 0.004s
273 + CaseClass Mapping 2 fields 0.007s
274 + bind tuple 2 0.004s
275 + bind tuple 3 0.001s
276 + valid bind and fold 0.004s
277 + invalid bind and fold 0.006s
278 + bind tuple 1 0.001s
279 + case class Form - field-based verify 0.006s
280 + case class Form - form-based verifying success 0.002s
281 + case class Form - form-based verifying failure 0.001s
282 + form verifying 0.002s
283 + form seq binding with verifying 0.005s
284 + tuple with both error field and bound field 0.001s
285 + tuple with verifying 0.005s
286 + case class mapping 0.01s
287com.greenfossil.data.mapping.MappingBind8_CheckedMappingSuite:
288 + checked type 0.007s
289 + invalid default, checked type 0.005s
290 + valid default, checked type 0.006s
291com.greenfossil.data.mapping.SampleMappingSuite:
292 + required string 0.003s
293 + optional string 0.006s
294 + required temporal 0.006s
295com.greenfossil.data.mapping.MappingBind2_ProductMappingJson_HtmlSuite:
296 + Json nested tuple fields 0.068s
297 + case class 3 0.066s
298 + bind as JSON: JsArray to repeatedTuple 0.019s
299com.greenfossil.data.mapping.MappingBind2_ProductMappingJsonSuite:
300 + Json nested tuple fields 0.007s
301 + Json nested tuple optional fields 0.027s
302 + Json nested tuple optional fields 2 0.02s
303 + bind as JSON 0.031s
304 + case class 3 0.017s
305 + bind as JSON: JsObject to tuple 0.015s
306 + bind as JSON: JsArray to repeatedTuple 0.017s
307 + bind as JSON: JsArray to seq[String] 0.004s
308 + bind from json with optional fields 0.003s
309com.greenfossil.data.mapping.MappingBind1_FieldMapping_HtmlSuite:
310 + html 0.01s
311 + html - script-tag 0.19s
312 + html - on-event attribute 0.011s
313 + html - src attribute 0.019s
314 + html - Dom purify samples 0.028s
315 + html - encoding/obfuscation bypasses 0.028s
316 + html - Clean html and should not remove any text 0.008s
317 + Unclosed script tag 0.013s
318 + Bind with a different name 0.001s
319com.greenfossil.data.mapping.MappingFillSuite:
320 + int 0.001s
321 + string 0.0s
322 + long 0.001s
323 + double 0.0s
324 + float 0.001s
325 + boolean 0.001s
326 + local date 0.0s
327 + local time 0.005s
328 + local date time 0.001s
329 + sql date 0.002s
330 + sql time stamp 0.001s
331 + uuid 0.001s
332 + byte 0.001s
333 + short 0.0s
334 + big decimal 0.001s
335 + char 0.0s
336 + year month type 0.005s
337 + LocalDate with pattern field 0.013s
338 + seq 0.006s
339com.greenfossil.data.mapping.LargeCaseClassMappingSuite:
340 + large case class 0.015s
341com.greenfossil.data.mapping.MappingBind3_OptionalMappingSuite:
342 + Json nested tuple fields 0.458s
343 + optional string 0.004s
344 + optional int 0.008s
345 + fill form for optional(long) should not have errors 0.001s
346 + optional 0.0s
347 + optional with constraints 0.002s
348 + Option[Int] 0.001s
349 + Option[String] 0.002s
350 + Option(text) 0.004s
351 + Option[Tuple] 0.004s
352 + Option[Mapping] 0.005s
353 + 2 levels optional mapping with value 0.004s
354 + 2 levels optional mapping without value 0.012s
355 + top level optional mapping, inner level repeatMapping with values 0.004s
356 + top level optional mapping, inner level repeatMapping without values 0.003s
357 + form optional binding with verifying 0.002s
358 + form optional binding with verifying 2 0.002s
359 + bind tuple 1 optional[String] 0.004s
360 + bind optional[String] 0.001s
361 + bind optional(text) 0.004s
362 + bind optional with no value 0.003s
363 + bind tuple 4 - longnumber 0.002s
364 + Json optional nested tuple fields 0.019s
365 + Json optional nested tuple fields with no values 0.01s
366 + Json optional nested mapping fields with values 0.013s
367 + Json optional nested mapping fields with no values 0.013s
368 + optional fields should allow empty 0.002s
369 + optional field can use fold 0.002s
370 + tuple with optional inner field 0.002s
371 + fill optional number field 0.001s
372 + bind optional number field 0.001s
373 + fill optional nonEmptyText 0.001s
374 + bind optional nonEmptyText 0.003s
375 + bind optional(localdatetimeusing()) 0.003s
376 + bind optional(email) 0.128s
377 + bind ProductMapping.apply(...) with optional(text).bindname 0.006s
378 + tuple mapping of optional text 0.006s
379 + case class Name mapping of optional text 0.001s
380 + case class Name mapping of optional text with verify 0.007s
381 + mapping of optional text 0.001s
382 + error messages from field 0.02s
383 + optionalTuple 0.008s
384 + optionalTuple with optional(longNumber) and verifying 0.007s
385 + optionalTuple with boolean 0.005s
386 + optional verifying 0.009s
387 + optional phone 0.004s
388com.greenfossil.data.mapping.MappingConversionSuite:
389 + Convert Mapping[Seq[(String, Int)] to Seq[Mapping[(String,Int)]] 0.001s
390com.greenfossil.data.mapping.MappingBind1_FieldMappingSuite:
391 + string 0.002s
392 + int 0.004s
393 + long 0.001s
394 + double 0.0s
395 + float 0.005s
396 + boolean 0.001s
397 + boolean's binding value 0.009s
398 + local date 0.0s
399 + local time 0.003s
400 + local date time 0.002s
401 + sql date 0.009s
402 + sql time stamp 0.002s
403 + uuid 0.001s
404 + byte 0.001s
405 + short 0.0s
406 + big decimal 0.002s
407 + char 0.009s
408 + year month type 0.003s
409 + LocalDate with pattern field 0.0s
410 + Bind error 0.001s
411com.greenfossil.data.mapping.MappingModifierSuite:
412 + set field name 0.003s
413 + set tuple field name 0.0s
414 + set mapping field name 0.004s
415 + seq field name 0.0s
416com.greenfossil.data.mapping.FormNestedFieldsSuite:
417 + bind case-class field 0.005s
418 + bind nested case-class 0.006s
419 + bind repeating case class field 0.004s
420 + bind tuple field 0.009s
421 + bind repeat tuple field 0.005s
422com.greenfossil.data.mapping.OptionalMappingSuite:
423 + Optional mapping with single field 0.0s
424 + Optional mapping with single field 2 0.001s
425com.greenfossil.data.mapping.MappingSuite:
426 + verifying 0.001s
427 + no such key 0.001s
428com.greenfossil.data.mapping.MappingConstraintsSuite:
429 + nonEmptyText 0.006s
430 + email constraints 0.002s
431 + email 0.004s
432 + phone 0.004s
433 + mobilePhone 0.006s
434 + number 0.001s
435 + text with trim option 0.008s
436 + text without trim option 0.002s
437 + byte number 0.004s
438 + short number 0.005s
439 + long number 0.003s
440 + big decimal 0.001s
441 + custom constraint 0.001s
442 + Positive XSS Constraint 0.026s
443 + negative XSS Constraint 0.006s
444 + HtmlSanitizer.isXssSafe 0.036s
445 + HtmlSanitizer.isXssUnsafe 0.018s
446com.greenfossil.data.mapping.ProductMappingPathAccessSuite:
447 + 2 level nested named tuple 0.003s
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.006s
450 + fill 2 level nesting field 0.01s
451 + accessing inner value of repeated tuple 0.017s
452 + Transformation fill - Option[Name] 0.009s
453 + fill - named tuple in anonymous tuple 0.018s
454 + Bind field Seq[Tuple] 0.027s
455 + 2 level nested unnamed tuple 0.001s
456 + Tuple[Seq[Tuple]] 0.011s
457com.greenfossil.data.mapping.HtmlSanitizerSuite:
458 + HtmlSanitizer.sanitizeWithFeedback - null input 0.001s
459 + HtmlSanitizer.sanitizeWithFeedback - safe input (no XSS) 0.009s
460 + HtmlSanitizer.sanitizeWithFeedback - safe mixed HTML and text 0.004s
461 + HtmlSanitizer.sanitizeWithFeedback - script tag detected 0.016s
462 + HtmlSanitizer.sanitizeWithFeedback - script with src 0.001s
463 + HtmlSanitizer.sanitizeWithFeedback - onerror event handler 0.004s
464 + HtmlSanitizer.sanitizeWithFeedback - onload event handler 0.0s
465 + HtmlSanitizer.sanitizeWithFeedback - javascript: in src attribute 0.001s
466 + HtmlSanitizer.sanitizeWithFeedback - javascript: mixed case 0.001s
467 + HtmlSanitizer.sanitizeWithFeedback - percent-encoded javascript 0.001s
468 + HtmlSanitizer.sanitizeWithFeedback - hex entity encoded javascript 0.004s
469 + HtmlSanitizer.sanitizeWithFeedback - decimal entity encoded javascript 0.002s
470 + HtmlSanitizer.sanitizeWithFeedback - comment obfuscation 0.005s
471 + HtmlSanitizer.sanitizeWithFeedback - data URI with base64 script 0.001s
472 + HtmlSanitizer.sanitizeWithFeedback - onmouseover event 0.001s
473 + HtmlSanitizer.sanitizeWithFeedback - multiple XSS vectors 0.0s
474 + HtmlSanitizer.sanitizeWithFeedback - allowed link with safe href 0.002s
475 + HtmlSanitizer.sanitizeWithFeedback - img with safe src 0.002s
476 + HtmlSanitizer.sanitizeWithFeedback - disallowed element 0.004s
477 + HtmlSanitizer.sanitizeWithFeedback - custom wrapper tag 0.001s
478 + HtmlSanitizer.sanitizeWithFeedback - custom wrapper class 0.007s
479 + HtmlSanitizer.sanitizeWithFeedback - empty string 0.0s
480 + HtmlSanitizer.sanitizeWithFeedback - whitespace only 0.001s
481 + HtmlSanitizer.sanitizeWithFeedback - JSON object (false positive prevention) 0.001s
482 + HtmlSanitizer.sanitizeWithFeedback - JSON array (false positive prevention) 0.0s
483 + HtmlSanitizer.sanitizeWithFeedback - JSON with HTML-like content 0.002s
484 + HtmlSanitizer.sanitizeWithFeedback - plain text with no HTML markers 0.002s
485 + HtmlSanitizer.sanitizeWithFeedback - plain text with HTML-like string but no angle brackets 0.0s
486 + HtmlSanitizer.sanitizeWithFeedback - iframe disallowed 0.001s
487 + HtmlSanitizer.sanitizeWithFeedback - form disallowed 0.009s
488 + HtmlSanitizer.sanitizeWithFeedback - onclick event on allowed element 0.0s
489 + HtmlSanitizer.sanitizeWithFeedback - inline style is allowed 0.001s
490 + HtmlSanitizer.sanitizeWithFeedback - escaped HTML entities as input 0.001s
491 + HtmlSanitizer.sanitizeWithFeedback - mixed safe and unsafe elements 0.004s
492 + HtmlSanitizer.sanitizeWithFeedback - deeply nested allowed elements 0.002s
493 + HtmlSanitizer.sanitizeWithFeedback - escaped special characters in payload 0.0s
494 + HtmlSanitizer.sanitizeWithFeedback - multiple event handlers 0.001s
495 + HtmlSanitizer.sanitizeWithFeedback - tab character in obfuscation 0.001s
496 + HtmlSanitizer.sanitizeWithFeedback - newline in obfuscation 0.008s
497 + HtmlSanitizer.sanitizeWithFeedback - vbscript protocol 0.001s
498 + HtmlSanitizer.sanitizeWithFeedback - malformed HTML with XSS 0.0s
499 + HtmlSanitizer.sanitizeWithFeedback - SVG with onload 0.0s
500 + HtmlSanitizer.sanitizeWithFeedback - MathML with xlink 0.0s
501 + HtmlSanitizer.sanitizeWithFeedback - escaped wrapper tag and class in payload 0.0s
502 + HtmlSanitizer.sanitizeWithFeedback - large payload 0.005s
503 + HtmlSanitizer.sanitizeWithFeedback - with comment out 0.001s
504
505************************
506Build summary:
507[{
508 "module": "data-mapping",
509 "compile": {"status": "ok", "tookMs": 10749, "warnings": 4, "errors": 0, "sourceVersion": "3.3"},
510 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
511 "test-compile": {"status": "ok", "tookMs": 14107, "warnings": 1, "errors": 0, "sourceVersion": "3.3"},
512 "test": {"status": "ok", "tookMs": 1645, "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 8, 2026, 2:06:46 AM
520[0JChecking patch project/plugins.sbt...
521Checking patch build.sbt...
522Applied patch project/plugins.sbt cleanly.
523Applied patch build.sbt cleanly.