Build Logs
arturopala/validator • 3.8.0:2026-01-13
Errors
0
Warnings
20
Total Lines
264
1##################################
2Clonning https://github.com/arturopala/validator.git into /build/repo using revision v0.23.0
3##################################
4Note: switching to '7c391c47cc30356ca1d3fbfe1ef13adcbffb14b4'.
5
6You are in 'detached HEAD' state. You can look around, make experimental
7changes and commit them, and you can discard any commits you make in this
8state without impacting any branches by switching back to a branch.
9
10If you want to create a new branch to retain commits you create, you may
11do so (now or later) by using -c with the switch command. Example:
12
13 git switch -c <new-branch-name>
14
15Or undo this operation with:
16
17 git switch -
18
19Turn off this advice by setting config variable advice.detachedHead to false
20
21Would override fixed Scala version: 3.3.1
22----
23Preparing build for 3.8.0
24Scala binary version found: 3.8
25Implicitly using source version 3.8
26Scala binary version found: 3.8
27Implicitly using source version 3.8
28Would try to apply common scalacOption (best-effort, sbt/mill only):
29Append: ,REQUIRE:-source:3.8
30Remove: ,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
31
32Try apply source patch:
33Path: build.sbt
34Pattern: val scala3 = "3.3.1"
35Replacement: val scala3 = "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 scala3 = "3.3.1"' in build.sbt
40----
41Starting build for 3.8.0
42Execute tests: true
43sbt project found:
44Sbt version 1.9.6 is not supported, minimal supported version is 1.11.5
45Enforcing usage of sbt in version 1.11.5
46No prepare script found for project arturopala/validator
47##################################
48Scala version: 3.8.0
49Targets: com.github.arturopala%validator
50Project projectConfig: {"projects":{"exclude":[],"overrides":{}},"java":{},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"full","migrationVersions":[],"sourcePatches":[{"path":"build.sbt","pattern":"val scala3 = \"3.3.1\"","replaceWith":"val scala3 = \"<SCALA_VERSION>\""}]}
51##################################
52Using extra scalacOptions: ,REQUIRE:-source:3.8
53Filtering out scalacOptions: ,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
54[sbt_options] declare -a sbt_options=()
55[process_args] java_version = '17'
56[copyRt] java9_rt = '/root/.sbt/1.0/java9-rt-ext-eclipse_adoptium_17_0_8/rt.jar'
57# Executing command line:
58java
59-XX:+TieredCompilation
60-Dfile.encoding=UTF-8
61-XX:+UseG1GC
62-Xmx2G
63-Dcommunitybuild.scala=3.8.0
64-Dcommunitybuild.project.dependencies.add=
65-Xmx7G
66-Xms4G
67-Xss8M
68-Dsbt.script=/root/.sdkman/candidates/sbt/current/bin/sbt
69-Dscala.ext.dirs=/root/.sbt/1.0/java9-rt-ext-eclipse_adoptium_17_0_8
70-jar
71/root/.sdkman/candidates/sbt/1.11.5/bin/sbt-launch.jar
72"setCrossScalaVersions 3.8.0"
73"++3.8.0 -v"
74"mapScalacOptions ",REQUIRE:-source:3.8,-Wconf:msg=can be rewritten automatically under:s" ",-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e""
75"set every credentials := Nil"
76"excludeLibraryDependency com.github.ghik:zerowaste_{scalaVersion} com.olegpy:better-monadic-for_3 org.polyvariant:better-tostring_{scalaVersion} org.wartremover:wartremover_{scalaVersion}"
77"removeScalacOptionsStartingWith -P:wartremover"
78
79moduleMappings
80"runBuild 3.8.0 """{"projects":{"exclude":[],"overrides":{}},"java":{},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"full","migrationVersions":[],"sourcePatches":[{"path":"build.sbt","pattern":"val scala3 = \"3.3.1\"","replaceWith":"val scala3 = \"<SCALA_VERSION>\""}]}""" com.github.arturopala%validator"
81
82[info] welcome to sbt 1.11.5 (Eclipse Adoptium Java 17.0.8)
83[info] loading settings for project repo-build from akka.sbt, plugins.sbt...
84[info] loading project definition from /build/repo/project
85[info] compiling 2 Scala sources to /build/repo/project/target/scala-2.12/sbt-1.0/classes ...
86[info] Non-compiled module 'compiler-bridge_2.12' for Scala 2.12.20. Compiling...
87[info] Compilation completed in 8.374s.
88[info] done compiling
89/build/repo/build.sbt:38: warning: value scalafixScalaBinaryVersion in object autoImport is deprecated (since 0.12.1): scalafixScalaBinaryVersion now follows scalaVersion by default
90 scalafixScalaBinaryVersion := "2.13",
91 ^
92[info] loading settings for project repo from build.sbt...
93[info] set current project to repo (in build file:/build/repo/)
94[warn] there are 5 keys that are not used by any other settings/tasks:
95[warn]
96[warn] * ThisBuild / scalafixScalaBinaryVersion
97[warn] +- /build/repo/build.sbt:18
98[warn] * docs / doc / scalacOptions
99[warn] +- /build/repo/build.sbt:51
100[warn] * rootJS / doc / scalacOptions
101[warn] +- /build/repo/build.sbt:51
102[warn] * rootJVM / doc / scalacOptions
103[warn] +- /build/repo/build.sbt:51
104[warn] * rootNative / doc / scalacOptions
105[warn] +- /build/repo/build.sbt:51
106[warn]
107[warn] note: a setting might still be used by a command; to exclude a key from this `lintUnused` check
108[warn] either append it to `Global / excludeLintKeys` or call .withRank(KeyRanks.Invisible) on the key
109Execute setCrossScalaVersions: 3.8.0
110OpenCB::Changing crossVersion 3.8.0 -> 3.8.0 in rootJVM/crossScalaVersions
111OpenCB::Changing crossVersion 3.8.0 -> 3.8.0 in rootJS/crossScalaVersions
112OpenCB::Limitting incorrect crossVersions List() -> List(2.13.12) in repo/crossScalaVersions
113[info] set current project to repo (in build file:/build/repo/)
114[info] Setting Scala version to 3.8.0 on 2 projects.
115[info] Switching Scala version on:
116[info] rootJS (2.13.12, 2.12.18, 3.8.0)
117[info] rootJVM (2.13.12, 2.12.18, 3.8.0)
118[info] Excluding projects:
119[info] docs (2.13.12)
120[info] rootNative (2.13.12, 2.12.18)
121[info] * repo (2.13.12)
122[info] Reapplying settings...
123[info] set current project to repo (in build file:/build/repo/)
124Execute mapScalacOptions: ,REQUIRE:-source:3.8,-Wconf:msg=can be rewritten automatically under:s ,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
125[info] Reapplying settings...
126[info] set current project to repo (in build file:/build/repo/)
127[info] Defining Global / credentials, credentials and 3 others.
128[info] The new values will be used by Compile / scalafmtOnly, Global / pgpSelectPassphrase and 40 others.
129[info] Run `last` for details.
130[info] Reapplying settings...
131[info] set current project to repo (in build file:/build/repo/)
132Execute excludeLibraryDependency: com.github.ghik:zerowaste_{scalaVersion} com.olegpy:better-monadic-for_3 org.polyvariant:better-tostring_{scalaVersion} org.wartremover:wartremover_{scalaVersion}
133[info] Reapplying settings...
134OpenCB::Failed to reapply settings in excludeLibraryDependency: Reference to undefined setting:
135
136 Global / allExcludeDependencies from Global / allExcludeDependencies (CommunityBuildPlugin.scala:331)
137 Did you mean rootJVM / allExcludeDependencies ?
138 , retry without global scopes
139[info] Reapplying settings...
140[info] set current project to repo (in build file:/build/repo/)
141Execute removeScalacOptionsStartingWith: -P:wartremover
142[info] Reapplying settings...
143[info] set current project to repo (in build file:/build/repo/)
144[success] Total time: 0 s, completed Jan 13, 2026, 3:46:56 PM
145Build config: {"projects":{"exclude":[],"overrides":{}},"java":{},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"full","migrationVersions":[],"sourcePatches":[{"path":"build.sbt","pattern":"val scala3 = \"3.3.1\"","replaceWith":"val scala3 = \"<SCALA_VERSION>\""}]}
146Parsed config: Success(ProjectBuildConfig(ProjectsConfig(List(),Map()),Full,List()))
147Starting build...
148Projects: Set(rootJVM)
149Starting build for ProjectRef(file:/build/repo/,rootJVM) (validator)... [0/1]
150OpenCB::Exclude Scala3 specific scalacOption `REQUIRE:-source:3.8` in Scala 2.12.20 module Global
151Compile scalacOptions: -Ywarn-unused, -Xsemanticdb, -semanticdb-target, /build/repo/.jvm/target/scala-3.8.0/meta, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
152Never$: top-level presets deprecated; use 'preset' subsection
153[info] scalafmt: Formatting 2 Scala sources (/build/repo/.jvm)...
154[info] scalafmt: Formatting 1 Scala sources (/build/repo/.jvm)...
155[info] compiling 1 Scala source to /build/repo/.jvm/target/scala-3.8.0/classes ...
156[warn] bad option '-Ywarn-unused' was ignored
157[warn] one warning found
158[info] done compiling
159[info] compiling 2 Scala sources to /build/repo/.jvm/target/scala-3.8.0/test-classes ...
160[warn] bad option '-Ywarn-unused' was ignored
161[warn] one warning found
162[info] done compiling
163com.github.arturopala.validator.ValidatorSpec:
164 + Either.left.map 0.008s
165 + check 0.002s
166 + and combinator 0.003s
167 + and combinator with super/sub types 0.005s
168 + or combinator 0.002s
169 + or combinator with super/sub types 0.002s
170 + & combinator 0.001s
171 + | combinator 0.001s
172 + | with & combinator 0.001s
173 + | with | combinator 0.003s
174 + & with | combinator 0.002s
175 + & with & combinator 0.002s
176 + nonEmptyStringValidator 0.001s
177 + emptyStringValidator 0.001s
178 + Validator.all combines provided validators to verify if all checks passes 0.115s
179 + Validator.all combines provided checks to verify if all checks passes 0.014s
180 + Validator.all(with error prefix) combines provided validators to verify if all checks passes 0.014s
181 + Validator.all(with error prefix) combines provided checks to verify if all checks passes 0.009s
182 + Validator.all(with calculated error prefix) combines provided validators to verify if all checks passes 0.009s
183 + Validator.all(with calculated error prefix) combines provided checks to verify if all checks passes 0.008s
184 + Validator.allWithShortCircuit combines provided validators to verify if all checks passes but breaks short if any failure 0.003s
185 + Validator.any combines provided validators to verify if any of the checks passes 0.027s
186 + Validator.any(with error prefix) combines provided validators to verify if any of the checks passes 0.017s
187 + Validator.any(with calculated error prefix) combines provided validators to verify if any of the checks passes 0.011s
188 + Validator.conditionally runs the test and follows with either first or second check 0.005s
189 + Validator.whenTrue runs the test and if true then follows with the next check 0.004s
190 + Validator.whenFalse runs the test and if false then tries the next check 0.005s
191 + Validator.when runs the guard check and follows with either first or second check 0.005s
192 + Validator.whenValid runs the guard check and if valid then follows with the next check 0.005s
193 + Validator.whenInvalid runs the guard check and if invalid then tries the next check 0.005s
194 + Validator.product combines provided validators to verify tuples of values 0.013s
195 + Validator.checkIsTrue returns Valid only if condition fulfilled 0.006s
196 + Validator.checkIsFalse returns Valid only if condition not met 0.004s
197 + Validator.checkEquals returns Valid only if values are the same 0.007s
198 + Validator.checkNotEquals returns Valid only if values are not the same 0.005s
199 + Validator.checkIsDefined returns Valid only if condition returns Some 0.004s
200 + Validator.checkIsEmpty returns Valid only if condition returns None 0.003s
201 + Validator.checkFromEither returns Valid only if condition returns Right 0.004s
202 + Validator.checkFromEither(with error prefix) returns Valid only if condition returns Right 0.003s
203 + Validator.checkWith returns Valid only if extracted property passes check 0.002s
204 + Validator.checkWithImplicitly returns Valid only if extracted property passes check 0.002s
205 + Validator.checkUsing(with error prefix) returns Valid only if nested validator returns Valid 0.003s
206 + Validator.checkEither returns Valid only if nested validator returns Valid 0.003s
207 + Validator.checkIfSome returns Valid only if nested validator returns Valid 0.004s
208 + Validator.checkIfSome(with invalid if None) returns Valid only if nested validator returns Valid 0.002s
209 + Validator.checkIfSome(with error prefix) returns Valid only if nested validator returns Valid 0.002s
210 + Validator.checkIfSome(with error prefix and invalid if none) returns Valid only if nested validator returns Valid 0.002s
211 + Validator.checkEach returns Valid only if all elements of the sequence passes check 0.027s
212 + Validator.checkEach(with error prefix fx) returns Valid only if all elements of the sequence passes check 0.053s
213 + Validator.checkEach(with error prefix fx) returns Valid only if all elements of the sequence passes check-1 0.014s
214 + Validator.checkEachIfNonEmpty returns Valid only if all elements of the sequence passes check 0.014s
215 + Validator.checkEachIfNonEmpty(with error prefix fx) returns Valid only if all elements of the sequence passes check 0.037s
216 + Validator.checkEachIfNonEmpty(with error prefix fx) returns Valid only if all elements of the sequence passes check-1 0.017s
217 + Validator.checkEachIfSome returns Valid only if None or all elements of the sequence passes check 0.011s
218 + Validator.checkEachIfSome returns Valid only if sequence is defined and all elements of the sequence passes check 0.01s
219 + Validator.checkEachIfSome(with error prefix) returns Valid only if sequence is None or all elements of the sequence passes check 0.025s
220 + Validator.checkEachIfSome(with error prefix) returns Valid only if sequence is defined and all elements of the sequence passes check 0.023s
221 + Validator.checkIfAllDefined returns Valid only if all of the provided functions returns Some 0.002s
222 + Validator.checkIfAllEmpty returns Valid only if all of the provided functions returns None 0.002s
223 + Validator.checkIfAllOrNoneDefined returns Valid only if all of the provided functions returns None 0.002s
224 + Validator.checkIfAtLeastOneIsDefined returns Valid only if at least one of the provided functions returns Some 0.002s
225 + Validator.checkIfAtMostOneIsDefined returns Valid only if at most one of the provided functions returns Some 0.002s
226 + Validator.checkIfOnlyOneIsDefined returns Valid if only one of the provided functions returns Some 0.002s
227 + Validator.checkIfOnlyOneSetIsDefined returns Valid if only one of the provided set of functions have all results defined 0.013s
228 + Validator.checkIfOnlyOneSetIsDefined returns Valid if only one of the provided set of functions have all results defined-1 0.002s
229 + Validator.checkIfAllTrue returns Valid only if all of the provided functions return true 0.003s
230 + Validator.checkIfAllFalse returns Valid only if all of the provided functions return true 0.002s
231 + Validator.checkIfAtLeastOneIsTrue returns Valid if only if at least one of the provided functions return true 0.002s
232 + Validator.checkIfAtMostOneIsTrue returns Valid only if at most one of the provided functions return true 0.003s
233 + Validator.checkIfOnlyOneIsTrue returns Valid if only one of the provided functions return true 0.002s
234 + Validator.checkIfOnlyOneSetIsTrue returns Valid if only one of the provided set of functions is all true 0.002s
235 + Validator.checkIfOnlyOneSetIsTrue returns Valid if only one of the provided set of functions is all true-1 0.002s
236 + example 0.004s
237com.github.arturopala.validator.StringMatchersSpec:
238 + StringMatchers.lengthMinMaxInclusive 0.002s
239 + StringMatchers.lengthMin 0.001s
240 + StringMatchers.lengthMax 0.002s
241 + StringMatchers.isTrue 0.003s
242 + StringMatchers.isFalse 0.003s
243
244************************
245Build summary:
246[{
247 "module": "validator",
248 "compile": {"status": "ok", "tookMs": 11279, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
249 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
250 "test-compile": {"status": "ok", "tookMs": 6554, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
251 "test": {"status": "ok", "tookMs": 1078, "passed": 78, "failed": 0, "ignored": 0, "skipped": 0, "total": 78, "byFramework": [{"framework": "munit", "stats": {"passed": 78, "failed": 0, "ignored": 0, "skipped": 0, "total": 78}}]},
252 "publish": {"status": "skipped", "tookMs": 0},
253 "metadata": {
254 "crossScalaVersions": ["2.13.12", "2.12.18", "3.3.1"]
255}
256}]
257************************
258[success] Total time: 20 s, completed Jan 13, 2026, 3:47:16 PM
259[0JChecking patch project/plugins.sbt...
260Checking patch project/build.properties...
261Checking patch build.sbt...
262Applied patch project/plugins.sbt cleanly.
263Applied patch project/build.properties cleanly.
264Applied patch build.sbt cleanly.