-
Notifications
You must be signed in to change notification settings - Fork 212
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
[KOGITO-5719] Transform Kogito Add-Ons to Quarkus Extensions #1554
Conversation
The (build) Examples check has failed. Please check the logs. |
The (build) Apps check has failed. Please check the logs. |
The (build) Runtimes check has failed. Please check the logs. |
52ead05
to
60ccb27
Compare
The (build) Apps check has failed. Please check the logs. |
The (build) Apps check has failed. Please check the logs. |
cc @spolti, can you assess the impact on the images? I can't think of one at the top of my head right now. I believe it won't be any. |
The (build) Runtimes check has failed. Please check the logs. |
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.
Great work Ricardo.
Once this is merged, I would like to restructure dependencies between decission and messaging addons.
Right now decission events depends on messaging add-on. With a couple of changes (moving the two classes in messaging runtime addon to messaging common addon) we can make decissions depend on common-messaging addon, so we can avoid code generation for messaging when only decission addon is added to dependency.
Final situation will be messaging runtime become empty (it will include classes in common though, which are shared with decissions and knative addons) and will just consist on the code generation part for smallrye.
Discussions with Quarkus team about having all these extensions on |
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.
@ricardozanini this is great, nice work! Just added some comments inline.
quarkus/addons/task-management/runtime/src/main/resources/META-INF/quarkus-extension.yaml
Outdated
Show resolved
Hide resolved
quarkus/addons/task-management/runtime/src/main/resources/META-INF/quarkus-extension.yaml
Outdated
Show resolved
Hide resolved
quarkus/addons/process-management/runtime/src/main/resources/META-INF/quarkus-extension.yaml
Outdated
Show resolved
Hide resolved
...kus/addons/persistence/postgresql/runtime/src/main/resources/META-INF/quarkus-extension.yaml
Show resolved
Hide resolved
quarkus/addons/monitoring/elastic/runtime/src/main/resources/META-INF/quarkus-extension.yaml
Outdated
Show resolved
Hide resolved
quarkus/addons/monitoring/elastic/runtime/src/main/resources/META-INF/quarkus-extension.yaml
Outdated
Show resolved
Hide resolved
quarkus/addons/monitoring/elastic/runtime/src/main/resources/META-INF/quarkus-extension.yaml
Outdated
Show resolved
Hide resolved
quarkus/addons/jobs/runtime/src/main/resources/META-INF/quarkus-extension.yaml
Outdated
Show resolved
Hide resolved
quarkus/addons/events/process/runtime/src/main/resources/META-INF/quarkus-extension.yaml
Show resolved
Hide resolved
quarkus/addons/events/decisions/runtime/src/main/resources/META-INF/quarkus-extension.yaml
Outdated
Show resolved
Hide resolved
quarkus/addons/events/decisions/runtime/src/main/resources/META-INF/quarkus-extension.yaml
Show resolved
Hide resolved
quarkus/addons/tracing-decision/runtime/src/main/resources/META-INF/quarkus-extension.yaml
Outdated
Show resolved
Hide resolved
quarkus/addons/task-notification/runtime/src/main/resources/META-INF/quarkus-extension.yaml
Show resolved
Hide resolved
quarkus/addons/explainability/runtime/src/main/resources/META-INF/quarkus-extension.yaml
Outdated
Show resolved
Hide resolved
quarkus/addons/messaging/runtime/src/main/resources/META-INF/quarkus-extension.yaml
Outdated
Show resolved
Hide resolved
9201228
to
848d6e4
Compare
Signed-off-by: Ricardo Zanini <[email protected]>
Signed-off-by: Ricardo Zanini <[email protected]>
Signed-off-by: Ricardo Zanini <[email protected]>
Signed-off-by: Ricardo Zanini <[email protected]>
Signed-off-by: Ricardo Zanini <[email protected]>
Signed-off-by: Ricardo Zanini <[email protected]>
Signed-off-by: Ricardo Zanini <[email protected]>
Signed-off-by: Ricardo Zanini <[email protected]>
Signed-off-by: Ricardo Zanini <[email protected]>
Signed-off-by: Ricardo Zanini <[email protected]>
Signed-off-by: Ricardo Zanini <[email protected]>
d5d248a
to
1f967f0
Compare
quarkus/addons/mail/runtime/src/main/resources/META-INF/quarkus-extension.yaml
Outdated
Show resolved
Hide resolved
quarkus/addons/mail/runtime/src/main/resources/META-INF/quarkus-extension.yaml
Outdated
Show resolved
Hide resolved
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 the PR is ready, just minor comments
quarkus/addons/events/mongodb/runtime/src/main/resources/META-INF/quarkus-extension.yaml
Show resolved
Hide resolved
...ment/src/main/java/org/kie/kogito/quarkus/addons/common/deployment/KogitoAddOnProcessor.java
Outdated
Show resolved
Hide resolved
...src/main/java/org/kie/kogito/events/mongodb/deployment/KogitoAddOnEventMongoDBProcessor.java
Outdated
Show resolved
Hide resolved
...c/main/java/org/kie/kogito/explainability/deployment/KogitoAddOnExplainabilityProcessor.java
Outdated
Show resolved
Hide resolved
quarkus/addons/explainability/runtime/src/main/resources/META-INF/quarkus-extension.yaml
Outdated
Show resolved
Hide resolved
...to/addons/quarkus/persistence/mongodb/deployment/KogitoAddOnPersistenceMongoDBProcessor.java
Outdated
Show resolved
Hide resolved
...rg/kie/kogito/persistence/kafka/quarkus/deployment/KogitoAddOnPersistenceKafkaProcessor.java
Outdated
Show resolved
Hide resolved
...e/kogito/addons/quarkus/persistence/jdbc/deployment/KogitoAddOnPersistenceJDBCProcessor.java
Outdated
Show resolved
Hide resolved
.../org/kie/kogito/infinispan/quarkus/deployment/KogitoAddOnPersistenceInfinispanProcessor.java
Outdated
Show resolved
Hide resolved
...ons/quarkus/persistence/filesystem/deployment/KogitoAddOnPersistenceFileSystemProcessor.java
Outdated
Show resolved
Hide resolved
Signed-off-by: Ricardo Zanini <[email protected]>
Co-authored-by: Cristiano Nicolai <[email protected]>
@danielezonca @cristianonicolai, I believe I covered all the minor details. It can be merged at any time. |
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.
Great work! 👍
SonarCloud Quality Gate failed. |
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, just 2 suggestions/questions.
Signed-off-by: Ricardo Zanini [email protected]
See https://issues.redhat.com/browse/KOGITO-5719
Linked PRs:
In this PR, we introduce a "small" change to our Quarkus based add-ons. Now, everyone is also a Quarkus Extension. This is important to unlock the new Add-On Codegen API since we will leverage the ability of Quarkus to inject the *-deployment modules on-demand on end-users projects during code generation. The idea is to add all the codegen related code for add-ons on the *-deployment modules backed by this new shared API. This way, SB can leverage this mechanism as well.
As a plus, we now can appear at code.quarkus.io as an option in the Quarkus project creation. Thus, users will be able to select "kogito-rules" and "kogito-monitoring-prometheus" from a list of available extensions, for example.
All our internal builder scripts on the cloud can also leverage this change to add add-ons on-demand simply using the Quarkus maven plugin.
This change is a step forward in leveraging the Quarkus platform.
I've also deprecated the "generic" add-ons. I kept only the "human-task-prediction" since we need to know what to do with this add-on. Seems unused, maybe a good candidate for deprecation.
I haven't created/renamed the generic persistence add-ons for SB in this PR because we have a JIRA to deal with it in the short term. For example KOGITO-5031. @cristianonicolai, do you mind linking the others in this JIRA?
The Quarkus persistence add-ons are a simple "redirect" to the actual common ones. It's not in the scope of this PR to refactor them in the "Quarkus way". @cristianonicolai, if you don't mind we can sync up these next changes in the Persistence sync.
That's cool:
😎
Many thanks for submitting your Pull Request ❤️!
Please make sure that your PR meets the following requirements:
KOGITO-XYZ Subject
[0.9.x] KOGITO-XYZ Subject
How to retest this PR or trigger a specific build:
Run all builds
Please add comment: Jenkins retest this
Run (or rerun) specific test(s)
Please add comment: Jenkins (re)run [runtimes|optaplanner|apps|examples] tests
Quarkus LTS checks
Please add comment: Jenkins run LTS
Run (or rerun) LTS specific test(s)
Please add comment: Jenkins (re)run [runtimes|optaplanner|apps|examples] LTS
Native checks
Please add comment: Jenkins run native
Run (or rerun) native specific test(s)
Please add comment: Jenkins (re)run [runtimes|optaplanner|apps|examples] native
Full Kogito testing (with cloud images and operator BDD testing)
Please add comment: Jenkins run BDD
This check should be used only if a big change is done as it takes time to run, need resources and one full BDD tests check can be done at a time ...