headius has joined #jruby
<distant[m]> enebo: I think I had a epiphany
<distant[m]> I made a new instance of Gem::Specification, then called `load_defaults` from that instance, and that worked.
<distant[m]> So either the load order became slightly fucked (only enough to break that one thing somehow), or it's some problem with newer versions of Java (Minecraft 1.17+ requires at least Java 16).
<distant[m]> I just need to figure out how I'm going to make that change in the build, and how to get it working with Gradle now...
<distant[m]> And the thing would be pretty much ready to ship...
<headius> Could be something related to modules, which hide resources from foreign jars
<headius> If you can show an example or push a repo that you think should work we can see the problems more easily
subbu has quit [Ping timeout: 240 seconds]
subbu has joined #jruby
<distant[m]> <headius> "If you can show an example or..." <- It appears as though Fabric API is incompatible with JRuby somehow. O_O
<distant[m]> The issue wasn't being caused by how it was shaded, or by Fabric Loader...
<distant[m]> Without Fabric API, it loads just fine...
<distant[m]> It also loads just fine on other games...
<distant[m]> It's specifically the Minecraft modding API that braeks it. O_O
<distant[m]> By messing around with it, I was able to figure out exactly what the problem was.
<distant[m]> Does JRuby do anything funky with the classloader?
<distant[m]> It uses ASM, that was the oopsie.
<distant[m]> Fabric also uses ASM, the lib was bundled twice.
<distant[m]> But why would the Minecraft Fabric API trip that out? 🤔
<distant[m]> If I exclude it, it should be fine then.
MateuszFryc[m] has quit [Quit: You have been kicked for being idle]
<distant[m]> Yep, excluding ASM allows it to work fine with no additional changes.
<distant[m]> Still need to solve that damn Gradle issue though...
<distant[m]> It looks like the `jruby-gradle` package in Gradle's plugin portal is out of date, actually...
<distant[m]> There are commits that came after the last release there.
<distant[m]> Is there a maven repo with a more up-to-date release?
<distant[m]> How do I define a `java_signature` for `public <T> T create(Class<T> clazz)`?
subbu has quit [Ping timeout: 260 seconds]