You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on Jun 4, 2024. It is now read-only.
What appears to be going on: ClassToApi is using Java reflection to determine the structure of generated Java sources. [https://github.com/sbt/zinc/blob/develop/internal/zinc-apiinfo/src/main/scala/sbt/internal/inc/ClassToAPI.scala#L158]. However, this appears to cause the classloader to attempt to transitively load a class that's defined only in an ijar in this phase; it then blows up because these files are apparently malformed for this purpose.
I'm not sure if this is an upstream Zinc bug that's merely being exercised here or there's something that this project can change directly. Happy to talk through possible resolutions.
The text was updated successfully, but these errors were encountered:
Thanks for the report, and the PR for the failing case!
I'll take a look this weekend. This might be the kick I needed to implement the pure scalac (a per target option, compatible with zinc targets) worker since it probably won't suffer from the same problem.
Zinc was never made to use ijar, though javac works fine with ijra.
And ijar is supposed to basically be a canonicalized form of the interface, but still otherwise "correct".
So I'm not sure what to put the blame on :/
As a workaround, if you use scala_import or mark the library as a macro in scala_library, then it will not use the ijar for scalac.
Sign up for freeto subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Here's a failing test in a PR: #172
What appears to be going on:
ClassToApi
is using Java reflection to determine the structure of generated Java sources. [https://github.com/sbt/zinc/blob/develop/internal/zinc-apiinfo/src/main/scala/sbt/internal/inc/ClassToAPI.scala#L158]. However, this appears to cause the classloader to attempt to transitively load a class that's defined only in an ijar in this phase; it then blows up because these files are apparently malformed for this purpose.I'm not sure if this is an upstream Zinc bug that's merely being exercised here or there's something that this project can change directly. Happy to talk through possible resolutions.
The text was updated successfully, but these errors were encountered: