Closed xmlking closed 3 years ago
I can workaround this issue by excluding logging-capabilities
for the troubled subproject
https://github.com/xmlking/micro-apps/blob/develop/build.gradle.kts#L169-L172
but I am looking for a real fix or root cause...
Thanks for your interest in this plugin.
There are multiple things at play here:
io.quarkus:quarkus-universe-bom:1.4.2.Final
BOM is translated to forced versions in Gradle. This means, amongst other things, that you cannot use slf4j 2.0.0-alpha1
as you attempt to do in your project.logging-capabilities
plugin uses virtual platforms to make sure all versions of a given logging framework are aligned.However there is an alignment bug in Quarkus. Their BOM declares the following:
...
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.30</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>jcl-over-slf4j</artifactId>
<version>1.7.30</version>
</dependency>
...
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>1.7.25</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-nop</artifactId>
<version>1.7.25</version>
</dependency>
...
Which means that they enforce different versions of slf4j. And that issue shows up the moment logging-capabilities
adds its platform declaration for alignment.
Unfortunately, the alignment feature cannot be turned off. I have reported the issue on the Quarkus side: quarkusio/quarkus#9715
So for now, you have to disable the plugin for Quarkus project unfortunately, unless you are ready to write a component metadata rule that would fix the Quarkus BOM on the fly when using it in your project.
If you are interested in that, I can give more specific pointers.
your analysis is correct. when i add 1.7.30 to runtimeOnly, it asks for 1.7.25 , and if i add 1.7.25 it asks for 1.7.30 🥶 once quarkus fix it, i will use what ever is in their BOM for this subproject. your plugin really helped me in my monorepo, where i have to use JUL backend for apache beam projects and 2.0.0-alpha1 for rest of the projects. thank you for contributing this plugin
Closing as there is nothing that can be done in this project to fix this.
I am applying slf4j-simple for all subprojects
and overwriting in the specific subproject as needed
for one of the subproject (
greeting-quarkus
) it is giving error, which I cannot figerout root cause: I already added required deps:How to reproduce
Error