Hi Jörg,

I agree with Stephen.

> 1. A central server that hands out build numbers (SPoF anyone?)

I like Jenkins for this: just forward the value of the BUILD_NUMBER
environment variable to your Maven build.

> 2. A build number based on the system time (e.g. number of seconds
> since the release tag was cut)

That works too, and can be easily included in the JAR manifest:

        <plugin>
          <artifactId>maven-jar-plugin</artifactId>
          <version>2.4</version>
          <configuration>
            <archive>
              <manifestEntries>

<Implementation-Date>${maven.build.timestamp}</Implementation-Date>
              </manifestEntries>
            </archive>
          </configuration>
        </plugin>

Regards,
Curtis


On Mon, Apr 29, 2013 at 8:28 AM, Stephen Connolly <
stephen.alan.conno...@gmail.com> wrote:

> I don't like it as squash and rebase can result in the number decreasing
> again.
>
> If you want strictly increasing numbers with DVCS systems you need either:
>
> 1. A central server that hands out build numbers (SPoF anyone?)
> or
> 2. A build number based on the system time (e.g. number of seconds since
> the release tag was cut)
>
> Basing the number on the commit distance from the last release tag will not
> help when people decide to re-order their commits and squash them down to
> merge them to master.
>
> I favour either releasing more often (thereby removing the need to hand
> -SNAPSHOTs around) or just changing the way you work.
>
> To my mind, the benefits that DVCS gives far far outweigh the loss of a
> "commit number". YMMV and if you really cannot eliminate the need then you
> may be better suited to a non D VCS.
>
> [Others with stronger git-foo than me may have some nicer solutions]
>
> -Stephen
>
>
> On 29 April 2013 13:49, Jörg von Frantzius <joerg.frantz...@aperto.de
> >wrote:
>
> > [Crossposting from u...@mojo.codehaus.org, since no reply or other
> > traffic over there...]
> >
> > Hi,
> >
> > it's a common requirement to automatically have sequential (i.e. strictly
> > increasing) version numbers being generated, e.g. based on SVN revision
> > numbers. Such sequential version numbers can then be used for detection
> of
> > updates of software modules, e.g. Netbeans modules or Magnolia modules.
> >
> > While the buildnumber-plugin does provide this for Subversion, it doesn't
> > do so for Git,  and there is a corresponding open issue for the
> > buildnumber-plugin https://jira.codehaus.org/**browse/MBUILDNUM-93<
> https://jira.codehaus.org/browse/MBUILDNUM-93>.
> > There wasn't progress on that issue since a patch was supplied one year
> > ago, and the problem with that patch seems to be that it replaces the
> > currently used SHA entirely with the number of commits.
> >
> > Git itself does provide a similar feature with git describe (
> > https://www.kernel.org/pub/**software/scm/git/docs/git-**describe.html<
> https://www.kernel.org/pub/software/scm/git/docs/git-describe.html>),
> > where a buildnumber is composed from commit number followed by short
> SHA. A
> > resulting artifact version would look like this: "1.0.4-14-g2414721",
> where
> > "1.0.4" is a manually maintained version number, and "14-g2414721" is
> what
> > the buildnumber plugin could generate.
> >
> > For the same Git branch,  resulting version numbers are strictly
> > increasing and can sensibly be compared and sorted. For different Git
> > branches, or the same branch evolving differently in separated
> > repositories, they at least remain distinguishable due to their SHA short
> > hash.
> >
> > I'd be curious whether others also think that this approach would be
> > suitable for the buildnumber plugin?
> >
> > Thanks for any thoughts,
> > Jörg
> >
> > --
> > *Dipl. inf. Jörg von Frantzius, System Architect*
> >
> > Email mailto:joerg.frantzius@aperto.**de <joerg.frantz...@aperto.de>
> > Phone +49 30 283921-318
> > Fax +49 30 283921-29
> >
> > Aperto AG - In der Pianofabrik
> > Chausseestraße 5, D-10115 Berlin-Mitte
> > http://www.aperto.de
> > http://www.facebook.com/aperto
> > https://www.xing.com/**companies/apertoag<
> https://www.xing.com/companies/apertoag>
> >
> > HRB 77049, AG Berlin Charlottenburg
> > Vorstand: Dirk Buddensiek (Vorsitzender), Kai Großmann, Stephan Haagen
> > Aufsichtsrat: Bernd Hardes (Vorsitzender)
> >
>

Reply via email to