maven-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Stephen Connolly <stephen.alan.conno...@gmail.com>
Subject Re: [maven-release-plugin] Why does perform goal recompiles after running stage goal ?
Date Thu, 31 Jan 2013 20:29:08 GMT
On Thursday, 31 January 2013, Tonio Caputo wrote:

> I'm using maven release for a release procedure, following this workflow
>
> 1 - release:branch  create a release candidate
>      using version X.X.X-000-SNAPSHOT
>      (000 stands for build number)
>
> 2 - release:prepare release:stage to deploy the
>      artifact to a staging repository
>
> 3 - Repeat step 2 until release candidate is ok
>
> 4 - run release:perform with the last staging data
>
> The problem I find is that in step 4 release:perform "recompiles"
> everything, while I was expecting just to deploy de already
> created binaries.
>
> So my question:
>
> - Is this an expected behaviour (perform recompilation) ?


Yes, the other builds are just from your workspace, and not from the tag.

There are occasions where the workspace files can differ from the tag, so
release:perform checks out the tag and builds from that


>
> - Anyway you can override this (perfrom recompilation) ?


You can tell release:prepare to skip compilation, eg with preparationGoals
of initialize or validate

But that is skipping a different compilation than the one you want


>
> - I guess is a common request to expect release deploy to contain
>   the same binaries as accepted release candidate, may be I'm wrong ?


Well, it depends. Releases are supposed to be consistent, so it *should not
matter* that the binary is different because of time stamps, etc... But it
is expensive to re-run your QA process just because the time stamp on
META-INF/MANIFEST.MF changed and hence the sha1 signature...


>
> - Any other way to somehow do this you think, without relying on
>   maven repository features ?


1. The wagon-maven-plugin @ mojo has goals for copying from one maven repo
to another (aka poor man's staging)

2. If you are using the (evil) maven project type in Jenkins (freestyle +
maven build step is good though) it allows re-deploying artifacts, so you
might be able to build a staging workflow on top of that.

3. I have wanted to feed the mrm-maven-plugin with staging support, in
theory it is easy to add... In practice it is not very itchy for me
compared to my other itches


> Thanks in advance
> tonio
>

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