Build Logs
pjfanning/scala3-reflection • 3.8.1-RC1:2026-01-13
Errors
26
Warnings
4
Total Lines
305
1##################################
2Clonning https://github.com/pjfanning/scala3-reflection.git into /build/repo using revision v1.3.1
3##################################
4Note: switching to '5dae8808a0af9506e7074adbdff5977a11482a34'.
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.1-RC1
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: src/main/scala/co.blocke.scala_reflection/ReflectionWorker.scala
33Pattern: def init(options: List[String]): List[PluginPhase]
34Replacement: override def init(options: List[String]): List[PluginPhase]
35Starting compilation server
36Compiling project (Scala 3.7.3, JVM (17))
37Compiled project (Scala 3.7.3, JVM (17))
38Successfully applied pattern 'def init(options: List[String]): List[PluginPhase]' in src/main/scala/co.blocke.scala_reflection/ReflectionWorker.scala
39----
40Starting build for 3.8.1-RC1
41Execute tests: true
42sbt project found:
43Sbt version 1.9.6 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 pjfanning/scala3-reflection
46##################################
47Scala version: 3.8.1-RC1
48Targets: com.github.pjfanning%scala3-reflection
49Project projectConfig: {"projects":{"exclude":[],"overrides":{}},"java":{"version":"17"},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"full","migrationVersions":[],"sourcePatches":[{"path":"src/main/scala/co.blocke.scala_reflection/ReflectionWorker.scala","pattern":"def init(options: List[String]): List[PluginPhase]","replaceWith":"override def init(options: List[String]): List[PluginPhase]"}]}
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.1-RC1
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.1-RC1"
69"++3.8.1-RC1 -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.1-RC1 """{"projects":{"exclude":[],"overrides":{}},"java":{"version":"17"},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"full","migrationVersions":[],"sourcePatches":[{"path":"src/main/scala/co.blocke.scala_reflection/ReflectionWorker.scala","pattern":"def init(options: List[String]): List[PluginPhase]","replaceWith":"override def init(options: List[String]): List[PluginPhase]"}]}""" com.github.pjfanning%scala3-reflection"
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.519s.
84[info] done compiling
85[info] loading settings for project root from build.sbt...
86[info] set current project to scala3-reflection (in build file:/build/repo/)
87Execute setCrossScalaVersions: 3.8.1-RC1
88OpenCB::Changing crossVersion 3.3.0 -> 3.8.1-RC1 in root/crossScalaVersions
89[info] set current project to scala3-reflection (in build file:/build/repo/)
90[info] Setting Scala version to 3.8.1-RC1 on 1 projects.
91[info] Switching Scala version on:
92[info] * root (3.8.1-RC1)
93[info] Excluding projects:
94[info] Reapplying settings...
95[info] set current project to scala3-reflection (in build file:/build/repo/)
96Execute mapScalacOptions: ,REQUIRE:-source:3.8,-Wconf:msg=can be rewritten automatically under:s ,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
97[info] Reapplying settings...
98[info] set current project to scala3-reflection (in build file:/build/repo/)
99[info] Defining Global / credentials, credentials
100[info] The new values will be used by Global / pgpSelectPassphrase, Global / pgpSigningKey and 4 others.
101[info] Run `last` for details.
102[info] Reapplying settings...
103[info] set current project to scala3-reflection (in build file:/build/repo/)
104Execute excludeLibraryDependency: com.github.ghik:zerowaste_{scalaVersion} com.olegpy:better-monadic-for_3 org.polyvariant:better-tostring_{scalaVersion} org.wartremover:wartremover_{scalaVersion}
105[info] Reapplying settings...
106OpenCB::Failed to reapply settings in excludeLibraryDependency: Reference to undefined setting:
107
108 Global / allExcludeDependencies from Global / allExcludeDependencies (CommunityBuildPlugin.scala:331)
109 Did you mean allExcludeDependencies ?
110 , retry without global scopes
111[info] Reapplying settings...
112[info] set current project to scala3-reflection (in build file:/build/repo/)
113Execute removeScalacOptionsStartingWith: -P:wartremover
114[info] Reapplying settings...
115[info] set current project to scala3-reflection (in build file:/build/repo/)
116[success] Total time: 0 s, completed Jan 13, 2026, 8:17:38 PM
117Build config: {"projects":{"exclude":[],"overrides":{}},"java":{"version":"17"},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"full","migrationVersions":[],"sourcePatches":[{"path":"src/main/scala/co.blocke.scala_reflection/ReflectionWorker.scala","pattern":"def init(options: List[String]): List[PluginPhase]","replaceWith":"override def init(options: List[String]): List[PluginPhase]"}]}
118Parsed config: Success(ProjectBuildConfig(ProjectsConfig(List(),Map()),Full,List()))
119Starting build...
120Projects: Set(root)
121Starting build for ProjectRef(file:/build/repo/,root) (scala3-reflection)... [0/1]
122OpenCB::Exclude Scala3 specific scalacOption `REQUIRE:-source:3.8` in Scala 2.12.20 module Global
123OpenCB::Filter out '-feature', matches setting pattern '^-?-feature'
124OpenCB::Filter out '-deprecation', matches setting pattern '^-?-deprecation'
125Compile scalacOptions: -unchecked, -language:implicitConversions, -encoding, utf8, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
126[info] compiling 58 Scala sources and 2 Java sources to /build/repo/target/scala-3.8.1-RC1/classes ...
127[warn] there was 1 deprecation warning; re-run with -deprecation for details
128[warn] one warning found
129[info] done compiling
130[info] compiling 13 Scala sources and 17 Java sources to /build/repo/target/scala-3.8.1-RC1/test-classes ...
131[warn] there were 5 deprecation warnings; re-run with -deprecation for details
132[warn] one warning found
133[info] /build/repo/src/test/java/co/blocke/reflect/Person.java: Person.java uses unchecked or unsafe operations.
134[info] /build/repo/src/test/java/co/blocke/reflect/Person.java: Recompile with -Xlint:unchecked for details.
135[info] done compiling
136co.blocke.scala_reflection.TestObject:
137 + reflect basic Generic class declared inside Object 0.064s
138co.blocke.scala_reflection.JavaNonTasty:
139 + basic Java collections 0.013s
140 + reflect basic with capture 0.02s
141 + create Java object 0.002s
142 + Verify Java primitives 0.009s
143 + Detect parameterized Java class 1.099s
144 + Java collection types 0.003s
145 + Nested Java classes 0.013s
146 + Java parameterized class top level 0.002s
147==> X co.blocke.scala_reflection.JavaNonTasty.expected error running tests 0.002s java.lang.IllegalAccessError: class co.blocke.scala_reflection.impl.JavaClassInspector$ (in unnamed module @0x363070c5) cannot access class sun.reflect.generics.reflectiveObjects.WildcardTypeImpl (in module java.base) because module java.base does not export sun.reflect.generics.reflectiveObjects to unnamed module @0x363070c5
148 at co.blocke.scala_reflection.impl.JavaClassInspector$.$anonfun$5(JavaClassInspector.scala:83)
149 at scala.collection.immutable.List.map(List.scala:240)
150 at co.blocke.scala_reflection.impl.JavaClassInspector$.co$blocke$scala_reflection$impl$JavaClassInspector$$$inspectType(JavaClassInspector.scala:82)
151 at co.blocke.scala_reflection.impl.JavaClassInspector$$anon$1.applyOrElse(JavaClassInspector.scala:51)
152 at co.blocke.scala_reflection.impl.JavaClassInspector$$anon$1.applyOrElse(JavaClassInspector.scala:43)
153 at scala.collection.immutable.List.collect(List.scala:261)
154 at co.blocke.scala_reflection.impl.JavaClassInspector$.parseFields(JavaClassInspector.scala:53)
155 at co.blocke.scala_reflection.impl.JavaClassInspector$.inspectClass(JavaClassInspector.scala:28)
156 at co.blocke.scala_reflection.info.JavaClassInfo.proxy$lzyINIT1$$anonfun$1(ClassInfo.scala:254)
157 at scala.Option.getOrElse(Option.scala:203)
158 at co.blocke.scala_reflection.info.JavaClassInfo.proxy$lzyINIT1(ClassInfo.scala:254)
159 at co.blocke.scala_reflection.info.JavaClassInfo.proxy(ClassInfo.scala:254)
160 at co.blocke.scala_reflection.info.JavaClassInfo.fields$lzyINIT3(ClassInfo.scala:255)
161 at co.blocke.scala_reflection.info.JavaClassInfo.fields(ClassInfo.scala:255)
162 at co.blocke.scala_reflection.info.JavaClassInfo.show(ClassInfo.scala:284)
163 at co.blocke.scala_reflection.JavaNonTasty.$init$$$anonfun$9(JavaNonTasty.scala:209)
164co.blocke.scala_reflection.PackageObject:
165 + reflect basic Generic class declared inside Package Object 0.002s
166co.blocke.scala_reflection.ScalaTasty:
167 + reflect basic Tasty class with union 0.002s
168 + create basic Tasty class 0.001s
169 + handle match types 0.001s
170 + Skip_Reflection annotation works 0.0s
171 + process mixins 0.0s
172 + capture field and class annotations 0.001s
173 + handle parameterized class - inspection 0.383s
174 + handle parameterized class - reflection 0.0s
175 + handle opaque type alias 0.002s
176 + opaque type alias is a union type 0.001s
177 + support value classes 0.001s
178 + detect default values in case class constructor fields 0.002s
179 + plain class support 0.01s
180 + all Scala primitive types 0.0s
181 + Scala 2.x class 0.001s
182 + Try type 0.001s
183 + sealed trait with case classes 0.003s
184 + sealed trait with case objects 0.001s
185 + sealed abstract class with case class 0.001s
186 + handle intersection types 0.005s
187 + handle Scala non-case classes 0.002s
188 + Inheritance and Annotations 0.003s
189 + Inheritance and Parameterized Classes 0.002s
190 + Self-referencing types (non-parameterized 0.436s
191 + Self-referencing types (parameterized 0.189s
192 + Ensure caching (equals) works 0.001s
193 + Classes defined inside objects should work 0.001s
194co.blocke.scala_reflection.Enums:
195 + Java Enums 0.003s
196 + Scala Enums (old and new) 0.003s
197 + Scala Enum methods 0.002s
198 + Scala2 Enumeration methods 0.006s
199co.blocke.scala_reflection.Collections:
200 + Scala List 0.001s
201 + Scala Set 0.0s
202 + Scala Map 1 0.001s
203 + Scala Map 2 0.0s
204 + Scala mutable List 0.0s
205 + Scala mutable Set 0.001s
206 + Scala mutable Map 1 0.0s
207 + Scala mutable Map 2 0.0s
208 + Nested Collections 0.001s
209 + Tuples 0.002s
210 + Scala Arrays 0.0s
211co.blocke.scala_reflection.InnerClass:
212 + Scala Inner Types 0.001s
213co.blocke.scala_reflection.Eithers:
214 + Scala simple Either field 0.001s
215 + Scala simple Either field assignment 0.001s
216 + Scala Either with Option 0.001s
217 + Scala Either with Option assignment 0.001s
218 + Scala Either with Union type 0.0s
219 + Scala Either with Union type assignment 0.002s
220 + Scala Either having a parameterized type 0.0s
221co.blocke.scala_reflection.Options:
222 + Option[String] 0.001s
223 + java ArrayList of Option[String] 0.0s
224 + Scala optional field 0.001s
225 + Java optional field 0.001s
226 + Scala nested optional field 0.001s
227 + Java nested optional field 0.001s
228 + Scala optional parameterized field 0.001s
229 + Java optional parameterized field 0.001s
230 + Option assignments in union type 0.001s
231 + Option of a union 0.0s
232 + Option of a union assignment 0.002s
233co.blocke.scala_reflection.Parameters:
234 + 0-level param substitution 0.0s
235 + 0-level Option substitution 0.001s
236 + 0-level Either substitution 0.0s
237 + 0-level Map substitution 0.001s
238 + 0-level List (Seq) substitution 0.0s
239 + 0-level Try substitution 0.0s
240 + 0-level Trait substitution 0.001s
241 + 0-level Tuple substitution 0.001s
242 + 0-level Union substitution 0.0s
243 + 0-level Intersection substitution 0.001s
244 + 1st level param substitution 0.0s
245 + 2nd level param substitution - Option 0.001s
246 + 3rd level param substitution - Option 0.0s
247 + 2nd and 3rd level param substitution - Either 0.001s
248 + Opaque type alias type substitution (rare) 0.0s
249 + 2nd level subsitution in a class field 0.001s
250 + List and Map subsitituion 0.0s
251 + Try type substitution 0.001s
252 + Trait type substitution 0.0s
253 + Union type substitution 0.001s
254 + Type member substitutions 0.001s
255 + Nested trait substitutions 0.254s
256 + With nested Option and List 0.183s
257 + With nested Try 0.177s
258 + With nested Map and Array 0.25s
259 + With nested case class and non-case class 0.182s
260 + With nested case class and non-case class (inverted) 0.146s
261 + InTermsOf deep type substitution 0.148s
262co.blocke.scala_reflection.Serialization:
263 + Serialize/Derialize basic case class 0.002s
264 + Serialize/Deserialize self-referencing case class 0.001s
265[error] Test suite co.blocke.scala_reflection.JavaNonTasty failed with java.lang.IllegalAccessError: class co.blocke.scala_reflection.impl.JavaClassInspector$ (in unnamed module @0x363070c5) cannot access class sun.reflect.generics.reflectiveObjects.WildcardTypeImpl (in module java.base) because module java.base does not export sun.reflect.generics.reflectiveObjects to unnamed module @0x363070c5.
266[error] This may be due to the ClassLoaderLayeringStrategy (ScalaLibrary) used by your task.
267[error] To improve performance and reduce memory, sbt attempts to cache the class loaders used to load the project dependencies.
268[error] The project class files are loaded in a separate class loader that is created for each test run.
269[error] The test class loader accesses the project dependency classes using the cached project dependency classloader.
270[error] With this approach, class loading may fail under the following conditions:
271[error]
272[error] * Dependencies use reflection to access classes in your project's classpath.
273[error] Java serialization/deserialization may cause this.
274[error] * An open package is accessed across layers. If the project's classes access or extend
275[error] jvm package private classes defined in a project dependency, it may cause an IllegalAccessError
276[error] because the jvm enforces package private at the classloader level.
277[error]
278[error] These issues, along with others that were not enumerated above, may be resolved by changing the class loader layering strategy.
279[error] The Flat and ScalaLibrary strategies bundle the full project classpath in the same class loader.
280[error] To use one of these strategies, set the ClassLoaderLayeringStrategy key
281[error] in your configuration, for example:
282[error]
283[error] set root / Test / classLoaderLayeringStrategy := ClassLoaderLayeringStrategy.ScalaLibrary
284[error] set root / Test / classLoaderLayeringStrategy := ClassLoaderLayeringStrategy.Flat
285[error]
286[error] See ClassLoaderLayeringStrategy.scala for the full list of options.
287
288************************
289Build summary:
290[{
291 "module": "scala3-reflection",
292 "compile": {"status": "ok", "tookMs": 15012, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
293 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
294 "test-compile": {"status": "ok", "tookMs": 5350, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
295 "test": {"status": "failed", "tookMs": 4108, "passed": 101, "failed": 1, "ignored": 0, "skipped": 0, "total": 102, "byFramework": [{"framework": "munit", "stats": {"passed": 101, "failed": 1, "ignored": 0, "skipped": 0, "total": 102}}]},
296 "publish": {"status": "skipped", "tookMs": 0},
297 "metadata": {
298 "crossScalaVersions": ["3.3.0"]
299}
300}]
301************************
302[error] Scala3CommunityBuild$ProjectBuildFailureException: 1 module(s) finished with failures: scala3-reflection
303[error] (Global / runBuild) Scala3CommunityBuild$ProjectBuildFailureException: 1 module(s) finished with failures: scala3-reflection
304[error] Total time: 26 s, completed Jan 13, 2026, 8:18:04 PM
305[0JBuild failed, not retrying.