-
Notifications
You must be signed in to change notification settings - Fork 253
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Convert to Java, use Worker API #379
Comments
Seems quite painful |
Yep. Very much so. This is the second major language change for this project. Initially it was Groovy, because who wants to write Java? Eventually, I got so fed up with maintaining hacks around Gradle's Groovy version changes that I jumped to Kotlin as soon as possible. I have no desire to repeat the hacks a second time around. When a principal engineer at Gradle tells me "Kotlin runtimes are controlled by us now and are subject to change", I see the writing on the wall. |
In other words, my hope is that the pain and effort now offset even greater pain in the future. |
It's done |
This is the saddest issue.
Gradle bundles its own Kotlin runtime and makes no guarantee about compatibility with third-party Kotlin code. Per Gradle, the only safe and forwards-compatible way to use Kotlin in a plugin is via the Worker API, using classpath isolation.
This means that our code cannot be Kotlin, and since we have Kotlin dependencies, they can only safely be used from behind that classpath-isolated worker.
The plan:
Plugin.kt
to several Java classes - a base Plugin, and moving the applicators to individual Java filesChecklist:
The text was updated successfully, but these errors were encountered: