kelemen / netbeans-gradle-project

This project is a NetBeans plugin able to open Gradle based Java projects. The implementation is based on Geertjan Wielenga's plugin.
171 stars 57 forks source link

Update Gradle Tooling to enable JDK11 support #398

Closed pcarmona79 closed 5 years ago

pcarmona79 commented 5 years ago

I've been testing Apache NetBeans 9 with this Gradle plugin version 2.0.0.2, but when open a project I get this stack trace:

    java.lang.ExceptionInInitializerError
        at org.gradle.tooling.GradleConnector.newConnector(GradleConnector.java:85)
        at org.netbeans.gradle.project.model.GradleConnectorRef.open(GradleConnectorRef.java:43)
        at org.netbeans.gradle.project.model.DefaultGradleModelLoader.createGradleConnectorRef(DefaultGradleModelLoader.java:133)
        at org.netbeans.gradle.project.model.DefaultGradleModelLoader.createGradleConnector(DefaultGradleModelLoader.java:129)
        at org.netbeans.gradle.project.model.DefaultGradleModelLoader.loadModelWithProgress(DefaultGradleModelLoader.java:512)
        at org.netbeans.gradle.project.model.DefaultGradleModelLoader.fixProjectLoadKeyWithRootProject(DefaultGradleModelLoader.java:338)
        at org.netbeans.gradle.project.model.DefaultGradleModelLoader.fixProjectLoadKey(DefaultGradleModelLoader.java:293)
        at org.netbeans.gradle.project.model.DefaultGradleModelLoader.lambda$fetchModelWithoutPersistentCache$4(DefaultGradleModelLoader.java:389)
        at org.netbeans.gradle.project.tasks.GradleDaemonManager.runNonBlockingGradleTask(GradleDaemonManager.java:32)
        at org.netbeans.gradle.project.tasks.GradleDaemonManager.lambda$submitGradleTask$1(GradleDaemonManager.java:117)
        at org.jtrim2.executor.TaskExecutor.lambda$execute$0(TaskExecutor.java:94)
        at org.jtrim2.executor.CancelableTasks.complete(CancelableTasks.java:133)
        at org.jtrim2.executor.AbstractTaskExecutor$SubmittedTask.execute(AbstractTaskExecutor.java:112)
        at org.jtrim2.executor.SingleThreadedExecutor$QueuedItem.runTask(SingleThreadedExecutor.java:858)
        at org.jtrim2.executor.SingleThreadedExecutor$QueuedItem.access$900(SingleThreadedExecutor.java:844)
        at org.jtrim2.executor.SingleThreadedExecutor$Impl$Worker.executeTask(SingleThreadedExecutor.java:762)
        at org.jtrim2.executor.SingleThreadedExecutor$Impl$Worker.processQueue(SingleThreadedExecutor.java:773)
        at org.jtrim2.executor.SingleThreadedExecutor$Impl$Worker.run(SingleThreadedExecutor.java:807)
        at org.jtrim2.executor.SingleThreadedExecutor$Impl.lambda$createOwnedWorkerThread$0(SingleThreadedExecutor.java:430)
        at java.base/java.lang.Thread.run(Thread.java:834)
    Caused by: java.lang.IllegalArgumentException: Could not determine java version from '11'.
        at org.gradle.api.JavaVersion.toVersion(JavaVersion.java:72)
        at org.gradle.api.JavaVersion.current(JavaVersion.java:82)
        at org.gradle.internal.jvm.UnsupportedJavaRuntimeException.javaDeprecationWarning(UnsupportedJavaRuntimeException.java:36)
        at org.gradle.tooling.internal.consumer.ConnectorServices.checkJavaVersion(ConnectorServices.java:63)
        at org.gradle.tooling.internal.consumer.ConnectorServices.<clinit>(ConnectorServices.java:38)
        ... 20 more

Gradle added support for JDK11 in release 4.7, so I've compiled a personal version of the plugin from branch nb9, changed the file netbeans-gradle-default-models/build.gradle and put 4.10.2 to the line String gradleVersion = '4.5.1'. I also tested with 4.7 and it seems the plugin works fine.

Can you release a JDK11 compatible version?

Thank you.

kelemen commented 5 years ago

I have updated the Tooling API to 4.10.2 locally. I will do a new release on sunday evening.

kelemen commented 5 years ago

I want to fix some module info problems before release and I need a little more time to finish it (it is mostly done). I'm a little busy nowadays, so this probably won't be tomorrow but feel free to remind me if I forget about it this week. (Also, I will make the nb9 branch the master and create a new branch for nb81)

kelemen commented 5 years ago

Actually, it seems that my fixes work except that they trigger a concurrency bug in FileSystemWatcher. This shouldn't be too hard to fix, so I'll try to do that tomorrow.

kelemen commented 5 years ago

It should be released now. I'm not sure why it is not appearing on the GitHub releases page (I can't even see the tag). However, the NB plugin center contains it.