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
I was poking around, trying to figure out why I can't see the Gradle plugin's source code in IntelliJ #3642, when I saw that the JAR for the SQL contained a lot of dependencies that I guess have been shaded in
Since the Gradle plugin uses the Gradle Worker API I suspect that shading isn't necessary. Instead, the plugin can
This has the benefit that the classpath will use idiomatic Gradle functionality, dependencies can be shared, and the dependencies can be configurable by users, if necessary. However, maybe I've missed something!
(I've created this issue as a 'feature' because none of the other options provided seemed to make sense)
The text was updated successfully, but these errors were encountered:
These are two issues, the worker executer and its classpath and the second one, unnecessary shaded dependencies. We still need to shade the intellij dependencies.
Shadow dependencies
Starting from version 1.0.0 of Plugin Publish Plugin, shadowing the dependencies of your plugin (ie. publishing it as a fat jar) has been made automatic. To enable it, all that’s needed is to apply the com.github.johnrengelman.shadow plugin in your build.
Description
I was poking around, trying to figure out why I can't see the Gradle plugin's source code in IntelliJ #3642, when I saw that the JAR for the SQL contained a lot of dependencies that I guess have been shaded in
Since the Gradle plugin uses the Gradle Worker API I suspect that shading isn't necessary. Instead, the plugin can
slqdelightWorkerRuntime
or somethingSqlDelightWorkerTask
, set the classpath for the worker to useslqdelightWorkerRuntime
https://github.com/cashapp/sqldelight/blob/4a942a8f56761e6e7871384a3b6174f318aba75a/sqldelight-gradle-plugin/src/main/kotlin/app/cash/sqldelight/gradle/SqlDelightWorkerTask.kt#L21-L28
This has the benefit that the classpath will use idiomatic Gradle functionality, dependencies can be shared, and the dependencies can be configurable by users, if necessary. However, maybe I've missed something!
(I've created this issue as a 'feature' because none of the other options provided seemed to make sense)
The text was updated successfully, but these errors were encountered: