-
-
Notifications
You must be signed in to change notification settings - Fork 657
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
Refactor buildscript to Kotlin DSL #518
Refactor buildscript to Kotlin DSL #518
Conversation
I'd recommend looking into applying indra first - see wiki for details. |
I would recommend applying as much of indra as you can - it will likely eliminate all of the custom Gradle plugins you currently employ (with the exception of licensing - indra uses a single license header AFAIK, we use multiple). |
@@ -45,7 +45,6 @@ | |||
* | |||
* @param invocation the invocation context | |||
* @return the tab complete suggestions | |||
* @implSpec defaults to wrapping the value returned by {@link #suggest(CommandInvocation)} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I recall this gave you a compile error, but this is a problem with the build tool, not the javadoc. See https://openjdk.java.net/jeps/8068562 and https://stackoverflow.com/a/55150289 for details. If we really need to remove it, move the contents to a new paragraph.
6481a30
to
9cf7c86
Compare
Can I recommend the new version catalogues feature introduced in Gradle 7.0 over declaring versions in gradle.properties? You can declare all of your dependencies in a TOML file and then Gradle will generate type safe accessors, such as Yes, it's still a preview, but some big projects like ViaVersion have started using them, so I reckon they're safe. |
Also, I recommend that you use separate convention plugins in a separate |
@BomBardyGamer thanks for pointing that out, I just looked at it briefly and it looks promising.
Is that not the point of the As for the very old age of this PR, I'm aware that this is needed soon and am getting back to work on it. I got stuck for a while on the indra conversion due to what appears to be a bug that causes the signing plugin not to recognize my secret keyring (only when indra is used, my normal script works). I'm probably just going to leave indra out for now, and probably open an issue about the signing bug. For the sake of finishing this quickly, I don't see the use of indra so important as to further delay the merging of this PR. |
@alexstaeding Are you able to update this pull request again? I pushed a few changes that break this a bit. |
Yeah, I'll have a look at it in the next few days. |
Spiritually indebted to #518 and @alexstaeding. There's a minor break - we're going up to 3.2.0-SNAPSHOT as the API now compiles against Java 11. But this is more academic in practice.
I am opening this preliminary migration from Groovy to Kotlin DSL as a draft at first because it still needs to be properly tested.
The jar appears to build and run successfully but I am not able to test publishing myself (mavenLocal works though). I have made several assumptions about how the scripts should be organized, and am open to discussing any sensible changes.
There are some elements still missing, such as the license and developer information in
VelocityPublishPlugin.kt
. (Example here)