ignite-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Igor Rudyak <irud...@gmail.com>
Subject Re: Ignite Maven project version number
Date Thu, 18 Aug 2016 00:25:02 GMT
Not sure about the original reason to fix version of parent POM.

However the approach you proposed has one drawback comparing to
${app.version} approach. We again need to copy-paste new parent version
number into all module POMs when start working on the next version.

Here is more details:

1) Each module POM has such reference to parent:

  *  <parent>*
*        <groupId>org.apache.ignite</groupId>*
*        <artifactId>ignite-parent</artifactId>*
*        <version>1</version>*
*        <relativePath>../parent</relativePath>*
*    </parent>*

2) The main problem here is in *<version>* tag, where you need to specify
parent project version

3) Thus if you are going to change parent version number you need to
copy-paste this number into ALL other POMs.

4) While using ${app.version} property defined in parent POM, you can just
reuse such common peace of configuration in all other POMs:

*        <groupId>org.apache.ignite</groupId>*
*        <artifactId>ignite-parent</artifactId>*
*        <version>1</version>*
*        <relativePath>../parent</relativePath>*
*    </parent>*

*    <artifactId>my-module</artifactId>*
*    <version>${app.version}</version>*
5) Such a way, if you want switch to development of next version - you just
need to change ${app.version} property in parent POM and it will be
automatically "reused" by all other POMs. The benefit here is that we need
to change version number only in one place.

Igor Rudyak

On Wed, Aug 17, 2016 at 4:13 PM, Raul Kripalani <raul@evosent.com> wrote:

> On Wed, Aug 17, 2016 at 11:14 PM, Igor Rudyak <irudyak@gmail.com> wrote:
> > It's not the solution in this case, cause parent version is always "1"
> >
> What's the reason we've chosen to handle the hierarchy differently to most
> other projects out there? ​Have we considered versioning the parent POM?
> Doesn't a fixed 1 imply that it never evolves?
> Releasing the parent POM would also allow folks to create Ignite modules
> without forking the entire project, just by referencing a parent POM that
> is in Maven Central.
> Proposal: Set the project version in the parent POM and release it. All
> children modules that inherit the parent will automatically inherit the
> project version. Then we can forgo the ${app.version} property – which
> quite frankly appears to be a code smell.
> Cheers.
> ---
> Raúl Kripalani
> linkedin.com/in/raulkripalani | evosent.com
> <http://evosent.com/?utm_source=email&utm_medium=email&
> utm_campaign=evosent_raul>
> | blog: raul.io
> <http://raul.io?utm_source=email&utm_medium=email&utm_
> campaign=evosent_raul> |
> skype: raul.fuse

  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message