Build Logs
valskalla/odin • 3.8.0-RC4:2025-12-22
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-RC4
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-RC4")
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-RC4
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-RC4
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-RC4
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-RC4"
69"++3.8.0-RC4 -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-RC4 """{"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 8.689s.
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-RC4
88OpenCB::Changing crossVersion 3.8.0-RC4 -> 3.8.0-RC4 in odin-extras/crossScalaVersions
89OpenCB::Changing crossVersion 3.8.0-RC4 -> 3.8.0-RC4 in benchmarks/crossScalaVersions
90OpenCB::Changing crossVersion 3.8.0-RC4 -> 3.8.0-RC4 in odin-monix/crossScalaVersions
91OpenCB::Changing crossVersion 3.8.0-RC4 -> 3.8.0-RC4 in odin-core/crossScalaVersions
92OpenCB::Changing crossVersion 3.8.0-RC4 -> 3.8.0-RC4 in odin/crossScalaVersions
93OpenCB::Changing crossVersion 3.8.0-RC4 -> 3.8.0-RC4 in odin-json/crossScalaVersions
94OpenCB::Changing crossVersion 3.8.0-RC4 -> 3.8.0-RC4 in odin-zio/crossScalaVersions
95OpenCB::Changing crossVersion 3.8.0-RC4 -> 3.8.0-RC4 in docs/crossScalaVersions
96OpenCB::Changing crossVersion 3.8.0-RC4 -> 3.8.0-RC4 in examples/crossScalaVersions
97OpenCB::Changing crossVersion 3.8.0-RC4 -> 3.8.0-RC4 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-RC4 on 10 projects.
100[info] Switching Scala version on:
101[info] benchmarks (2.13.6, 2.12.13, 3.8.0-RC4)
102[info] examples (2.13.6, 2.12.13, 3.8.0-RC4)
103[info] * odin (2.13.6, 2.12.13, 3.8.0-RC4)
104[info] docs (2.13.6, 2.12.13, 3.8.0-RC4)
105[info] odin-core (2.13.6, 2.12.13, 3.8.0-RC4)
106[info] odin-zio (2.13.6, 2.12.13, 3.8.0-RC4)
107[info] odin-extras (2.13.6, 2.12.13, 3.8.0-RC4)
108[info] odin-json (2.13.6, 2.12.13, 3.8.0-RC4)
109[info] odin-slf4j (2.13.6, 2.12.13, 3.8.0-RC4)
110[info] odin-monix (2.13.6, 2.12.13, 3.8.0-RC4)
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 22, 2025, 5:55:35 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-RC4/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-RC4/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-RC4/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-RC4/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] FormatterSpec:
172[info] Formatter.formatThrowable with ThrowableFormat
173[info] - should support Indent
174[info] - should support Depth
175[info] - should support Filter
176[info] Formatter.formatPosition with PositionFormat
177[info] - should support PositionFormat
178[info] - should not abbreviate empty package
179[info] - should print context by default
180[info] - should disable context print if `printCtx=false`
181[info] ConsoleLoggerSpec:
182[info] - should route all messages with level <= INFO to stdout
183[info] - should route all messages with level >= WARN to stderr
184[info] LoggerNatTransformSpec:
185[info] - should transform each method
186[info] FileNamePatternSyntaxSpec:
187[info] year
188[info] - should extract current year
189[info] month
190[info] - should extract current month
191[info] day
192[info] - should extract current day
193[info] hour
194[info] - should extract current hour
195[info] minute
196[info] - should extract current minute
197[info] second
198[info] - should extract current second
199[info] file
200[info] - should process a single argument
201[info] file
202[info] - should process an argument in the beginning
203[info] file
204[info] - should process an argument in the end
205[info] file
206[info] - should process argument in the middle
207[info] file
208[info] - should process multiple arguments
209[info] file
210[info] - should process a string variable
211[info] DefaultLoggerSpec:
212[info] - should correctly construct LoggerMessage
213[info] - should write multiple messages
214[info] - should filter by minimal level
215[info] - should decrease min log level on update
216[info] - should increase min log level on update
217[info] ConfigSpec:
218[info] - should route based on the package
219[info] - should route based on the class
220[info] - should route based on the level
221[info] - should fallback to provided logger
222[info] - should not fallback to provided logger when message level does not match mapped logger level
223[info] - should check underlying min level
224[info] - should check fallback min level
225[info] ContextualLoggerSpec:
226[info] - should ContContextLogger.logger.checks minLevel
227[info] - should ContContextLogger.logger.log(list) <-> list.traverse(log)
228[info] - should pick up context from F[_]
229[info] - should embed context in all messages
230[info] AsyncLoggerSpec:
231[info] - should push logs down the chain
232[info] - should push logs to the queue
233[info] - should ignore errors in underlying logger
234[info] ConstContextLoggerSpec:
235[info] - should ContextualLogger.logger.checks minLevel
236[info] - should ContextualLogger.logger.log(list) <-> list.traverse(log)
237[info] - should add constant context to the record
238[info] - should add constant context to the records
239[info] SecretLoggerSpec:
240[info] - should SecretLogger.logger.checks minLevel
241[info] - should SecretLogger.logger.log(list) <-> list.traverse(log)
242[info] - should modify context by hashing secret keys of a message
243[info] - should modify context by hashing secret keys of messages
244[info] ContramapLoggerSpec:
245[info] - should ContramapLogger.logger.checks minLevel
246[info] - should ContramapLogger.logger.log(list) <-> list.traverse(log)
247[info] - should contramap(identity).log(msg) <-> log(msg)
248[info] - should contramap(f).log(msg) <-> log(f(msg))
249[info] WriterTLoggerSpec:
250[info] - should WriterTLogger.logger.checks minLevel
251[info] - should WriterTLogger.logger.log(list) <-> list.traverse(log)
252[info] - should write log into list
253[info] - should write all the logs into list
254[info] RenderSpec:
255[info] - should derive Render instance from cats.Show
256[info] - should use .toString
257[info] - should interpolate a string using Render for every argument
258[info] - should render byte
259[info] - should render short
260[info] - should render int
261[info] - should render long
262[info] - should render double
263[info] - should render float
264[info] - should render boolean
265[info] - should render UUID
266[info] - should render Option
267[info] - should render Seq
268[info] - should render List
269[info] - should render Vector
270[info] - should render NonEmptyList
271[info] - should render Iterable
272[info] LoggerMonoidSpec:
273[info] - should Logger.monoid.associative
274[info] - should Logger.monoid.collect0
275[info] - should Logger.monoid.combine all
276[info] - should Logger.monoid.combineAllOption
277[info] - should Logger.monoid.intercalateCombineAllOption
278[info] - should Logger.monoid.intercalateIntercalates
279[info] - should Logger.monoid.intercalateRepeat1
280[info] - should Logger.monoid.intercalateRepeat2
281[info] - should Logger.monoid.is id
282[info] - should Logger.monoid.left identity
283[info] - should Logger.monoid.repeat0
284[info] - should Logger.monoid.repeat1
285[info] - should Logger.monoid.repeat2
286[info] - should Logger.monoid.reverseCombineAllOption
287[info] - should Logger.monoid.reverseRepeat1
288[info] - should Logger.monoid.reverseRepeat2
289[info] - should Logger.monoid.reverseReverses
290[info] - should Logger.monoid.right identity
291[info] - should (logger1 |+| logger2).log <-> (logger1.log |+| logger2.log)
292[info] - should (logger1 |+| logger2).log(list) <-> (logger1.log |+| logger2.log(list))
293[info] - should set minimal level for underlying loggers
294[info] - should respect underlying log level of each logger
295[info] FilterLoggerSpec:
296[info] - should FilterLogger.logger.checks minLevel
297[info] - should FilterLogger.logger.log(list) <-> list.traverse(log)
298[info] - should logger.filter(p).log(msg) <-> F.whenA(p)(log(msg))
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-RC4/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-RC4/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-RC4/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-RC4/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": 17486, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
348 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
349 "test-compile": {"status": "ok", "tookMs": 15424, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
350 "test": {"status": "ok", "tookMs": 1506, "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": 65, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
358 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
359 "test-compile": {"status": "ok", "tookMs": 117, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
360 "test": {"status": "ok", "tookMs": 41639, "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": 1309, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
368 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
369 "test-compile": {"status": "ok", "tookMs": 1717, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
370 "test": {"status": "ok", "tookMs": 1521, "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": 818, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
378 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
379 "test-compile": {"status": "ok", "tookMs": 172, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
380 "test": {"status": "ok", "tookMs": 156, "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": 501, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
388 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
389 "test-compile": {"status": "ok", "tookMs": 158, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
390 "test": {"status": "ok", "tookMs": 157, "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 22, 2025, 5:57:34 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.