maven-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Stephen Connolly <>
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

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