Uploaded image for project: 'Kogito'
  1. Kogito
  2. KOGITO-6090

Kogito-examples remove strong dependency on kogito-runtimes

    XMLWordPrintable

Details

    • 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.

      Attachments

        Activity

          People

            jstastny@redhat.com Jan Stastny
            jstastny@redhat.com Jan Stastny
            Marian Macik Marian Macik
            Marian Macik Marian Macik
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: