quarkus icon indicating copy to clipboard operation
quarkus copied to clipboard

SmallRye Reactive Messaging brings in split package usage with leads to warnings logged

Open michalvavrik opened this issue 1 year ago • 9 comments

Describe the bug

I have app solely consisting of the SmallRye Reactive Messaging extension and nothing else. When I start my application, I can see warning about split package usage.

Expected behavior

No warnings.

Actual behavior

Following message is logged:

Detected a split package usage which is considered a bad practice and should be avoided. Following packages were detected in multiple archives: 
- "io.smallrye.reactive.messaging.health" found in [io.smallrye.reactive:smallrye-reactive-messaging-api::jar, io.smallrye.reactive:smallrye-reactive-messaging-health::jar]

How to Reproduce?

Steps to reproduce the behavior:

  1. quarkus-snapshot-cli create app app2 --extensions=smallrye-reactive-messaging
  2. cd app2/
  3. quarkus dev

Output of uname -a or ver

Fedora 38

Output of java -version

OpenJDK Runtime Environment Temurin-21.0.1+12

Quarkus version or git rev

999-SNAPSHOT

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

Apache Maven 3.9.3

Additional information

No response

michalvavrik avatar Feb 09 '24 14:02 michalvavrik

/cc @Ladicek (smallrye), @cescoffier (reactive-messaging), @jmartisk (smallrye), @ozangunalp (reactive-messaging), @phillip-kruger (smallrye), @radcortez (smallrye)

quarkus-bot[bot] avatar Feb 09 '24 14:02 quarkus-bot[bot]

It's a known problem, but the fix is a big breaking change. So, we will leave with that until the next major.

cescoffier avatar Feb 09 '24 14:02 cescoffier

Alright, thank you. Unless it is already tracked in Quarkus issues, let's keep this one so that I can reference the issue from somewhere.

michalvavrik avatar Feb 09 '24 14:02 michalvavrik

It'll be fixed in reactive messaging 4.17.0

The module causing the split package is only used in the quarkus reactive messaging extension. I think we can make the change in a backwards-compatible way.

ozangunalp avatar Feb 09 '24 14:02 ozangunalp

Yeah, that's what I realized while reviewing. It seems to be fine. So, we should be able to fix it soon.

cescoffier avatar Feb 09 '24 15:02 cescoffier

https://github.com/quarkusio/quarkus/issues/38518#issuecomment-1921166756

mschorsch avatar Feb 10 '24 10:02 mschorsch

#38518 (comment)

I see @mschorsch , but I disagree with comments in there. I do not use upstream SmallRye Reactive Messaging directly and if Quarkus brings in dependencies that has split package use and then Quarkus itself reports it, that's Quarkus issue. Quarkus can always opt to not report split package if it doesn't want.

Anyway, as Clement and Ozan mentioned, they are going to fix it. Thank you

michalvavrik avatar Feb 10 '24 11:02 michalvavrik

@ozangunalp did we integrate the fix already?

cescoffier avatar Feb 13 '24 17:02 cescoffier

No, it'll be a part of reactive messaging 4.17

ozangunalp avatar Feb 14 '24 09:02 ozangunalp