-
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
ArC and Vert.x: introduce InvokerFactoryBuildItem
and use it in Vert.x event bus consumers
#40815
Conversation
extensions/arc/deployment/src/main/java/io/quarkus/arc/deployment/InvokerFactoryBuildItem.java
Outdated
Show resolved
Hide resolved
Probably easiest to review each commit separately. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We need to rework the dependency on Kotlin. Main extensions should not depend on it.
@@ -0,0 +1,133 @@ | |||
package io.quarkus.vertx.kotlin |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could it introduce an issue to depend on Kotlin here?
extensions/vertx/runtime/pom.xml
Outdated
@@ -46,6 +46,10 @@ | |||
<groupId>io.quarkus</groupId> | |||
<artifactId>quarkus-virtual-threads</artifactId> | |||
</dependency> | |||
<dependency> | |||
<groupId>io.quarkus</groupId> | |||
<artifactId>quarkus-vertx-kotlin</artifactId> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That's not great. Now everything depends on Kotlin.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's just a tiny artifact with 3 classes and transitive dependencies on artifacts that are already present, but I agree it is not nice. I took this over from the Scheduler extension without thinking too much about it. I'll ponder over it over the weekend.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think that it's fine. It does not really bring the Kotlin sdk in (it's an optional dependency)...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Added one more commit (to be squashed if you guys like it :-) ) that moves the dependency to the quarkus-kotlin
module. Probably not very nice either, but should be better than a dependency on Kotlin in the quarkus-vertx
module, I guess.
Thank you @Ladicek for taking the time to improve the Kotlin support in Quarkus 👍 |
This comment has been minimized.
This comment has been minimized.
...tx/deployment/src/main/java/io/quarkus/vertx/deployment/EventConsumerBusinessMethodItem.java
Show resolved
Hide resolved
49f5072
to
9353a6a
Compare
9353a6a
to
ecd57ab
Compare
Rebased and added one more commit (again, to be squashed) that turns the Kotlin support into an extension which is automatically present when both |
This comment has been minimized.
This comment has been minimized.
ecd57ab
to
7f78ce4
Compare
7f78ce4
to
0900413
Compare
This comment has been minimized.
This comment has been minimized.
🙈 The PR is closed and the preview is expired. |
This comment has been minimized.
This comment has been minimized.
0900413
to
7b6b663
Compare
Rebased and squashed the last 3 commits. |
This comment has been minimized.
This comment has been minimized.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Went over ArC parts and those LGTM
This comment has been minimized.
This comment has been minimized.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good!
independent-projects/arc/processor/src/main/java/io/quarkus/arc/processor/BeanProcessor.java
Outdated
Show resolved
Hide resolved
…alue transformation
7b6b663
to
ea2c6a4
Compare
Status for workflow
|
Status for workflow
|
Very cool! So I assume we should start using invokers wherever possible? |
That sounds reasonable, but at the same time, there are occasions where custom bytecode generation is more straightforward. I also vaguely recall that I couldn't use invokers in RESTEasy Reactive, for some reason. |
The last commit fixes #26728