Hi,

I like the proposal of having different BOMs different of the use (for
instance Quarkus has two different boms: one for application, one for
test).

I can definitely create a bom module containing:
- bom/stack
- bom/application

If it works for you, I can create a Jira and then prepare this for Karaf 4.5.0.

Thoughts ?

Regards
JB

On Wed, Sep 27, 2023 at 9:46 PM Steven Huypens <steven.huyp...@gmail.com> wrote:
>
> Hi Robert,
>
> Thank you for clarifying the difference between both BOMs. I believe that
> the current Karaf BOM incorporates elements from both types, whereas you
> only require the library BOM.
>
> In my opinion, it would be beneficial to create a distinct stack BOM. This
> approach would enhance clarity for consumers. Additionally, by
> consolidating all Maven version properties within this 'stack BOM,'
> projects utilizing Karaf could easily synchronize their dependency versions
> with those of Karaf, without the need to reference the entire Karaf parent
> POM.
>
>
> Kind regards,
> Steven
>
> On Wed, Sep 27, 2023 at 5:18 PM Robert Varga <n...@hq.sk> wrote:
>
> > On 27/09/2023 08.35, Jean-Baptiste Onofré wrote:
> > > Hi
> >
> > Hello,
> >
> > > Not really imho : each project does the way it considers the best.
> > >
> > > For instance, quarkus is using a bop approach similar to Karaf: it
> > exposes
> > > all dependencies in the BOM as a guarantee about the versions working
> > fine.
> > >
> > > The idea in Karaf bom is to clearly state the versions verified in Karaf.
> > > Users can always override the versions, but the BOM guarantees the
> > > qualified versions.
> >
> > Right, and nowadays there are lot more BOM-related resources on the web.
> >
> > Researching what Maven4 will do (for the other email), I came across
> > this: https://www.infoq.com/news/2023/06/maven-puzzlers-devoxxuk/
> >
> > Which makes a distinction, making both our views correct:
> >
> > >     The library BOM - defines projects that are related to a single
> > library. For example, the JUnit or Jackson BOM defines everything related
> > to JUnit and nothing more
> > >     The stack BOM - Spring or Quarkus BOM bring all dependencies of
> > various projects required for the given project to function. Each BOM
> > contains a combination of versions that work best together
> >
> > I meant to former while Karaf is doing the latter. Count myself educated :)
> >
> > It might make sense to somehow also provide just a library BOM, but I
> > struggle to define the use case where I would really need it :)
> >
> > Thanks,
> > Robert
> >
> >
> > >
> > > Regards
> > > JB
> > >
> > > Le dim. 24 sept. 2023 à 22:54, Robert Varga <n...@hq.sk> a écrit :
> > >
> > >> Hello,
> > >>
> > >> One thing that strikes me is "Bill of Materials" as perceived by
> > karaf-bom.
> > >>
> > >> As it currently stands, karaf-bom includes all declarations of
> > >> karaf.git/pom.xml.
> > >>
> > >> As I understand the bill-of-materials concept under Maven, it should
> > >> only list artifacts provided by a particular project, nothing more,
> > >> nothing less.
> > >>
> > >> In the latter regard, we should be only declaring org.apache.karaf
> > >> artifacts in karaf-bom.
> > >>
> > >>   From a downstream's perspective, there is a difference between
> > >> importing karaf-bom (in which case the downstream takes the
> > >> resposibility to align any shared depdendencies) and karaf.git/pom.xml
> > >> (in which case I am trusting Karaf with a ton of dependencies).
> > >>
> > >> Currently, there is no distinction between those two.
> > >>
> > >> Is it fair to align karaf-bom with the above expectation (and hence not
> > >> leak things like org.slfj4.api's version)?
> > >>
> > >> As it stands there is no distinction, with this proposal current
> > >> downstreams wishing to retain current state would scope=import
> > >> karaf.git/pom.xml instead of karaf-bom (a change of maven coordinates)
> > >> with no otherwise-observable change.
> > >>
> > >> Does this make sense?
> > >>
> > >> Regards,
> > >> Robert
> > >>
> > >
> >

Reply via email to