-
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
Less user friendly message when have rest and resteasy in one project #40410
Comments
This likely has something to do with the big rename. @aloubyansky any idea why this is happening even though both extensions have |
/cc @FroMage (resteasy-reactive), @stuartwdouglas (resteasy-reactive) |
Yeah, we got a check failing even before augmentation starts.
When I added capability checks I had an option to do it before the build of during the build. I did it during the build so dev mode could be launched and recover with user changing the POM (there was a discussion about that). |
🙏🏼 |
The problem with moving the check to an earlier phase is that we would be able to check only the capabilities declared in the metadata. Those produced as build items directly (should be an exception, i think) would only be available for checking during augmentation (until @holly-cummins captures all of them in metadata). |
Excellent - another use case for #40306. (That PR only records things annotated with |
So fixing this issue by moving the capability check before the build will break dev mode in the following way: start an app in dev mode with just quarkus-rest, once booted add quarkus-resteasy. AFAIR, the app will just quit. |
I wouldn't do that. I think the main issue is that we are somehow sharing some config and behavior between the two implementations without having a common artifact to share and handle them. See both IMO, the right fix would be to have a shared artifact to handle this config and the production of the build item once, even with two implementations. Another option would be to make the build item a multi and deal with potential conflicts in the consumer. Given how things are atm, the values would be exactly the same so we could just take the first one of the list and be done with it (and we could check that the values are consistent across the list if we want to be thorough). Not pretty but probably an easier fix. Now, is it worth the hassle, I don't know but I think we had quite a few issues with users reporting this and that's what led us to have such a nice error message. Thoughts? |
My 2 cents:
Right now, the default check is exactly one, so I think it is not perfect to make this TL;DR; I don't think it matter. If there is javadoc and validation that warns developer right when he tries to produce another default check. I wrote the paragraph above because I am surprised how much problems this new item caused.
I think in past I heard either from you or from Sergey that I should be careful with creating a new modules (but I don't remember reason :-) Maybe many more modules would stress build?). Unless you can reuse |
I perfectly agree that what using a SimpleBuildItem was the way to go. And I wouldn't even complain if we didn't have this issue, which is a bit annoying for the users.
Yeah so I had a look as I completely forgot about this module and I don't think it would be ideal as it will bring the security bits in areas where we don't need them. Creating another artifact would be the most acceptable answer theoretically but I think in this case, I would advice to make it a
I think I would be in favor of the former with a comment explaining why we consume If this looks acceptable to everyone, do you want to handle it or should I? |
I am happy to do it little later this week. Thank you for elaborate comments. |
Describe the bug
In 3.8 and prior when user add both resteasy and rest (resteasy reactive) there was more readable error like this:
from 3.9 it changed to less readable like this:
Expected behavior
Similar behavioral of error description as in 3.8.4 and older releases.
Actual behavior
No response
How to Reproduce?
quarkus create app --stream=3.10 org.acme:test --extension='resteasy, rest'
cd test
mvn verify
quarkus.version
to 3.8.4 andquarkus-rest
toquarkus-resteasy-reactive
mvn verify
Output of
uname -a
orver
No response
Output of
java -version
No response
Quarkus version or git rev
3.9, 3.10
Build tool (ie. output of
mvnw --version
orgradlew --version
)No response
Additional information
Motivation before was https://issues.redhat.com/browse/QUARKUS-1296
The text was updated successfully, but these errors were encountered: