Build Logs

pjfanning/scala3-reflection • 3.8.0-RC2:2025-11-28

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.0-RC2
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.0-RC2
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.0-RC2
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.0-RC2
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-RC2"
69"++3.8.0-RC2 -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-RC2 """{"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.99s.
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.0-RC2
88OpenCB::Changing crossVersion 3.3.0 -> 3.8.0-RC2 in root/crossScalaVersions
89[info] set current project to scala3-reflection (in build file:/build/repo/)
90[info] Setting Scala version to 3.8.0-RC2 on 1 projects.
91[info] Switching Scala version on:
92[info] * root (3.8.0-RC2)
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 Nov 28, 2025, 3:42:51 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.0-RC2/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.0-RC2/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.11s
138co.blocke.scala_reflection.JavaNonTasty:
139 + basic Java collections 0.008s
140 + reflect basic with capture 0.018s
141 + create Java object 0.002s
142 + Verify Java primitives 0.008s
143 + Detect parameterized Java class 1.153s
144 + Java collection types 0.005s
145 + Nested Java classes 0.018s
146 + Java parameterized class top level 0.002s
147==> X co.blocke.scala_reflection.JavaNonTasty.expected error running tests 0.001s java.lang.IllegalAccessError: class co.blocke.scala_reflection.impl.JavaClassInspector$ (in unnamed module @0x33dea5d) 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 @0x33dea5d
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.001s
166co.blocke.scala_reflection.ScalaTasty:
167 + reflect basic Tasty class with union 0.003s
168 + create basic Tasty class 0.001s
169 + handle match types 0.0s
170 + Skip_Reflection annotation works 0.001s
171 + process mixins 0.0s
172 + capture field and class annotations 0.001s
173 + handle parameterized class - inspection 0.557s
174 + handle parameterized class - reflection 0.001s
175 + handle opaque type alias 0.001s
176 + opaque type alias is a union type 0.001s
177 + support value classes 0.0s
178 + detect default values in case class constructor fields 0.002s
179 + plain class support 0.005s
180 + all Scala primitive types 0.001s
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.002s
186 + handle intersection types 0.002s
187 + handle Scala non-case classes 0.001s
188 + Inheritance and Annotations 0.001s
189 + Inheritance and Parameterized Classes 0.001s
190 + Self-referencing types (non-parameterized 0.521s
191 + Self-referencing types (parameterized 0.231s
192 + Ensure caching (equals) works 0.0s
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.002s
197 + Scala Enum methods 0.002s
198 + Scala2 Enumeration methods 0.006s
199co.blocke.scala_reflection.Collections:
200 + Scala List 0.002s
201 + Scala Set 0.001s
202 + Scala Map 1 0.0s
203 + Scala Map 2 0.001s
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.001s
208 + Nested Collections 0.0s
209 + Tuples 0.002s
210 + Scala Arrays 0.002s
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.002s
216 + Scala Either with Option 0.0s
217 + Scala Either with Option assignment 0.002s
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.0s
223 + java ArrayList of Option[String] 0.001s
224 + Scala optional field 0.0s
225 + Java optional field 0.002s
226 + Scala nested optional field 0.0s
227 + Java nested optional field 0.002s
228 + Scala optional parameterized field 0.0s
229 + Java optional parameterized field 0.002s
230 + Option assignments in union type 0.001s
231 + Option of a union 0.001s
232 + Option of a union assignment 0.001s
233co.blocke.scala_reflection.Parameters:
234 + 0-level param substitution 0.001s
235 + 0-level Option substitution 0.0s
236 + 0-level Either substitution 0.001s
237 + 0-level Map substitution 0.0s
238 + 0-level List (Seq) substitution 0.001s
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.001s
247 + 2nd and 3rd level param substitution - Either 0.0s
248 + Opaque type alias type substitution (rare) 0.001s
249 + 2nd level subsitution in a class field 0.0s
250 + List and Map subsitituion 0.001s
251 + Try type substitution 0.0s
252 + Trait type substitution 0.001s
253 + Union type substitution 0.0s
254 + Type member substitutions 0.002s
255 + Nested trait substitutions 0.39s
256 + With nested Option and List 0.253s
257 + With nested Try 0.234s
258 + With nested Map and Array 0.285s
259 + With nested case class and non-case class 0.237s
260 + With nested case class and non-case class (inverted) 0.206s
261 + InTermsOf deep type substitution 0.2s
262co.blocke.scala_reflection.Serialization:
263 + Serialize/Derialize basic case class 0.002s
264 + Serialize/Deserialize self-referencing case class 0.0s
265[error] Test suite co.blocke.scala_reflection.JavaNonTasty failed with java.lang.IllegalAccessError: class co.blocke.scala_reflection.impl.JavaClassInspector$ (in unnamed module @0x33dea5d) 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 @0x33dea5d.
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": 18350, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
293 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
294 "test-compile": {"status": "ok", "tookMs": 5576, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
295 "test": {"status": "failed", "tookMs": 5144, "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: 36 s, completed Nov 28, 2025, 3:43:27 PM
305[0JBuild failed, not retrying.