JavaMoney / javamoney-parent

JavaMoney - Parent POM
Apache License 2.0
0 stars 11 forks source link

Is it worth creating a javamoney-bom? #4

Open keilw opened 6 years ago

keilw commented 6 years ago

Using javamoney in different projects raises the question of a BOM similar to JBoss or Spring etc. allowing to apply the right dependencies of API, RI and potential 3rd party libraries in a single place.

stokito commented 5 years ago

To be honest it's not so many dependencies declared here and IMO we should get rid off the parent module. It's in fact only complicates a build but gives nothing instead. All the siblings modules have their own parent poms so we have three levels of inheritance. It's really hard to maintain: if we update any dependency here this can break any other module without even knowing about. JFYI: currently on TCK uses the last v1.1 version of the parent pom while all other modules are stuck with v1.0

keilw commented 5 years ago

The Parent POM guides the right usage of plugins and key dependencies like the appropriate JSR version. Beside other things like JAR signing keys which we really don't want to scatter across different projects. There is no 1.1 of the Parent POM, at most a snapshot and therefore using Parent 1.0 sounds perfectly fine. There will be a final 1.1 together with MR1 of the JSR. Not sure if we need a separate BOM, that is probably something to discuss in the mailing list.

stokito commented 5 years ago

Ok, but in javamoney-parent there is no any mention of JSR. It declares some plugins versions in pluginManagement and contains some other plugins in plugins which makes updating of plugins in jsr354-ri very hard and similar to multiple inheritance: you ether need to override all versions of all plugins or not change anything and even better to remove them and complete use plugins and versions from javamoney-parent.

So if, for example, we want to update maven plugins for jsr354-ri we should do that in javamoney-parent and this will also affects other modules like shelter and TCK. Even more, we have some configuration there.

Also the rules of inheritance in Maven are hardly predictable. You can build an effective pom for the jsr354-ri-parent and you'll see that there is some mess like we have 5 repositories.

keilw commented 4 years ago

We keep that for a new version.