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
>