You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@maven.apache.org by Tonio Caputo <to...@exeo.com.ar> on 2013/01/31 20:40:59 UTC
[maven-release-plugin] Why does perform goal recompiles after running
stage goal ?
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) ?
- Anyway you can override this (perfrom recompilation) ?
- I guess is a common request to expect release deploy to contain
the same binaries as accepted release candidate, may be I'm wrong ?
- Any other way to somehow do this you think, without relying on
maven repository features ?
Thanks in advance
tonio
Re: [maven-release-plugin] Why does perform goal recompiles after
running stage goal ?
Posted by Tonio Caputo <to...@exeo.com.ar>.
Stephen,
Really thanks very much for your quick response, really a lot helpfull
!!!!!.
And I love the 'poor man's staging' phrase :)
thanks again
tonio
On Thu, Jan 31, 2013 at 5:29 PM, Stephen Connolly <
stephen.alan.connolly@gmail.com> wrote:
> 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
> >
>
Re: [maven-release-plugin] Why does perform goal recompiles after
running stage goal ?
Posted by Stephen Connolly <st...@gmail.com>.
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
>