I might be missing some context around the motivation or goal behind
the idea of creating multiple BOMs. Could you please share more
details?

To better understand how BOMs (Bill of Materials) work in practice, I
created the following gist [1]. It demonstrates that BOMs are
essentially loosely defined collections that don't directly impact a
project's dependencies unless those dependencies are explicitly
referenced. For example, in this BOM [2], there's a dependency listed
that doesn't even exist. Yet, when a project imports this BOM [3], it
is unaffected by the missing artifact [4]. The only dependencies that
are brought into the project are those explicitly declared in its
dependencies section [5] (or those resolved transitively).

The reason I'm asking is that having a large list of entries in a
single BOM doesn't seem to pose any functional issue for consumers—but
maintaining multiple BOMs introduces overhead and complexity. So I'm
trying to understand better what problem we're trying to solve with
this split.

[1] - https://gist.github.com/porcelli/cda4993a168a1367285155e57968d2c7
[2] - 
https://gist.github.com/porcelli/cda4993a168a1367285155e57968d2c7#file-bom-pom-xml-L12-L14
[3] - 
https://gist.github.com/porcelli/cda4993a168a1367285155e57968d2c7#file-pom-xml-L11-L17
[4] - 
https://gist.github.com/porcelli/cda4993a168a1367285155e57968d2c7#file-clean-install-log
[5] - 
https://gist.github.com/porcelli/cda4993a168a1367285155e57968d2c7#file-dependency-tree-log

On Tue, Jul 29, 2025 at 4:54 AM Paolo Bizzarri <pibi...@gmail.com> wrote:
>
> Hi,
>
> this discussion comes after the concerns expressed by Gabriele in this
> comment on this PR.
>
> https://github.com/apache/incubator-kie-drools/pull/6352#issuecomment-2911439196
>
> I want to address Gabriele's main points:
>
> - keep Drools as much as possible separated from frameworks like Quarkus
> and Springboot
> - provide separate BOMs for Quarkus Extension and Springboot Extension.
>
> The idea is to have three BOMs - one for simple Drools projects, one for
> projects that use Droos + Quarkus and one for projects that use Drools +
> SpringBoot.
>
> In this way if a project needs just Drools it could use only the Drools
> BOM, while a project that wants to use also Quarkus would have to use the
> Drools + Quarkus BOM.
>
> This is a breaking change however - projects that want to use Drools +
> Quarkus will have to use a different BOM. We can address this in the
> release notes.
>
> I expect the complexity of this change to be minimal, and I am going to
> take care of it.
>
> Let me know your opinion.
>
> Regards
>
> P.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@kie.apache.org
For additional commands, e-mail: dev-h...@kie.apache.org

Reply via email to