Build Logs

valskalla/odin • 3.8.0-RC6:2026-01-08

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