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