Details
-
Enhancement
-
Resolution: Done
-
Major
-
1.11.0.Final, 1.14.0.Final
-
None
-
False
-
False
-
2021 Week 49-51 (from Dec 6th), 2022 Week 02-04 (from Jan 10), 2022 Week 05-07 (from Jan 31)
Description
Kogito-examples repository has strong dependency on kogito-runtimes by defining org.kie.kogito:kogito-build-parent as a parent.
Current configuration flaws:
- Does not rely on official user-facing BOMs
- inherits dependencyManagement from the parent (with a non-parameterized import of org.kie.kogito:kogito-bom).
- Should use BOMs:
- For Spring Boot: org.kie.kogito:kogito-spring-boot-bom
- For Quarkus:
- io.quarkus.platform:quarkus-kogito-bom
- or org.kie.kogito:kogito-bom for internal verification before kogito release
- Does not allow for BOM GAV override.
- All groupId, artifactId and version properties of the imported BOMs need to be parameterized with sane defaults.
- This will allow, in case of quarkus-related examples, to run them with both kogito internal and quarkus-platform BOM (similarly as we have already for quarkus-bom).
- Even if we added and explicit import of Kogito BOM inside each Quarkus-related example module, we would be risking not identifying a missing BOM entry in quarkus-kogito-bom (cause it would be brought in by kogito-build-parent).
Goals:
- Make sure dependencyManagement of kogito-examples modules do not inherit anything from the kogito-build-parent - examples should be standalone, relying just on BOMs.
- Use org.kie.kogito:kogito-spring-boot-bom in Spring Boot modules (it seems it's already the case, check this).
- Optional: parameterize GAV too?
- Use maven properties to manage GAV of Kogito and Quarkus BOMs.
- Define these properties in kogito-examples/pom.xml, but import BOMs only in respective Quarkus related modules.
- Keep configuration simple: by removing kogito-build-parent, some currently used properties will be inaccessible. It might be too much of a burden to keep all places in sync, consider best option.