RadekKoubsky / spring-boot-bom

OpenShift.io :: Project :: Bom for Spring-Boot
0 stars 0 forks source link

Extend the openshift.io bom file #2

Open cmoulliard opened 7 years ago

cmoulliard commented 7 years ago

Can this BOM extend the openshift.io bom file to inherit the maven plugins including f-m-p ?

https://github.com/openshiftio/booster-parent/blob/master/pom.xml#L42

RadekKoubsky commented 7 years ago

What is the benefit of this? I mean a project that imports the spring-boot-bom defines its plugins at different place. If I look at a booster in general, it extends the booster-parent (inheriting plugins) and imports a bom.

cmoulliard commented 7 years ago

The BOM will not only be used for QE tests but also also for the missions and we should propose or use the same f-m-p plugin for a targetet release. That will guarantee what we certify/support. As discussed previously, the Fabric8 libs + plugin should become common and also used by Vert.x, Swarm, JBoss Fuse (= FIS) ....

RadekKoubsky commented 7 years ago

Thanks for clarification. AFAIK you cannot define plugins in a BOM file, that's why a parent pom is used for plugin management. Thus using springboot bom (which extends booster-parent) in the following way:

            <dependency>
                <groupId>io.openshift</groupId>
                <artifactId>spring-boot-bom</artifactId>
                <version>1.0-SNAPSHOT</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>

will not work for the f-m-p plugin. It must be used as a parent:

   <parent>
      <groupId>io.openshift</groupId>
      <artifactId>spring-boot-bom</artifactId>
      <version>1.0-SNAPSHOT</version>
   </parent>

That's why I proposed the solution with booster-parent + springboot bom in a project's pom, similar to how swarm uses it in e.g. http booster pom Can you please clarify what is your intention of how to use the springboot bom file.

cmoulliard commented 7 years ago

1) I'm ok to follow what you suggest. I would like also to propose that we move the F8 libs under the common booster BOM file in order to be sure that all the runtimes when we will release RHOAR (or even FIS) will use the same gavs. Make sense ?

2) As we will only test/validate some starters for RHOAR, we should perhaps create our own Spring Boot Starter BOM file instead of importing the one from Spring where we list the "supported" starters. This is also what FIS did. OK ?

@RadekKoubsky

RadekKoubsky commented 7 years ago

ad 1) Having common fabric8 libraries at one place definitely makes sense. I will create the common-bom as the last step when I finalize the spring-boot-bom.

ad 2) That perfectly makes sense. I listed each starter into the bom in the first place, but then found out there is a starter-parent which contains all the starters and its dependencies.

If we have reached consensus, I will continue on adding other springboot projects/starters (we certify) to the spring-boot-bom and run it through our tests and boosters. When I finish the spring-boot-bom I will move fabric8 libraries to the common-bom and possibly create our custom bom for starters. Then it can be released to somewhere.

cmoulliard commented 7 years ago

Great. Can you contact us when you have something that we could test with the Spring Boot missions ? @RadekKoubsky

RadekKoubsky commented 7 years ago

I have pushed another version of the bom. It contains most of the starters we will certify, All the starters in the bom and other dependencies is what we test in our test apps. I think this should be enough for boosters dependencies.

I am not sure what fabric8 libraries and what version should be in the bom.