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