-
Notifications
You must be signed in to change notification settings - Fork 918
Description
Description
netbeans-13-bin.zip contains a JAR file at netbeans/harness/modules/ext/org-netbeans-insane-hook.jar. I cannot seem to find org-netbeans-insane-hook.jar anywhere on Maven Central. Please publish this JAR file to Maven Central.
See below for the motivation and reasoning behind this request.
Use case/motivation
The Jenkins project consumes org.netbeans.modules:org-netbeans-insane in jenkinsci/jenkins-test-harness. When upgrading from RELEASE126 to RELEASE130 in jenkinsci/jenkins-test-harness#397, we started getting the following error:
java.lang.NoClassDefFoundError: org/netbeans/insane/hook/MakeAccessible
at org.netbeans.insane.impl.InsaneEngine.processClass(InsaneEngine.java:224)
at org.netbeans.insane.impl.InsaneEngine.process(InsaneEngine.java:185)
at org.netbeans.insane.impl.InsaneEngine.traverse(InsaneEngine.java:73)
at org.netbeans.insane.impl.LiveEngine.traceImpl(LiveEngine.java:165)
at org.netbeans.insane.impl.LiveEngine.trace(LiveEngine.java:143)
at org.jvnet.hudson.test.MemoryAssert.fromRoots(MemoryAssert.java:300)
at org.jvnet.hudson.test.MemoryAssert.assertGC(MemoryAssert.java:187)
... 32 more
Caused by: java.lang.ClassNotFoundException: org.netbeans.insane.hook.MakeAccessible
at java.net.URLClassLoader.findClass(URLClassLoader.java:387)
at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352)
at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
... 39 more
Looking into this further, I see that in order to adapt to 04ed090 from #3206, we will need to add --patch-module=java.base=org-netbeans-insane-hook.jar --add-exports=java.base/org.netbeans.insane.hook=ALL-UNNAMED to our test JVM arguments on Java 9 (and later) and -Xbootclasspath/p:org-netbeans-insane-hook.jar to our test JVM arguments on Java 8 (and below). One of the first problems I am having in doing so is that I cannot seem to find org-netbeans-insane-hook.jar anywhere on Maven Central.
I found it buried in netbeans-13-bin.zip, a 427 MiB .zip archive, but it is not practical to download and extract this during a Jenkins plugin build. Checking in org-netbeans-insane-hook.jar into Git is not practical either, as this JAR needs to be available when running tests from multiple Jenkins plugin repositories.
How should the Jenkins project proceed? I can think of one solution: for the NetBeans project to publish org-netbeans-insane-hook.jar to Maven Central. The Jenkins project could then fetch this artifact during our plugin builds and consume it using the test JVM arguments given above.
Related issues
See #3206 and JENKINS-67974.
CCing @JaroslavTulach as the author of the breaking change and @neilcsmith-net regarding release management.
Are you willing to submit a PR?
- Yes I am willing to submit a PR!
Code of Conduct
- I agree to follow the Apache Software Foundation's Code of Conduct