Build Logs
sbt/contraband • 3.8.0-RC6:2026-01-08
Errors
0
Warnings
63
Total Lines
343
1##################################
2Clonning https://github.com/sbt/contraband.git into /build/repo using revision v0.8.0
3##################################
4Note: switching to 'a7c6a560592593a8747d712a9a6426bac7b18acd'.
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.7.2
22----
23Preparing build for 3.8.0-RC6
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: project/Dependencies.scala
34Pattern: val scala3 = "3.7.2"
35Replacement: val scala3 = "3.8.0-RC6"
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.7.2"' in project/Dependencies.scala
40----
41Starting build for 3.8.0-RC6
42Execute tests: true
43sbt project found:
44No prepare script found for project sbt/contraband
45##################################
46Scala version: 3.8.0-RC6
47Targets: org.scala-sbt%contraband
48Project projectConfig: {"projects":{"exclude":[],"overrides":{}},"java":{"version":"17"},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"full","migrationVersions":[],"sourcePatches":[{"path":"project/Dependencies.scala","pattern":"val scala3 = \"3.7.2\"","replaceWith":"val scala3 = \"<SCALA_VERSION>\""}]}
49##################################
50Using extra scalacOptions: ,REQUIRE:-source:3.8
51Filtering out scalacOptions: ,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
52[sbt_options] declare -a sbt_options=()
53[process_args] java_version = '17'
54[copyRt] java9_rt = '/root/.sbt/1.0/java9-rt-ext-eclipse_adoptium_17_0_8/rt.jar'
55# Executing command line:
56java
57-Dfile.encoding=UTF-8
58-Dcommunitybuild.scala=3.8.0-RC6
59-Dcommunitybuild.project.dependencies.add=
60-Xmx7G
61-Xms4G
62-Xss8M
63-Dsbt.script=/root/.sdkman/candidates/sbt/current/bin/sbt
64-Dscala.ext.dirs=/root/.sbt/1.0/java9-rt-ext-eclipse_adoptium_17_0_8
65-jar
66/root/.sdkman/candidates/sbt/1.11.5/bin/sbt-launch.jar
67"setCrossScalaVersions 3.8.0-RC6"
68"++3.8.0-RC6 -v"
69"mapScalacOptions ",REQUIRE:-source:3.8,-Wconf:msg=can be rewritten automatically under:s" ",-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e""
70"set every credentials := Nil"
71"excludeLibraryDependency com.github.ghik:zerowaste_{scalaVersion} com.olegpy:better-monadic-for_3 org.polyvariant:better-tostring_{scalaVersion} org.wartremover:wartremover_{scalaVersion}"
72"removeScalacOptionsStartingWith -P:wartremover"
73
74moduleMappings
75"runBuild 3.8.0-RC6 """{"projects":{"exclude":[],"overrides":{}},"java":{"version":"17"},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"full","migrationVersions":[],"sourcePatches":[{"path":"project/Dependencies.scala","pattern":"val scala3 = \"3.7.2\"","replaceWith":"val scala3 = \"<SCALA_VERSION>\""}]}""" org.scala-sbt%contraband"
76
77[info] welcome to sbt 1.11.5 (Eclipse Adoptium Java 17.0.8)
78[info] loading settings for project repo-build from akka.sbt, plugins.sbt...
79[info] loading project definition from /build/repo/project
80[info] compiling 6 Scala sources to /build/repo/project/target/scala-2.12/sbt-1.0/classes ...
81[info] Non-compiled module 'compiler-bridge_2.12' for Scala 2.12.20. Compiling...
82[info] Compilation completed in 9.228s.
83[info] done compiling
84[info] loading settings for project root from build.sbt...
85[info] set current project to contraband root (in build file:/build/repo/)
86Execute setCrossScalaVersions: 3.8.0-RC6
87OpenCB::Changing crossVersion 3.8.0-RC6 -> 3.8.0-RC6 in library/crossScalaVersions
88OpenCB::Changing crossVersion 3.8.0-RC6 -> 3.8.0-RC6 in plugin/crossScalaVersions
89OpenCB::Limitting incorrect crossVersions List() -> List(2.12.20) in root/crossScalaVersions
90[info] set current project to contraband root (in build file:/build/repo/)
91[info] Setting Scala version to 3.8.0-RC6 on 2 projects.
92[info] Switching Scala version on:
93[info] library (2.13.15, 2.12.20, 3.8.0-RC6)
94[info] plugin (2.12.20, 3.8.0-RC6)
95[info] Excluding projects:
96[info] * root (2.12.20)
97[info] Reapplying settings...
98[info] set current project to contraband root (in build file:/build/repo/)
99Execute mapScalacOptions: ,REQUIRE:-source:3.8,-Wconf:msg=can be rewritten automatically under:s ,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
100[info] Reapplying settings...
101[info] set current project to contraband root (in build file:/build/repo/)
102[info] Defining Global / credentials, credentials and 1 others.
103[info] The new values will be used by Compile / scalafmtOnly, Global / pgpSelectPassphrase and 23 others.
104[info] Run `last` for details.
105[info] Reapplying settings...
106[info] set current project to contraband root (in build file:/build/repo/)
107Execute excludeLibraryDependency: com.github.ghik:zerowaste_{scalaVersion} com.olegpy:better-monadic-for_3 org.polyvariant:better-tostring_{scalaVersion} org.wartremover:wartremover_{scalaVersion}
108[info] Reapplying settings...
109OpenCB::Failed to reapply settings in excludeLibraryDependency: Reference to undefined setting:
110
111 Global / allExcludeDependencies from Global / allExcludeDependencies (CommunityBuildPlugin.scala:331)
112 Did you mean allExcludeDependencies ?
113 , retry without global scopes
114[info] Reapplying settings...
115[info] set current project to contraband root (in build file:/build/repo/)
116Execute removeScalacOptionsStartingWith: -P:wartremover
117[info] Reapplying settings...
118[info] set current project to contraband root (in build file:/build/repo/)
119[success] Total time: 0 s, completed Jan 8, 2026, 2:18:25 AM
120Build config: {"projects":{"exclude":[],"overrides":{}},"java":{"version":"17"},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"full","migrationVersions":[],"sourcePatches":[{"path":"project/Dependencies.scala","pattern":"val scala3 = \"3.7.2\"","replaceWith":"val scala3 = \"<SCALA_VERSION>\""}]}
121Parsed config: Success(ProjectBuildConfig(ProjectsConfig(List(),Map()),Full,List()))
122Starting build...
123Projects: Set(library)
124Starting build for ProjectRef(file:/build/repo/,library) (contraband)... [0/1]
125OpenCB::Exclude Scala3 specific scalacOption `REQUIRE:-source:3.8` in Scala 2.12.20 module Global
126OpenCB::Exclude Scala3 specific scalacOption `REQUIRE:-source:3.8` in Scala 2.12.20 module Scope(Select(BuildRef(file:/build/repo/)), Zero, Zero, Zero)
127Compile scalacOptions: -Xsource:3, -Xsemanticdb, -semanticdb-target, /build/repo/library/target/scala-3.8.0-RC6/meta, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
128[info] compiling 14 Scala sources to /build/repo/library/target/scala-3.8.0-RC6/classes ...
129[warn] bad option '-Xsource:3' was ignored
130[warn] -- [E029] Pattern Match Exhaustivity Warning: /build/repo/library/src/main/scala/sbt/contraband/JavaCodeGen.scala:147:50
131[warn] 147 | private def genRealTpe(tpe: ast.Type): String = tpe match {
132[warn] | ^^^
133[warn] | match may not be exhaustive.
134[warn] |
135[warn] | It would fail on pattern case: _: sbt.contraband.ast.Type
136[warn] |
137[warn] | longer explanation available when compiling with `-explain`
138[warn] -- [E029] Pattern Match Exhaustivity Warning: /build/repo/library/src/main/scala/sbt/contraband/JavaCodeGen.scala:266:8
139[warn] 266 | case f if provided contains f => s"_${f.name}"
140[warn] | ^
141[warn] |match may not be exhaustive.
142[warn] |
143[warn] |It would fail on pattern case: sbt.contraband.ast.FieldDefinition(_, _, _, _, _, _, _)
144[warn] |
145[warn] | longer explanation available when compiling with `-explain`
146[warn] -- [E029] Pattern Match Exhaustivity Warning: /build/repo/library/src/main/scala/sbt/contraband/JavaCodeGen.scala:271:8
147[warn] 271 | case f if provided contains f => s"${f.name} = _${f.name};"
148[warn] | ^
149[warn] |match may not be exhaustive.
150[warn] |
151[warn] |It would fail on pattern case: sbt.contraband.ast.FieldDefinition(_, _, _, _, _, _, _)
152[warn] |
153[warn] | longer explanation available when compiling with `-explain`
154[warn] -- [E029] Pattern Match Exhaustivity Warning: /build/repo/library/src/main/scala/sbt/contraband/JavaCodeGen.scala:286:12
155[warn] 286 | case f if (provided contains f) && f.fieldType.isOptionalType && !f.fieldType.isLazyType =>
156[warn] | ^
157[warn] |match may not be exhaustive.
158[warn] |
159[warn] |It would fail on pattern case: sbt.contraband.ast.FieldDefinition(_, _, _, _, _, _, _)
160[warn] |
161[warn] | longer explanation available when compiling with `-explain`
162[warn] -- [E029] Pattern Match Exhaustivity Warning: /build/repo/library/src/main/scala/sbt/contraband/JavaCodeGen.scala:294:14
163[warn] 294 | case f if (provided contains f) && f.fieldType.isOptionalType && !f.fieldType.isLazyType =>
164[warn] | ^
165[warn] |match may not be exhaustive.
166[warn] |
167[warn] |It would fail on pattern case: sbt.contraband.ast.FieldDefinition(_, _, _, _, _, _, _)
168[warn] |
169[warn] | longer explanation available when compiling with `-explain`
170[warn] -- [E029] Pattern Match Exhaustivity Warning: /build/repo/library/src/main/scala/sbt/contraband/ScalaCodeGen.scala:248:6
171[warn] 248 | tpe match {
172[warn] | ^^^
173[warn] | match may not be exhaustive.
174[warn] |
175[warn] | It would fail on pattern case: _: sbt.contraband.ast.Type
176[warn] |
177[warn] | longer explanation available when compiling with `-explain`
178[warn] -- [E029] Pattern Match Exhaustivity Warning: /build/repo/library/src/main/scala/sbt/contraband/ScalaCodeGen.scala:428:12
179[warn] 428 | case f if provided contains f => bq(f.name)
180[warn] | ^
181[warn] |match may not be exhaustive.
182[warn] |
183[warn] |It would fail on pattern case: sbt.contraband.ast.FieldDefinition(_, _, _, _, _, _, _)
184[warn] |
185[warn] | longer explanation available when compiling with `-explain`
186[warn] there was 1 deprecation warning; re-run with -deprecation for details
187[warn] 9 warnings found
188[info] done compiling
189[info] compiling 14 Scala sources to /build/repo/library/target/scala-3.8.0-RC6/test-classes ...
190[warn] bad option '-Xsource:3' was ignored
191[warn] there were 2 feature warnings; re-run with -feature for details
192[warn] there were 14 deprecation warnings; re-run with -deprecation for details
193[warn] three warnings found
194[info] done compiling
195[info] sbt.contraband.GraphQLSchemaParserSpec
196[info] - SchemaParser should parse an empty type
197[info] - parse two types
198[info] - parse a type with doc comments
199[info] - parse a type with extra comments
200[info] - parse a type with target directive
201[info] - parse a type with fields
202[info] - parse a type with fields with defaults
203[info] - parse a type with fields with since directive
204[info] - parse an interface
205[info] - parse an interface with a parent
206[info] - parse an enumueration
207[info] - parse a type with package
208[info] JsonSchemaSpec:
209[info] Document.parse should
210[info] - should parse empty schemas
211[info] - should parse complete example
212[info] TypeDefinitions.parse
213[info] - should parse interface
214[info] - should parse record
215[info] - should parse enumeration
216[info] - should throw an error on invalid definition kind
217[info] InterfaceTypeDefinition.parse
218[info] - should parse simple interface
219[info] - should parse interface with one child
220[info] - should parse nested interfaces
221[info] Record.parse
222[info] - should parse simple record
223[info] Enumeration.parse
224[info] - should parse simple enumeration
225[info] FieldDefinition.parseMessage
226[info] - should parse
227[info] FieldDefinition.parse
228[info] - should parse
229[info] - should parse multiline doc comments
230[info] Type.parse
231[info] - should parse simple types
232[info] - should parse lazy types
233[info] - should parse array types
234[info] - should parse option types
235[info] - should parse lazy array types
236[info] - should parse lazy option types
237[info] sbt.contraband.GraphQLCodecCodeGenSpec
238[info] - generate(Interface) should generate a codec for an interface
239[info] - generate a codec for a two-level hierarchy of interfaces
240[info] - generate a codec for an interfaces, whose child contains custom field
241[info] JsonCodecCodeGenSpec:
242[info] generate(Enumeration)
243[info] - should generate a simple enumeration
244[info] generate(Interface)
245[info] - should generate a simple interface
246[info] - should generate a simple interface with one child
247[info] - should generate nested interfaces
248[info] - should generate messages
249[info] generate(Record)
250[info] - should generate a simple record
251[info] - should grow a record from 0 to 1 field
252[info] - should grow a record from 0 to 1 to 2 fields
253[info] - should generate correct types
254[info] - should generate with different modifier
255[info] generate(Schema)
256[info] - should generate a complete schema
257[info] - should generate and indent a complete schema
258[info] - should generate correct type references
259[info] - should generate correct type references (no lazy)
260[info] The full codec object
261[info] - should include the codec of all protocol defined in the schema
262[info] sbt.contraband.GraphQLJavaCodeGenSpec
263[info] - generate(Enumeration) should generate a simple enumeration
264[info] - generate(Record) should generate a record
265[info] - generate with xinterface
266[info] - grow a record from 0 to 1 field
267[info] - grow a record from 0 to 2 field
268[info] - generate(Interface) should generate an interface with one child
269[info] - generate messages
270[info] GraphQLMixedCodeGenSpec:
271[info] generate(Record)
272[info] - should handle mixed Java-Scala inheritance
273[info] JsonScalaCodeGenSpec:
274[info] generate(Enumeration)
275[info] - should generate a simple enumeration
276[info] generate(Interface)
277[info] - should generate a simple interface
278[info] - should generate a simple interface with one child
279[info] - should generate nested interfaces
280[info] - should generate messages
281[info] generate(Record)
282[info] - should generate a simple record
283[info] - should grow a record from 0 to 1 field
284[info] - should grow a record from 0 to 1 to 2 fields
285[info] - should generate correct types
286[info] - should generate with different modifier
287[info] generate(Schema)
288[info] - should generate a complete schema
289[info] - should generate and indent a complete schema
290[info] - should generate correct type references
291[info] - should generate correct type references (no lazy)
292[info] sbt.contraband.GraphQLScalaCodeGenSpec
293[info] - generate(Enumeration) should generate a simple enumeration
294[info] - generate(Record) should generate a record
295[info] - generate with xinterface
296[info] - generate Map[String, String] from StringStringMap
297[info] - grow a record from 0 to 1 field
298[info] - grow a record from 0 to 2 field
299[info] - generate with modifier
300[info] - generate(Interface) should generate an interface with one child
301[info] - generate messages
302[info] - generate with customization
303[info] JsonJavaCodeGenSpec:
304[info] generate(Enumeration)
305[info] - should generate a simple enumeration
306[info] generate(Interface)
307[info] - should generate a simple interface
308[info] - should generate a simple interface with one child
309[info] - should generate nested interfaces
310[info] - should generate messages
311[info] generate(Record)
312[info] - should generate a simple record
313[info] - should grow a record from 0 to 1 field
314[info] - should grow a record from 0 to 1 to 2 fields
315[info] - should generate correct types
316[info] - should generate with different modifier
317[info] generate(Schema)
318[info] - should generate a complete schema
319[info] - should generate and indent a complete schema
320[info] - should generate correct type references
321[info] - should generate correct type references (no lazy)
322
323************************
324Build summary:
325[{
326 "module": "contraband",
327 "compile": {"status": "ok", "tookMs": 23382, "warnings": 7, "errors": 0, "sourceVersion": "3.8"},
328 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
329 "test-compile": {"status": "ok", "tookMs": 6234, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
330 "test": {"status": "ok", "tookMs": 1129, "passed": 96, "failed": 0, "ignored": 0, "skipped": 0, "total": 96, "byFramework": [{"framework": "unknown", "stats": {"passed": 96, "failed": 0, "ignored": 0, "skipped": 0, "total": 96}}]},
331 "publish": {"status": "skipped", "tookMs": 0},
332 "metadata": {
333 "crossScalaVersions": ["2.13.15", "2.12.20", "3.7.2"]
334}
335}]
336************************
337[success] Total time: 32 s, completed Jan 8, 2026, 2:18:57 AM
338[0JChecking patch project/plugins.sbt...
339Checking patch project/Dependencies.scala...
340Checking patch build.sbt...
341Applied patch project/plugins.sbt cleanly.
342Applied patch project/Dependencies.scala cleanly.
343Applied patch build.sbt cleanly.