Skip to content

Conversation

aloubyansky
Copy link
Member

Fixes #48992

Quoting the doc update added as part of this PR:

disableQuarkusComponentVariants project property was introduced in Quarkus 3.26.0 to control whether Quarkus component variants should be added to certain dependencies of a project to enable link:conditional-extension-dependencies.adoc[Quarkus conditional] and build time (deployment) dependencies. Quarkus component variants are enabled by default since 3.26.0.

The approach to enable Quarkus conditional and extension build time (deployment) dependencies has changed in Quarkus 3.26.0 due to a few issues with the previous implementation.
Specifically, the previous implementation would not apply relevant dependency exclusions to enabled conditional and deployment dependencies. It would also appear to leak devmode-only dependencies into non-devmode classpaths (such as test and prod) in some cases. These issues couldn't be fixed in a reasonable way in the previous implementation, which is why the Quarkus dependency resolution had to be re-implemented based on a different approach using link:https://docs.gradle.org/current/userguide/variant_attributes.html[Gradle component variants].

The previous implementation still remains available for now in case the new one appears to introduce not yet detected regressions and can be enabled by setting disableQuarkusComponentVariants project property to true.

@quarkus-bot quarkus-bot bot added area/devtools Issues/PR related to maven, gradle, platform and cli tooling/plugins area/documentation area/gradle Gradle labels Jul 31, 2025

This comment has been minimized.

@aloubyansky
Copy link
Member Author

aloubyansky commented Jul 31, 2025

@reaver585 fyi. It'd be great if you could also review this one. Thanks!

This comment has been minimized.

Copy link

github-actions bot commented Jul 31, 2025

🙈 The PR is closed and the preview is expired.


=== Quarkus component variants

`disableQuarkusComponentVariants` project property was introduced in Quarkus 3.26.0 to control whether Quarkus component variants should be added to certain dependencies of a project to enable link:conditional-extension-dependencies.adoc[Quarkus conditional] and build time (deployment) dependencies. Quarkus component variants are enabled by default since 3.26.0.
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

'''
link:conditional-extension-dependencies.adoc[Quarkus conditional]
'''
doesn't appear to work in the preview

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You have to use xref:.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I will fix it as it's going to be annoying for multi-version doc.

@aloubyansky aloubyansky force-pushed the gradle-comp-variants branch from 3c352a6 to 5d00ffd Compare July 31, 2025 12:50
@aloubyansky
Copy link
Member Author

Updated the links in the docs

This comment has been minimized.

This comment has been minimized.

This comment has been minimized.

@aloubyansky aloubyansky force-pushed the gradle-comp-variants branch from 5d00ffd to 10e9dfe Compare July 31, 2025 15:02

This comment has been minimized.

@aloubyansky aloubyansky force-pushed the gradle-comp-variants branch from 10e9dfe to a77f9bf Compare July 31, 2025 15:51
@aloubyansky
Copy link
Member Author

Updated versions in the docs to 3.25.1, since this is the target now.

This comment has been minimized.

This comment has been minimized.

@gsmet gsmet force-pushed the gradle-comp-variants branch from a77f9bf to 01d1bcf Compare July 31, 2025 17:20
Copy link

quarkus-bot bot commented Jul 31, 2025

Status for workflow Quarkus Documentation CI

This is the status report for running Quarkus Documentation CI on commit 01d1bcf.

✅ 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.

Warning

There are other workflow runs running, you probably need to wait for their status before merging.

Copy link

quarkus-bot bot commented Jul 31, 2025

Status for workflow Quarkus CI

This is the status report for running Quarkus CI on commit 01d1bcf.

✅ 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.

You can consult the Develocity build scans.

@gsmet gsmet merged commit 755ee06 into quarkusio:main Jul 31, 2025
26 checks passed
@quarkus-bot quarkus-bot bot added this to the 3.26 - main milestone Jul 31, 2025
@LarsSven
Copy link
Contributor

LarsSven commented Aug 11, 2025

@aloubyansky since you state:

The previous implementation still remains available for now in case the new one appears to introduce not yet detected regressions

Was this PR supposed to be frictionless to users? Because our extension started failing after this change.

https://gitlab.com/rug-digitallab/resources/quarkus-signalr/-/merge_requests/160

@aloubyansky
Copy link
Member Author

@LarsSven sorry to hear that and glad the switch to the previous impl still works for you (afaiu).
Please create a new issue with the details of the regression in your project and how it could be reproduced. A reproducer would be highly appreciated. Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/devtools Issues/PR related to maven, gradle, platform and cli tooling/plugins area/documentation area/gradle Gradle kind/bugfix release/noteworthy-feature

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Quarkus Gradle leaks "dev" dependencies outside the "quarkusDev*" configurations

4 participants