-
Notifications
You must be signed in to change notification settings - Fork 2.7k
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
Update Gradle plugins build #32668
Update Gradle plugins build #32668
Conversation
Changes: * migration to Gradle Kotlin DSL (much more streamlined IDE support) * use convention plugins in `build-logic/src/main/kotlin` to simplify actual `build.gradle.kts` build scripts * use version catalog for deps (see https://docs.gradle.org/current/userguide/platforms.html#header) * use java toolchain to build plugins (see https://docs.gradle.org/current/userguide/toolchains.html) * use `JavaPluginExtension#withSourcesJar`/`withJavadocJar` instead of older packaging them manually Signed-off-by: Konstantin Gribov <[email protected]>
Updated with `(cd devtools/gradle ; ./gradlew wrapper ; ./gradlew wrapper)` Signed-off-by: Konstantin Gribov <[email protected]>
Only `pom.xml` is published at `io.quarkus:io.quarkus.gradle.plugin` GA coordinates. Same for `io.quarkus.extension`. See https://docs.gradle.org/current/userguide/plugins.html#sec:plugin_markers Signed-off-by: Konstantin Gribov <[email protected]>
Accessing project from task actions is prohibited when configuration cache is used. If Quarkus plugin is to be compatible with CC eventually it should be avoided. Signed-off-by: Konstantin Gribov <[email protected]>
Fixes `integration-tests/gradle` when `.kube/config` has ECDSA keys/certs Signed-off-by: Konstantin Gribov <[email protected]>
Signed-off-by: Konstantin Gribov <[email protected]>
@snazy could you have a look at this one? |
At least I should use And since Quarkus 3.x requires java 11+ we could drop |
LGTM - especially since I'm a fan of the Kotlin DSL ;) Mind updating the
Yea, that makes sense. |
Hm, I guess, the toolchain-change is required (see CI):
|
This comment has been minimized.
This comment has been minimized.
Yeah, it seems gradle discovered where tooling cache lives on Linux runners but not on Windows ones. |
Signed-off-by: Konstantin Gribov <[email protected]>
…hains Signed-off-by: Konstantin Gribov <[email protected]>
PR updated:
|
✔️ The latest workflow run for the pull request has completed successfully. It should be safe to merge provided you have a look at the other checks in the summary. |
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.
Thanks @grossws
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.
Really minor nits - current state of the PR looks good to me. +1
build-logic/src/main/kotlin
to simplify actualbuild.gradle.kts
build scriptsuse java toolchain to build plugins (see https://docs.gradle.org/current/userguide/toolchains.html)UPD useJavaCompile#options#release
to set javac--release
option to effectively consistently configure source/target compatibility and bootstrap classpathJavaPluginExtension#withSourcesJar
/withJavadocJar
instead of older packaging them manuallydevtools/gradle
andintegration-tests/gradle
)integration-tests/gradle
,<type>pom</type>
should be used sincecom.gradle.plugin-publish
plugin publishes onlypom.xml
toio.quarkus:io.quarkus.gradle.plugin
GA coords (see https://docs.gradle.org/current/userguide/plugins.html#sec:plugin_markers)org.bouncycastle:bcpkix-jdk18on
to integration test fixtures inintegration-tests/gradle
to fix test failure when ECDSA keys/certs present in local.kube/config
task.getLogger()
instead oftask.getProject().getLogger()
(little bit towards potential configuration cache compatibility)