quarkusio / quarkus

Quarkus: Supersonic Subatomic Java.
https://quarkus.io
Apache License 2.0
13.77k stars 2.68k forks source link

Dependency warning spam during build #43608

Open kdubb opened 1 month ago

kdubb commented 1 month ago

Describe the bug

When starting a Gradle project generated from http://quarkus.io, using only Quarkus platform extensions, the build warns about dependency overrides (mostly smallrye related).

Example generated for Quarkus 3.15.1:

...
io.smallrye.common:smallrye-common-net::jar classpath entry /Users/kdubb/.gradle/caches/modules-2/files-2.1/io.smallrye.common/smallrye-common-net/2.2.0/261d912ae8bc78a67df97e69a589f998440f6d1c/smallrye-common-net-2.2.0.jar was overriden with /Users/kdubb/.gradle/caches/modules-2/files-2.1/io.smallrye.common/smallrye-common-net/2.6.0/315e0b2f28c6d66d72bde96d0a279c91d356b925/smallrye-common-net-2.6.0.jar
io.smallrye.common:smallrye-common-constraint::jar classpath entry /Users/kdubb/.gradle/caches/modules-2/files-2.1/io.smallrye.common/smallrye-common-constraint/2.4.0/9845f428e7ac5ff165dcd03074261f0ee6772f81/smallrye-common-constraint-2.4.0.jar was overriden with /Users/kdubb/.gradle/caches/modules-2/files-2.1/io.smallrye.common/smallrye-common-constraint/2.6.0/d3e6fd227f0a1f61f0b5e699dc1fbbc1219c2279/smallrye-common-constraint-2.6.0.jar
io.smallrye.common:smallrye-common-ref::jar classpath entry /Users/kdubb/.gradle/caches/modules-2/files-2.1/io.smallrye.common/smallrye-common-ref/2.2.0/3887e9f5b9c6ab21e6f9d5f71d550ecbdafc620a/smallrye-common-ref-2.2.0.jar was overriden with /Users/kdubb/.gradle/caches/modules-2/files-2.1/io.smallrye.common/smallrye-common-ref/2.6.0/73b7d01914b7f5ed652f903c5b8bf2115880091c/smallrye-common-ref-2.6.0.jar
io.smallrye.common:smallrye-common-expression::jar classpath entry /Users/kdubb/.gradle/caches/modules-2/files-2.1/io.smallrye.common/smallrye-common-expression/2.4.0/3428461f913fd623d0b754eebca44eacd45be42c/smallrye-common-expression-2.4.0.jar was overriden with /Users/kdubb/.gradle/caches/modules-2/files-2.1/io.smallrye.common/smallrye-common-expression/2.6.0/a1be1cd9f0f98321e84fad518cc91346449a2614/smallrye-common-expression-2.6.0.jar
io.smallrye.common:smallrye-common-function::jar classpath entry /Users/kdubb/.gradle/caches/modules-2/files-2.1/io.smallrye.common/smallrye-common-function/2.4.0/87c17831e20be35c2b017f06f37a87ed286d5ecd/smallrye-common-function-2.4.0.jar was overriden with /Users/kdubb/.gradle/caches/modules-2/files-2.1/io.smallrye.common/smallrye-common-function/2.6.0/9883bf661ecb6dcbb7c107e40d111e6c551efca0/smallrye-common-function-2.6.0.jar
io.smallrye.common:smallrye-common-cpu::jar classpath entry /Users/kdubb/.gradle/caches/modules-2/files-2.1/io.smallrye.common/smallrye-common-cpu/2.2.0/b70030308912ce33baafbf9775bba3a5d0c69b00/smallrye-common-cpu-2.2.0.jar was overriden with /Users/kdubb/.gradle/caches/modules-2/files-2.1/io.smallrye.common/smallrye-common-cpu/2.6.0/78865705a07f6f770b850a541eebc7b35a361ebd/smallrye-common-cpu-2.6.0.jar
org.eclipse.parsson:parsson::jar classpath entry /Users/kdubb/.gradle/caches/modules-2/files-2.1/org.eclipse.parsson/parsson/1.1.6/a46c103cd6ca3a1b395b29db78a4ac3b9c911602/parsson-1.1.6.jar was overriden with /Users/kdubb/.gradle/caches/modules-2/files-2.1/org.eclipse.parsson/parsson/1.1.7/f5825abecd373006262dd319d7df8c5cdbd140ca/parsson-1.1.7.jar
...

Expected behavior

Projects using the platform BOM (as this one is) shouldn't have spam for every build.

At the very least there should be a way to disable it. If there already is a method, it should be referenced before or after printing the overrides; I couldn't seem to find anything.

Actual behavior

Spam is printed when using only extensions from the Quarkus Platform BOM, and there is seemingly no way to disable the spam.

How to Reproduce?

Create a project on https://quarkus.io, and include the following extensions:

I have not spent the time to track if it's a specific extension or what. Even if it's an issue with a specific extensions, it seems this should be caught by the platform testing that is done for each release.

Output of uname -a or ver

macOS 14.6.1

Output of java -version

21.0.1

Quarkus version or git rev

3.15.1

Build tool (ie. output of mvnw --version or gradlew --version)

Gradle 8.9 (As Generated by Quarkus.IO)

Additional information

No response

quarkus-bot[bot] commented 1 month ago

/cc @glefloch, @quarkusio/devtools

kdubb commented 1 month ago

I removed Gradle from the title because I had tracked it into the QuarkusDevTask, which seems to be using common code for Maven & Gradle.

If it's really only Gradle, feel free to add that back to the title.

gsmet commented 1 month ago

Yeah so it might be Gradle-specific as related to how the workspace is resolved in Gradle. I haven't seen this in Maven projects.

@kdubb is it new or something you are observing for quite some time?

kdubb commented 1 month ago

It's been spamming my console for a while but that's in our big project and I assumed we brought something in. Then for other reasons I was tracing dependencies and after auditing I realized we weren't overriding them. I turned over to another small test project I had just created and noticed the same thing.

gsmet commented 4 weeks ago

@aloubyansky I think this one is probably for you to look at.

kdubb commented 3 weeks ago

@aloubyansky Any idea on this? Any way to silence them?