Build Logs
sbt/contraband • 3.8.1-RC1:2026-01-13
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.1-RC1
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.1-RC1"
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.1-RC1
42Execute tests: true
43sbt project found:
44No prepare script found for project sbt/contraband
45##################################
46Scala version: 3.8.1-RC1
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.1-RC1
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.1-RC1"
68"++3.8.1-RC1 -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.1-RC1 """{"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 8.778s.
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.1-RC1
87OpenCB::Changing crossVersion 3.8.1-RC1 -> 3.8.1-RC1 in library/crossScalaVersions
88OpenCB::Changing crossVersion 3.8.1-RC1 -> 3.8.1-RC1 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.1-RC1 on 2 projects.
92[info] Switching Scala version on:
93[info] library (2.13.15, 2.12.20, 3.8.1-RC1)
94[info] plugin (2.12.20, 3.8.1-RC1)
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 13, 2026, 7:56:47 PM
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.1-RC1/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.1-RC1/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.1-RC1/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.GraphQLCodecCodeGenSpec
196[info] - generate(Interface) should generate a codec for an interface
197[info] - generate a codec for a two-level hierarchy of interfaces
198[info] - generate a codec for an interfaces, whose child contains custom field
199[info] GraphQLMixedCodeGenSpec:
200[info] generate(Record)
201[info] - should handle mixed Java-Scala inheritance
202[info] JsonSchemaSpec:
203[info] Document.parse should
204[info] - should parse empty schemas
205[info] - should parse complete example
206[info] TypeDefinitions.parse
207[info] - should parse interface
208[info] - should parse record
209[info] - should parse enumeration
210[info] - should throw an error on invalid definition kind
211[info] InterfaceTypeDefinition.parse
212[info] - should parse simple interface
213[info] - should parse interface with one child
214[info] - should parse nested interfaces
215[info] Record.parse
216[info] - should parse simple record
217[info] Enumeration.parse
218[info] - should parse simple enumeration
219[info] FieldDefinition.parseMessage
220[info] - should parse
221[info] FieldDefinition.parse
222[info] - should parse
223[info] - should parse multiline doc comments
224[info] Type.parse
225[info] - should parse simple types
226[info] - should parse lazy types
227[info] - should parse array types
228[info] - should parse option types
229[info] - should parse lazy array types
230[info] - should parse lazy option types
231[info] JsonCodecCodeGenSpec:
232[info] generate(Enumeration)
233[info] - should generate a simple enumeration
234[info] generate(Interface)
235[info] - should generate a simple interface
236[info] - should generate a simple interface with one child
237[info] - should generate nested interfaces
238[info] - should generate messages
239[info] generate(Record)
240[info] - should generate a simple record
241[info] - should grow a record from 0 to 1 field
242[info] - should grow a record from 0 to 1 to 2 fields
243[info] - should generate correct types
244[info] - should generate with different modifier
245[info] generate(Schema)
246[info] - should generate a complete schema
247[info] - should generate and indent a complete schema
248[info] - should generate correct type references
249[info] - should generate correct type references (no lazy)
250[info] The full codec object
251[info] - should include the codec of all protocol defined in the schema
252[info] sbt.contraband.GraphQLScalaCodeGenSpec
253[info] - generate(Enumeration) should generate a simple enumeration
254[info] - generate(Record) should generate a record
255[info] - generate with xinterface
256[info] - generate Map[String, String] from StringStringMap
257[info] - grow a record from 0 to 1 field
258[info] - grow a record from 0 to 2 field
259[info] - generate with modifier
260[info] - generate(Interface) should generate an interface with one child
261[info] - generate messages
262[info] - generate with customization
263[info] sbt.contraband.GraphQLSchemaParserSpec
264[info] - SchemaParser should parse an empty type
265[info] - parse two types
266[info] - parse a type with doc comments
267[info] - parse a type with extra comments
268[info] - parse a type with target directive
269[info] - parse a type with fields
270[info] - parse a type with fields with defaults
271[info] - parse a type with fields with since directive
272[info] - parse an interface
273[info] - parse an interface with a parent
274[info] - parse an enumueration
275[info] - parse a type with package
276[info] sbt.contraband.GraphQLJavaCodeGenSpec
277[info] - generate(Enumeration) should generate a simple enumeration
278[info] - generate(Record) should generate a record
279[info] - generate with xinterface
280[info] - grow a record from 0 to 1 field
281[info] - grow a record from 0 to 2 field
282[info] - generate(Interface) should generate an interface with one child
283[info] - generate messages
284[info] JsonScalaCodeGenSpec:
285[info] generate(Enumeration)
286[info] - should generate a simple enumeration
287[info] generate(Interface)
288[info] - should generate a simple interface
289[info] - should generate a simple interface with one child
290[info] - should generate nested interfaces
291[info] - should generate messages
292[info] generate(Record)
293[info] - should generate a simple record
294[info] - should grow a record from 0 to 1 field
295[info] - should grow a record from 0 to 1 to 2 fields
296[info] - should generate correct types
297[info] - should generate with different modifier
298[info] generate(Schema)
299[info] - should generate a complete schema
300[info] - should generate and indent a complete schema
301[info] - should generate correct type references
302[info] - should generate correct type references (no lazy)
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": 24936, "warnings": 7, "errors": 0, "sourceVersion": "3.8"},
328 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
329 "test-compile": {"status": "ok", "tookMs": 6161, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
330 "test": {"status": "ok", "tookMs": 960, "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: 34 s, completed Jan 13, 2026, 7:57:21 PM
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.