Build Logs

valskalla/odin • 3.8.0-RC5:2025-12-31

Errors

1

Warnings

16

Total Lines

403

1##################################
2Clonning https://github.com/valskalla/odin.git into /build/repo using revision v0.13.0
3##################################
4Note: switching to 'c3ec9c5829ff54a3ee97bd838453e5aef0390ce6'.
5
6You are in 'detached HEAD' state. You can look around, make experimental
7changes and commit them, and you can discard any commits you make in this
8state without impacting any branches by switching back to a branch.
9
10If you want to create a new branch to retain commits you create, you may
11do so (now or later) by using -c with the switch command. Example:
12
13 git switch -c <new-branch-name>
14
15Or undo this operation with:
16
17 git switch -
18
19Turn off this advice by setting config variable advice.detachedHead to false
20
21----
22Preparing build for 3.8.0-RC5
23Scala binary version found: 3.8
24Implicitly using source version 3.8
25Scala binary version found: 3.8
26Implicitly using source version 3.8
27Would try to apply common scalacOption (best-effort, sbt/mill only):
28Append: ,REQUIRE:-source:3.8
29Remove: ,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
30
31Try apply source patch:
32Path: build.sbt
33Pattern: val scala3 = if (onlyScala2) List() else List("3.0.2")
34Replacement: val scala3 = List("3.8.0-RC5")
35Starting compilation server
36Compiling project (Scala 3.7.3, JVM (17))
37Compiled project (Scala 3.7.3, JVM (17))
38Successfully applied pattern 'val scala3 = if (onlyScala2) List() else List("3.0.2")' in build.sbt
39----
40Starting build for 3.8.0-RC5
41Execute tests: true
42sbt project found:
43Sbt version 1.5.5 is not supported, minimal supported version is 1.11.5
44Enforcing usage of sbt in version 1.11.5
45No prepare script found for project valskalla/odin
46##################################
47Scala version: 3.8.0-RC5
48Targets: com.github.valskalla%odin-core com.github.valskalla%odin-extras com.github.valskalla%odin-json com.github.valskalla%odin-slf4j com.github.valskalla%odin-zio
49Project projectConfig: {"projects":{"exclude":[],"overrides":{}},"java":{"version":"17"},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"full","migrationVersions":[],"sourcePatches":[{"path":"build.sbt","pattern":"val scala3 = if (onlyScala2) List() else List(\"3.0.2\")","replaceWith":"val scala3 = List(\"<SCALA_VERSION>\")"}]}
50##################################
51Using extra scalacOptions: ,REQUIRE:-source:3.8
52Filtering out scalacOptions: ,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
53[sbt_options] declare -a sbt_options=()
54[process_args] java_version = '17'
55[copyRt] java9_rt = '/root/.sbt/1.0/java9-rt-ext-eclipse_adoptium_17_0_8/rt.jar'
56# Executing command line:
57java
58-Dfile.encoding=UTF-8
59-Dcommunitybuild.scala=3.8.0-RC5
60-Dcommunitybuild.project.dependencies.add=
61-Xmx7G
62-Xms4G
63-Xss8M
64-Dsbt.script=/root/.sdkman/candidates/sbt/current/bin/sbt
65-Dscala.ext.dirs=/root/.sbt/1.0/java9-rt-ext-eclipse_adoptium_17_0_8
66-jar
67/root/.sdkman/candidates/sbt/1.11.5/bin/sbt-launch.jar
68"setCrossScalaVersions 3.8.0-RC5"
69"++3.8.0-RC5 -v"
70"mapScalacOptions ",REQUIRE:-source:3.8,-Wconf:msg=can be rewritten automatically under:s" ",-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e""
71"set every credentials := Nil"
72"excludeLibraryDependency com.github.ghik:zerowaste_{scalaVersion} com.olegpy:better-monadic-for_3 org.polyvariant:better-tostring_{scalaVersion} org.wartremover:wartremover_{scalaVersion}"
73"removeScalacOptionsStartingWith -P:wartremover"
74
75moduleMappings
76"runBuild 3.8.0-RC5 """{"projects":{"exclude":[],"overrides":{}},"java":{"version":"17"},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"full","migrationVersions":[],"sourcePatches":[{"path":"build.sbt","pattern":"val scala3 = if (onlyScala2) List() else List(\"3.0.2\")","replaceWith":"val scala3 = List(\"<SCALA_VERSION>\")"}]}""" com.github.valskalla%odin-core com.github.valskalla%odin-extras com.github.valskalla%odin-json com.github.valskalla%odin-slf4j com.github.valskalla%odin-zio"
77
78[info] welcome to sbt 1.11.5 (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 9.023s.
84[info] done compiling
85[info] loading settings for project odin from build.sbt...
86[info] set current project to odin (in build file:/build/repo/)
87Execute setCrossScalaVersions: 3.8.0-RC5
88OpenCB::Changing crossVersion 3.8.0-RC5 -> 3.8.0-RC5 in odin-extras/crossScalaVersions
89OpenCB::Changing crossVersion 3.8.0-RC5 -> 3.8.0-RC5 in benchmarks/crossScalaVersions
90OpenCB::Changing crossVersion 3.8.0-RC5 -> 3.8.0-RC5 in odin-monix/crossScalaVersions
91OpenCB::Changing crossVersion 3.8.0-RC5 -> 3.8.0-RC5 in odin-json/crossScalaVersions
92OpenCB::Changing crossVersion 3.8.0-RC5 -> 3.8.0-RC5 in odin-core/crossScalaVersions
93OpenCB::Changing crossVersion 3.8.0-RC5 -> 3.8.0-RC5 in odin/crossScalaVersions
94OpenCB::Changing crossVersion 3.8.0-RC5 -> 3.8.0-RC5 in odin-zio/crossScalaVersions
95OpenCB::Changing crossVersion 3.8.0-RC5 -> 3.8.0-RC5 in docs/crossScalaVersions
96OpenCB::Changing crossVersion 3.8.0-RC5 -> 3.8.0-RC5 in examples/crossScalaVersions
97OpenCB::Changing crossVersion 3.8.0-RC5 -> 3.8.0-RC5 in odin-slf4j/crossScalaVersions
98[info] set current project to odin (in build file:/build/repo/)
99[info] Setting Scala version to 3.8.0-RC5 on 10 projects.
100[info] Switching Scala version on:
101[info] benchmarks (2.13.6, 2.12.13, 3.8.0-RC5)
102[info] examples (2.13.6, 2.12.13, 3.8.0-RC5)
103[info] * odin (2.13.6, 2.12.13, 3.8.0-RC5)
104[info] docs (2.13.6, 2.12.13, 3.8.0-RC5)
105[info] odin-core (2.13.6, 2.12.13, 3.8.0-RC5)
106[info] odin-zio (2.13.6, 2.12.13, 3.8.0-RC5)
107[info] odin-extras (2.13.6, 2.12.13, 3.8.0-RC5)
108[info] odin-json (2.13.6, 2.12.13, 3.8.0-RC5)
109[info] odin-slf4j (2.13.6, 2.12.13, 3.8.0-RC5)
110[info] odin-monix (2.13.6, 2.12.13, 3.8.0-RC5)
111[info] Excluding projects:
112[info] Reapplying settings...
113[info] set current project to odin (in build file:/build/repo/)
114Execute mapScalacOptions: ,REQUIRE:-source:3.8,-Wconf:msg=can be rewritten automatically under:s ,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
115[info] Reapplying settings...
116[info] set current project to odin (in build file:/build/repo/)
117[info] Defining Global / credentials, benchmarks / credentials and 8 others.
118[info] The new values will be used by Global / pgpSelectPassphrase, Global / pgpSigningKey and 49 others.
119[info] Run `last` for details.
120[info] Reapplying settings...
121[info] set current project to odin (in build file:/build/repo/)
122Execute excludeLibraryDependency: com.github.ghik:zerowaste_{scalaVersion} com.olegpy:better-monadic-for_3 org.polyvariant:better-tostring_{scalaVersion} org.wartremover:wartremover_{scalaVersion}
123[info] Reapplying settings...
124OpenCB::Failed to reapply settings in excludeLibraryDependency: Reference to undefined setting:
125
126 Global / allExcludeDependencies from Global / allExcludeDependencies (CommunityBuildPlugin.scala:331)
127 Did you mean odin-zio / allExcludeDependencies ?
128 , retry without global scopes
129[info] Reapplying settings...
130[info] set current project to odin (in build file:/build/repo/)
131Execute removeScalacOptionsStartingWith: -P:wartremover
132[info] Reapplying settings...
133[info] set current project to odin (in build file:/build/repo/)
134[success] Total time: 0 s, completed Dec 31, 2025, 9:16:42 PM
135Build config: {"projects":{"exclude":[],"overrides":{}},"java":{"version":"17"},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"full","migrationVersions":[],"sourcePatches":[{"path":"build.sbt","pattern":"val scala3 = if (onlyScala2) List() else List(\"3.0.2\")","replaceWith":"val scala3 = List(\"<SCALA_VERSION>\")"}]}
136Parsed config: Success(ProjectBuildConfig(ProjectsConfig(List(),Map()),Full,List()))
137Starting build...
138Projects: Set(odin-core, odin-zio, odin-extras, odin-json, odin-slf4j)
139Starting build for ProjectRef(file:/build/repo/,odin-extras) (odin-extras)... [0/5]
140OpenCB::Filter out '-deprecation', matches setting pattern '^-?-deprecation'
141OpenCB::Filter out '-feature', matches setting pattern '^-?-feature'
142Compile scalacOptions: -Ykind-projector, -encoding, utf-8, -language:existentials, -language:higherKinds, -language:implicitConversions, -language:postfixOps, -unchecked, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
143[info] compiling 27 Scala sources and 1 Java source to /build/repo/core/target/scala-3.8.0-RC5/classes ...
144[warn] Option -Ykind-projector is deprecated: Use -Xkind-projector instead.
145[warn] one warning found
146[info] done compiling
147[info] compiling 4 Scala sources to /build/repo/extras/target/scala-3.8.0-RC5/classes ...
148[warn] Option -Ykind-projector is deprecated: Use -Xkind-projector instead.
149[warn] one warning found
150[info] done compiling
151[info] compiling 22 Scala sources to /build/repo/core/target/scala-3.8.0-RC5/test-classes ...
152[warn] Option -Ykind-projector is deprecated: Use -Xkind-projector instead.
153[warn] one warning found
154[info] done compiling
155[info] compiling 2 Scala sources to /build/repo/extras/target/scala-3.8.0-RC5/test-classes ...
156[warn] Option -Ykind-projector is deprecated: Use -Xkind-projector instead.
157[warn] one warning found
158[info] done compiling
159[info] RenderDerivationSpec:
160[info] - should hide fields with @hidden annotation
161[info] - should mask fields with @secret annotation
162[info] - should hash fields with @hash annotation
163[info] - should show limited number of elements with @length annotation
164[info] - should ignore @length annotation when annotated type is not a subtype of Iterable
165[info] - should derive a type class respecting annotations
166[info] ConditionalLoggerSpec:
167[info] - should use log level of the inner logger in case of success
168[info] - should use log level of the conditional logger in case of error
169Starting build for ProjectRef(file:/build/repo/,odin-core) (odin-core)... [1/5]
170Compile scalacOptions: -Ykind-projector, -encoding, utf-8, -language:existentials, -language:higherKinds, -language:implicitConversions, -language:postfixOps, -unchecked, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
171[info] ConsoleLoggerSpec:
172[info] - should route all messages with level <= INFO to stdout
173[info] - should route all messages with level >= WARN to stderr
174[info] ConstContextLoggerSpec:
175[info] - should ContextualLogger.logger.checks minLevel
176[info] - should ContextualLogger.logger.log(list) <-> list.traverse(log)
177[info] - should add constant context to the record
178[info] - should add constant context to the records
179[info] ConfigSpec:
180[info] - should route based on the package
181[info] - should route based on the class
182[info] - should route based on the level
183[info] - should fallback to provided logger
184[info] - should not fallback to provided logger when message level does not match mapped logger level
185[info] - should check underlying min level
186[info] - should check fallback min level
187[info] ContextualLoggerSpec:
188[info] - should ContContextLogger.logger.checks minLevel
189[info] - should ContContextLogger.logger.log(list) <-> list.traverse(log)
190[info] - should pick up context from F[_]
191[info] - should embed context in all messages
192[info] WriterTLoggerSpec:
193[info] - should WriterTLogger.logger.checks minLevel
194[info] - should WriterTLogger.logger.log(list) <-> list.traverse(log)
195[info] - should write log into list
196[info] - should write all the logs into list
197[info] FileNamePatternSyntaxSpec:
198[info] year
199[info] - should extract current year
200[info] month
201[info] - should extract current month
202[info] day
203[info] - should extract current day
204[info] hour
205[info] - should extract current hour
206[info] minute
207[info] - should extract current minute
208[info] second
209[info] - should extract current second
210[info] file
211[info] - should process a single argument
212[info] file
213[info] - should process an argument in the beginning
214[info] file
215[info] - should process an argument in the end
216[info] file
217[info] - should process argument in the middle
218[info] file
219[info] - should process multiple arguments
220[info] file
221[info] - should process a string variable
222[info] ContramapLoggerSpec:
223[info] - should ContramapLogger.logger.checks minLevel
224[info] - should ContramapLogger.logger.log(list) <-> list.traverse(log)
225[info] - should contramap(identity).log(msg) <-> log(msg)
226[info] - should contramap(f).log(msg) <-> log(f(msg))
227[info] FilterLoggerSpec:
228[info] - should FilterLogger.logger.checks minLevel
229[info] - should FilterLogger.logger.log(list) <-> list.traverse(log)
230[info] - should logger.filter(p).log(msg) <-> F.whenA(p)(log(msg))
231[info] LoggerNatTransformSpec:
232[info] - should transform each method
233[info] SecretLoggerSpec:
234[info] - should SecretLogger.logger.checks minLevel
235[info] - should SecretLogger.logger.log(list) <-> list.traverse(log)
236[info] - should modify context by hashing secret keys of a message
237[info] - should modify context by hashing secret keys of messages
238[info] DefaultLoggerSpec:
239[info] - should correctly construct LoggerMessage
240[info] - should write multiple messages
241[info] - should filter by minimal level
242[info] - should decrease min log level on update
243[info] - should increase min log level on update
244[info] FormatterSpec:
245[info] Formatter.formatThrowable with ThrowableFormat
246[info] - should support Indent
247[info] - should support Depth
248[info] - should support Filter
249[info] Formatter.formatPosition with PositionFormat
250[info] - should support PositionFormat
251[info] - should not abbreviate empty package
252[info] - should print context by default
253[info] - should disable context print if `printCtx=false`
254[info] LoggerMonoidSpec:
255[info] - should Logger.monoid.associative
256[info] - should Logger.monoid.collect0
257[info] - should Logger.monoid.combine all
258[info] - should Logger.monoid.combineAllOption
259[info] - should Logger.monoid.intercalateCombineAllOption
260[info] - should Logger.monoid.intercalateIntercalates
261[info] - should Logger.monoid.intercalateRepeat1
262[info] - should Logger.monoid.intercalateRepeat2
263[info] - should Logger.monoid.is id
264[info] - should Logger.monoid.left identity
265[info] - should Logger.monoid.repeat0
266[info] - should Logger.monoid.repeat1
267[info] - should Logger.monoid.repeat2
268[info] - should Logger.monoid.reverseCombineAllOption
269[info] - should Logger.monoid.reverseRepeat1
270[info] - should Logger.monoid.reverseRepeat2
271[info] - should Logger.monoid.reverseReverses
272[info] - should Logger.monoid.right identity
273[info] - should (logger1 |+| logger2).log <-> (logger1.log |+| logger2.log)
274[info] - should (logger1 |+| logger2).log(list) <-> (logger1.log |+| logger2.log(list))
275[info] - should set minimal level for underlying loggers
276[info] - should respect underlying log level of each logger
277[info] AsyncLoggerSpec:
278[info] - should push logs down the chain
279[info] - should push logs to the queue
280[info] - should ignore errors in underlying logger
281[info] RenderSpec:
282[info] - should derive Render instance from cats.Show
283[info] - should use .toString
284[info] - should interpolate a string using Render for every argument
285[info] - should render byte
286[info] - should render short
287[info] - should render int
288[info] - should render long
289[info] - should render double
290[info] - should render float
291[info] - should render boolean
292[info] - should render UUID
293[info] - should render Option
294[info] - should render Seq
295[info] - should render List
296[info] - should render Vector
297[info] - should render NonEmptyList
298[info] - should render Iterable
299[info] FileLoggerSpec:
300[info] - should write formatted message into file
301[info] - should write formatted messages into file
302[info] - should write in async mode
303[info] RollingFileLoggerSpec:
304[info] - should write formatted message into file
305[info] - should write formatted messages into file
306[info] - should write in async mode
307[info] - should log file name should match the pattern
308[info] - should write to the next file once interval is over !!! IGNORED !!!
309[info] - should write to the next file once log file size is exceeded
310Starting build for ProjectRef(file:/build/repo/,odin-slf4j) (odin-slf4j)... [2/5]
311Compile scalacOptions: -Ykind-projector, -encoding, utf-8, -language:existentials, -language:higherKinds, -language:implicitConversions, -language:postfixOps, -unchecked, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
312[info] compiling 5 Scala sources to /build/repo/slf4j/target/scala-3.8.0-RC5/classes ...
313[warn] Option -Ykind-projector is deprecated: Use -Xkind-projector instead.
314[warn] one warning found
315[info] done compiling
316[info] compiling 3 Scala sources and 1 Java source to /build/repo/slf4j/target/scala-3.8.0-RC5/test-classes ...
317[warn] Option -Ykind-projector is deprecated: Use -Xkind-projector instead.
318[warn] one warning found
319[info] done compiling
320[info] Slf4jSpec:
321[info] - should log with correct level
322[info] - should log exceptions
323[info] - should resolve minimal level
324[info] - should format logs
325[info] - should format logs with two arguments
326[info] - should format logs with multiple arguments
327[info] - should not log messages with level lower than set
328[info] - should support Slf4J loggers
329[info] - should respect minLevel in the Slf4J logger
330Starting build for ProjectRef(file:/build/repo/,odin-zio) (odin-zio)... [3/5]
331Compile scalacOptions: -Ykind-projector, -encoding, utf-8, -language:existentials, -language:higherKinds, -language:implicitConversions, -language:postfixOps, -unchecked, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
332[info] compiling 2 Scala sources to /build/repo/zio/target/scala-3.8.0-RC5/classes ...
333[warn] Option -Ykind-projector is deprecated: Use -Xkind-projector instead.
334[warn] one warning found
335[info] done compiling
336Starting build for ProjectRef(file:/build/repo/,odin-json) (odin-json)... [4/5]
337Compile scalacOptions: -Ykind-projector, -encoding, utf-8, -language:existentials, -language:higherKinds, -language:implicitConversions, -language:postfixOps, -unchecked, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
338[info] compiling 1 Scala source to /build/repo/json/target/scala-3.8.0-RC5/classes ...
339[warn] Option -Ykind-projector is deprecated: Use -Xkind-projector instead.
340[warn] one warning found
341[info] done compiling
342
343************************
344Build summary:
345[{
346 "module": "odin-extras",
347 "compile": {"status": "ok", "tookMs": 13652, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
348 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
349 "test-compile": {"status": "ok", "tookMs": 16258, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
350 "test": {"status": "ok", "tookMs": 1362, "passed": 8, "failed": 0, "ignored": 0, "skipped": 0, "total": 8, "byFramework": [{"framework": "unknown", "stats": {"passed": 8, "failed": 0, "ignored": 0, "skipped": 0, "total": 8}}]},
351 "publish": {"status": "skipped", "tookMs": 0},
352 "metadata": {
353 "crossScalaVersions": ["2.13.6", "2.12.13"]
354}
355},{
356 "module": "odin-core",
357 "compile": {"status": "ok", "tookMs": 59, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
358 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
359 "test-compile": {"status": "ok", "tookMs": 113, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
360 "test": {"status": "ok", "tookMs": 42611, "passed": 107, "failed": 0, "ignored": 1, "skipped": 0, "total": 108, "byFramework": [{"framework": "unknown", "stats": {"passed": 107, "failed": 0, "ignored": 1, "skipped": 0, "total": 108}}]},
361 "publish": {"status": "skipped", "tookMs": 0},
362 "metadata": {
363 "crossScalaVersions": ["2.13.6", "2.12.13"]
364}
365},{
366 "module": "odin-slf4j",
367 "compile": {"status": "ok", "tookMs": 1276, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
368 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
369 "test-compile": {"status": "ok", "tookMs": 1733, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
370 "test": {"status": "ok", "tookMs": 1455, "passed": 9, "failed": 0, "ignored": 0, "skipped": 0, "total": 9, "byFramework": [{"framework": "unknown", "stats": {"passed": 9, "failed": 0, "ignored": 0, "skipped": 0, "total": 9}}]},
371 "publish": {"status": "skipped", "tookMs": 0},
372 "metadata": {
373 "crossScalaVersions": ["2.13.6", "2.12.13"]
374}
375},{
376 "module": "odin-zio",
377 "compile": {"status": "ok", "tookMs": 721, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
378 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
379 "test-compile": {"status": "ok", "tookMs": 148, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
380 "test": {"status": "ok", "tookMs": 158, "passed": 0, "failed": 0, "ignored": 0, "skipped": 0, "total": 0, "byFramework": []},
381 "publish": {"status": "skipped", "tookMs": 0},
382 "metadata": {
383 "crossScalaVersions": ["2.13.6", "2.12.13"]
384}
385},{
386 "module": "odin-json",
387 "compile": {"status": "ok", "tookMs": 379, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
388 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
389 "test-compile": {"status": "ok", "tookMs": 143, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
390 "test": {"status": "ok", "tookMs": 145, "passed": 0, "failed": 0, "ignored": 0, "skipped": 0, "total": 0, "byFramework": []},
391 "publish": {"status": "skipped", "tookMs": 0},
392 "metadata": {
393 "crossScalaVersions": ["2.13.6", "2.12.13"]
394}
395}]
396************************
397[success] Total time: 120 s (0:02:00.0), completed Dec 31, 2025, 9:18:42 PM
398[0JChecking patch project/plugins.sbt...
399Checking patch project/build.properties...
400Checking patch build.sbt...
401Applied patch project/plugins.sbt cleanly.
402Applied patch project/build.properties cleanly.
403Applied patch build.sbt cleanly.