You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@maven.apache.org by Benoit Decherf <de...@yahoo-inc.com> on 2008/02/06 19:10:24 UTC
release from a specific tag
Hi,
I think that we should be able to perform a release from an old nightly
tag rather than do it always from the trunk :
Every night functional tests run on a project A. On day "d" everything
works, but after, I decide to add a feature and I broke the trunk. I'd
like to be able to release the project in it's state of day "d" without
losing the work I done. This could be useful in some cases.
Is there already a way to do it ?
Benoit
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
For additional commands, e-mail: users-help@maven.apache.org
Re: release from a specific tag
Posted by VUB Stefan Seidel <ss...@vub.de>.
Hi,
I have to support Benoit here, I think it is a very useful use case. We
have never thought of going back when something fails but indirectly we
work around it.
We too have continuum running every night, and if all goes well and the
integration tests succeed, an application package is built containing
all the necessary jar, war and ear files and it is deployed to a remote
server using scp. Thus, we can always have a tested working binary
version. But we too could not declare this as a release version, because
we only have a binary.
A workaround would be to tag the sources every night, then check out the
sources using the tag, then release it from there.
regards,
Stefan
Benoit Decherf wrote:
> I'm not sure that this it's specific to our process (If this is the
> case, we should probably change it :) ).
>
> I don't think that is possible to have always a clean trunk/branch.
> Let me explain our process:
> Each developer commit their changes on the trunk.
> Each hour, continuum check for changes and package the components(and
> execute the unit test).
> Each night project is tagged (nightly tag) and the packages are
> installed on a dev plateform and automatics tests are executed. This can
> last 3 hours.
>
> So, I agree with you that if a unit test fails, the developer have to
> clean it (This shouldn't happen because tests should be executed before
> commit). But the integration tests that last 3 hours can't be executed
> on each commit, so something can be broken for several days because of a
> regression. This also occurs at maven.
>
> Additionaly, when performing (prepare) a release, It should be great to
> be sure that the integration tests passed. So it can be useful to be
> able to prepare/perform a release from a nightly tag.
>
> Benoit
>
> Kalle Korhonen wrote:
>> Ah ok, I see what you mean, but I think it's specific to your process.
>> I'd
>> assume that most projects operate so they require that the trunk/branch
>> builds cleanly, rather than releasing from a specific time
>> point/version/label. In your case, it'd mean reverting the trunk to 04
>> feb,
>> then doing the release. In the meantime 05 feb would continue in
>> branch or
>> with local copies only. I believe it's also common practice to require
>> the
>> trunk builds to succeed. In our development process, we try not to
>> prevent
>> build failures but to minimize the time the build remains in broken
>> state,
>> with whatever means necessary (in some cases, reverting to previous
>> state).
>>
>> Kalle
>>
>>
>> On 2/7/08, Benoit Decherf <de...@yahoo-inc.com> wrote:
>>
>>> Image that we are working on the trunk. Every night a nightly snapshot
>>> is created and deploy on a test servers and automatic tests are run
>>> (they can last 4hours for a project).
>>> on date 04 feb. every tests passed.
>>> on date 05 feb. some tests are broken.
>>>
>>> But on 06 feb we want to make a release (to install in prod). The dev
>>> started on 05 feb are not finished, and so the nightly of 04 feb should
>>> be released.
>>> To do so, I suppose that release:prepare should be executed from the
>>> nightly tag of 4 feb to remove all snapshots dependencies, tag the
>>> release with an official tag, etc... The release prepare should create a
>>> branch from this tag to do it ?
>>>
>>> Benoit
>>>
>>>
>>> Kalle Korhonen wrote:
>>>
>>>> I don't understand what you are asking. release:perform doesn't do
>>>>
>>> anything
>>>
>>>> else but runs deploy (and site-deploy) on the newly created tag; after
>>>> release:prepare, the release is already cut. If you want snapshots, why
>>>> don't you just deploy uniquely versioned snapshots nightly?
>>>>
>>>> Kalle
>>>>
>>>>
>>>> On 2/7/08, Benoit Decherf <de...@yahoo-inc.com> wrote:
>>>>
>>>>
>>>>> But I don't want to create an official version every night.
>>>>> In the nightly version, there still have the -SNAPSHOT versions. So I
>>>>> can't use release:perform to do it. I realy need to execute the
>>>>> release:prepare from the nightly tag.
>>>>>
>>>>> All projects here ask for this feature. I think this is a very good
>>>>> feature to be able to release an "unofficial" version that is
>>>>> entirely
>>>>> tested.
>>>>> It seems strange that nobody has asked for this feature. All of you
>>>>> always create a version from the last commits files of the trunk
>>>>> (integration branch) ?
>>>>>
>>>>> Is it possible to make an evolution of the release plugin to support
>>>>>
>>> this
>>>
>>>>> ?
>>>>>
>>>>> Benoit
>>>>>
>>>>>
>>>>> Nicole Lacoste wrote:
>>>>>
>>>>>
>>>>>> Hi Benoit,
>>>>>>
>>>>>> Yes I think so. Well I know you can release from a tag made with the
>>>>>> release prepare. The command is
>>>>>>
>>>>>> mvn release:perform
>>>>>>
>>>>>>
>>>>> -DconnectionUrl=scm:svn:file://your-url-here/tag-name
>>>>>
>>>>>
>>>>>> Look at page 224 of better builds with maven for more details
>>>>>>
>>>>>> Nicole
>>>>>>
>>>>>> On 06/02/2008, Benoit Decherf <de...@yahoo-inc.com> wrote:
>>>>>>
>>>>>>
>>>>>>
>>>>>>> Hi,
>>>>>>>
>>>>>>> I think that we should be able to perform a release from an old
>>>>>>>
>>> nightly
>>>
>>>>>>> tag rather than do it always from the trunk :
>>>>>>>
>>>>>>> Every night functional tests run on a project A. On day "d"
>>>>>>>
>>> everything
>>>
>>>>>>> works, but after, I decide to add a feature and I broke the trunk.
>>>>>>>
>>> I'd
>>>
>>>>>>> like to be able to release the project in it's state of day "d"
>>>>>>>
>>> without
>>>
>>>>>>> losing the work I done. This could be useful in some cases.
>>>>>>> Is there already a way to do it ?
>>>>>>>
>>>>>>> Benoit
>>>>>>>
>>>>>>> ---------------------------------------------------------------------
>>>>>>>
>>>>>>> To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
>>>>>>> For additional commands, e-mail: users-help@maven.apache.org
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>
>>>
>>
>>
>
>
--
best regards,
Stefan Seidel
software developer
________________________
VUB Printmedia GmbH
Chopinstraße 4
D-04103 Leipzig
Germany
tel. +49 (341) 9 60 50 07
fax. +49 (341) 9 60 50 92
mail. sseidel@vub.de
web. www.vub.de
HRB Köln 24015
UStID DE 122 649 251
GF Dr. Achim Preuss Neudorf,
Dr. Christian Preuss Neudorf
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
For additional commands, e-mail: users-help@maven.apache.org
Re: release from a specific tag
Posted by Benoit Decherf <de...@yahoo-inc.com>.
Kalle Korhonen wrote:
> Well, maybe you have a valid use case, but I don't think there's any support
> for it. How do you create a nightly tag then? Couldn't you just run
> release:prepare nightly, then run integration tests on the newly created
> tag, and if succeeds, perform the release, otherwise abandon the tag. I
> don't see a difference between a nightly tag and an "official tag" - you
> could just use minor/micro version numbers to differentiate between
> "official releases" and nightlies. Alternatively, if you use svn, you should
> in principle be able to use revision number for this, but I don't think
> there's any way to instruct Maven to checkout specific revision for
> release:prepare rather than always using the head.
>
A nightly version is like a snapshot. It have to be deleted after some
days. It is just here to check that we are able to create valid version
every night and that nothing is broken. The nightly tag process is done
by continuum in our process.
I'm agree with you that revision number in svn could solve our problem,
but we need in all case to be able to create a release from an older
revision number and not the trunk (And anyway we are not yet using svn :( ).
So it would be great to add 1 option to maven release:prepare
(-DfromTag). If this option is set, maven should create a branch from
this version, checkout this branch and execute the standard release
process from it.
This also mean that scm:branch should be able to create a branch from an
older tag. (I think it is not possible to do it for the moment).
And as you said, it will be great to be able to create a release from a
specific revision number, so we wouldn't have to tag every night (for
the day we will migrate to svn:) )
I think that I could take some time to work on this improvement if you
accept it.
Benoit.
> Kalle
>
>
> On Feb 7, 2008 2:40 AM, Benoit Decherf <de...@yahoo-inc.com> wrote:
>
>
>> I'm not sure that this it's specific to our process (If this is the
>> case, we should probably change it :) ).
>>
>> I don't think that is possible to have always a clean trunk/branch.
>> Let me explain our process:
>> Each developer commit their changes on the trunk.
>> Each hour, continuum check for changes and package the components(and
>> execute the unit test).
>> Each night project is tagged (nightly tag) and the packages are
>> installed on a dev plateform and automatics tests are executed. This can
>> last 3 hours.
>>
>> So, I agree with you that if a unit test fails, the developer have to
>> clean it (This shouldn't happen because tests should be executed before
>> commit). But the integration tests that last 3 hours can't be executed
>> on each commit, so something can be broken for several days because of a
>> regression. This also occurs at maven.
>>
>> Additionaly, when performing (prepare) a release, It should be great to
>> be sure that the integration tests passed. So it can be useful to be
>> able to prepare/perform a release from a nightly tag.
>>
>> Benoit
>>
>> Kalle Korhonen wrote:
>>
>>> Ah ok, I see what you mean, but I think it's specific to your process.
>>>
>> I'd
>>
>>> assume that most projects operate so they require that the trunk/branch
>>> builds cleanly, rather than releasing from a specific time
>>> point/version/label. In your case, it'd mean reverting the trunk to 04
>>>
>> feb,
>>
>>> then doing the release. In the meantime 05 feb would continue in branch
>>>
>> or
>>
>>> with local copies only. I believe it's also common practice to require
>>>
>> the
>>
>>> trunk builds to succeed. In our development process, we try not to
>>>
>> prevent
>>
>>> build failures but to minimize the time the build remains in broken
>>>
>> state,
>>
>>> with whatever means necessary (in some cases, reverting to previous
>>>
>> state).
>>
>>> Kalle
>>>
>>>
>>> On 2/7/08, Benoit Decherf <de...@yahoo-inc.com> wrote:
>>>
>>>
>>>> Image that we are working on the trunk. Every night a nightly snapshot
>>>> is created and deploy on a test servers and automatic tests are run
>>>> (they can last 4hours for a project).
>>>> on date 04 feb. every tests passed.
>>>> on date 05 feb. some tests are broken.
>>>>
>>>> But on 06 feb we want to make a release (to install in prod). The dev
>>>> started on 05 feb are not finished, and so the nightly of 04 feb should
>>>> be released.
>>>> To do so, I suppose that release:prepare should be executed from the
>>>> nightly tag of 4 feb to remove all snapshots dependencies, tag the
>>>> release with an official tag, etc... The release prepare should create
>>>>
>> a
>>
>>>> branch from this tag to do it ?
>>>>
>>>> Benoit
>>>>
>>>>
>>>> Kalle Korhonen wrote:
>>>>
>>>>
>>>>> I don't understand what you are asking. release:perform doesn't do
>>>>>
>>>>>
>>>> anything
>>>>
>>>>
>>>>> else but runs deploy (and site-deploy) on the newly created tag; after
>>>>> release:prepare, the release is already cut. If you want snapshots,
>>>>>
>> why
>>
>>>>> don't you just deploy uniquely versioned snapshots nightly?
>>>>>
>>>>> Kalle
>>>>>
>>>>>
>>>>> On 2/7/08, Benoit Decherf <de...@yahoo-inc.com> wrote:
>>>>>
>>>>>
>>>>>
>>>>>> But I don't want to create an official version every night.
>>>>>> In the nightly version, there still have the -SNAPSHOT versions. So I
>>>>>> can't use release:perform to do it. I realy need to execute the
>>>>>> release:prepare from the nightly tag.
>>>>>>
>>>>>> All projects here ask for this feature. I think this is a very good
>>>>>> feature to be able to release an "unofficial" version that is
>>>>>>
>> entirely
>>
>>>>>> tested.
>>>>>> It seems strange that nobody has asked for this feature. All of you
>>>>>> always create a version from the last commits files of the trunk
>>>>>> (integration branch) ?
>>>>>>
>>>>>> Is it possible to make an evolution of the release plugin to support
>>>>>>
>>>>>>
>>>> this
>>>>
>>>>
>>>>>> ?
>>>>>>
>>>>>> Benoit
>>>>>>
>>>>>>
>>>>>> Nicole Lacoste wrote:
>>>>>>
>>>>>>
>>>>>>
>>>>>>> Hi Benoit,
>>>>>>>
>>>>>>> Yes I think so. Well I know you can release from a tag made with
>>>>>>>
>> the
>>
>>>>>>> release prepare. The command is
>>>>>>>
>>>>>>> mvn release:perform
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>> -DconnectionUrl=scm:svn:file://your-url-here/tag-name
>>>>>>
>>>>>>
>>>>>>
>>>>>>> Look at page 224 of better builds with maven for more details
>>>>>>>
>>>>>>> Nicole
>>>>>>>
>>>>>>> On 06/02/2008, Benoit Decherf <de...@yahoo-inc.com> wrote:
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>> Hi,
>>>>>>>>
>>>>>>>> I think that we should be able to perform a release from an old
>>>>>>>>
>>>>>>>>
>>>> nightly
>>>>
>>>>
>>>>>>>> tag rather than do it always from the trunk :
>>>>>>>>
>>>>>>>> Every night functional tests run on a project A. On day "d"
>>>>>>>>
>>>>>>>>
>>>> everything
>>>>
>>>>
>>>>>>>> works, but after, I decide to add a feature and I broke the trunk.
>>>>>>>>
>>>>>>>>
>>>> I'd
>>>>
>>>>
>>>>>>>> like to be able to release the project in it's state of day "d"
>>>>>>>>
>>>>>>>>
>>>> without
>>>>
>>>>
>>>>>>>> losing the work I done. This could be useful in some cases.
>>>>>>>> Is there already a way to do it ?
>>>>>>>>
>>>>>>>> Benoit
>>>>>>>>
>>>>>>>>
>>>>>>>>
>> ---------------------------------------------------------------------
>>
>>>>>>>> To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
>>>>>>>> For additional commands, e-mail: users-help@maven.apache.org
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>
>>
>
>
Re: release from a specific tag
Posted by Kalle Korhonen <ka...@gmail.com>.
Well, maybe you have a valid use case, but I don't think there's any support
for it. How do you create a nightly tag then? Couldn't you just run
release:prepare nightly, then run integration tests on the newly created
tag, and if succeeds, perform the release, otherwise abandon the tag. I
don't see a difference between a nightly tag and an "official tag" - you
could just use minor/micro version numbers to differentiate between
"official releases" and nightlies. Alternatively, if you use svn, you should
in principle be able to use revision number for this, but I don't think
there's any way to instruct Maven to checkout specific revision for
release:prepare rather than always using the head.
Kalle
On Feb 7, 2008 2:40 AM, Benoit Decherf <de...@yahoo-inc.com> wrote:
> I'm not sure that this it's specific to our process (If this is the
> case, we should probably change it :) ).
>
> I don't think that is possible to have always a clean trunk/branch.
> Let me explain our process:
> Each developer commit their changes on the trunk.
> Each hour, continuum check for changes and package the components(and
> execute the unit test).
> Each night project is tagged (nightly tag) and the packages are
> installed on a dev plateform and automatics tests are executed. This can
> last 3 hours.
>
> So, I agree with you that if a unit test fails, the developer have to
> clean it (This shouldn't happen because tests should be executed before
> commit). But the integration tests that last 3 hours can't be executed
> on each commit, so something can be broken for several days because of a
> regression. This also occurs at maven.
>
> Additionaly, when performing (prepare) a release, It should be great to
> be sure that the integration tests passed. So it can be useful to be
> able to prepare/perform a release from a nightly tag.
>
> Benoit
>
> Kalle Korhonen wrote:
> > Ah ok, I see what you mean, but I think it's specific to your process.
> I'd
> > assume that most projects operate so they require that the trunk/branch
> > builds cleanly, rather than releasing from a specific time
> > point/version/label. In your case, it'd mean reverting the trunk to 04
> feb,
> > then doing the release. In the meantime 05 feb would continue in branch
> or
> > with local copies only. I believe it's also common practice to require
> the
> > trunk builds to succeed. In our development process, we try not to
> prevent
> > build failures but to minimize the time the build remains in broken
> state,
> > with whatever means necessary (in some cases, reverting to previous
> state).
> >
> > Kalle
> >
> >
> > On 2/7/08, Benoit Decherf <de...@yahoo-inc.com> wrote:
> >
> >> Image that we are working on the trunk. Every night a nightly snapshot
> >> is created and deploy on a test servers and automatic tests are run
> >> (they can last 4hours for a project).
> >> on date 04 feb. every tests passed.
> >> on date 05 feb. some tests are broken.
> >>
> >> But on 06 feb we want to make a release (to install in prod). The dev
> >> started on 05 feb are not finished, and so the nightly of 04 feb should
> >> be released.
> >> To do so, I suppose that release:prepare should be executed from the
> >> nightly tag of 4 feb to remove all snapshots dependencies, tag the
> >> release with an official tag, etc... The release prepare should create
> a
> >> branch from this tag to do it ?
> >>
> >> Benoit
> >>
> >>
> >> Kalle Korhonen wrote:
> >>
> >>> I don't understand what you are asking. release:perform doesn't do
> >>>
> >> anything
> >>
> >>> else but runs deploy (and site-deploy) on the newly created tag; after
> >>> release:prepare, the release is already cut. If you want snapshots,
> why
> >>> don't you just deploy uniquely versioned snapshots nightly?
> >>>
> >>> Kalle
> >>>
> >>>
> >>> On 2/7/08, Benoit Decherf <de...@yahoo-inc.com> wrote:
> >>>
> >>>
> >>>> But I don't want to create an official version every night.
> >>>> In the nightly version, there still have the -SNAPSHOT versions. So I
> >>>> can't use release:perform to do it. I realy need to execute the
> >>>> release:prepare from the nightly tag.
> >>>>
> >>>> All projects here ask for this feature. I think this is a very good
> >>>> feature to be able to release an "unofficial" version that is
> entirely
> >>>> tested.
> >>>> It seems strange that nobody has asked for this feature. All of you
> >>>> always create a version from the last commits files of the trunk
> >>>> (integration branch) ?
> >>>>
> >>>> Is it possible to make an evolution of the release plugin to support
> >>>>
> >> this
> >>
> >>>> ?
> >>>>
> >>>> Benoit
> >>>>
> >>>>
> >>>> Nicole Lacoste wrote:
> >>>>
> >>>>
> >>>>> Hi Benoit,
> >>>>>
> >>>>> Yes I think so. Well I know you can release from a tag made with
> the
> >>>>> release prepare. The command is
> >>>>>
> >>>>> mvn release:perform
> >>>>>
> >>>>>
> >>>> -DconnectionUrl=scm:svn:file://your-url-here/tag-name
> >>>>
> >>>>
> >>>>> Look at page 224 of better builds with maven for more details
> >>>>>
> >>>>> Nicole
> >>>>>
> >>>>> On 06/02/2008, Benoit Decherf <de...@yahoo-inc.com> wrote:
> >>>>>
> >>>>>
> >>>>>
> >>>>>> Hi,
> >>>>>>
> >>>>>> I think that we should be able to perform a release from an old
> >>>>>>
> >> nightly
> >>
> >>>>>> tag rather than do it always from the trunk :
> >>>>>>
> >>>>>> Every night functional tests run on a project A. On day "d"
> >>>>>>
> >> everything
> >>
> >>>>>> works, but after, I decide to add a feature and I broke the trunk.
> >>>>>>
> >> I'd
> >>
> >>>>>> like to be able to release the project in it's state of day "d"
> >>>>>>
> >> without
> >>
> >>>>>> losing the work I done. This could be useful in some cases.
> >>>>>> Is there already a way to do it ?
> >>>>>>
> >>>>>> Benoit
> >>>>>>
> >>>>>>
> ---------------------------------------------------------------------
> >>>>>> To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
> >>>>>> For additional commands, e-mail: users-help@maven.apache.org
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>>
> >>>
> >>
> >
> >
>
>
Re: release from a specific tag
Posted by Benoit Decherf <de...@yahoo-inc.com>.
I'm not sure that this it's specific to our process (If this is the
case, we should probably change it :) ).
I don't think that is possible to have always a clean trunk/branch.
Let me explain our process:
Each developer commit their changes on the trunk.
Each hour, continuum check for changes and package the components(and
execute the unit test).
Each night project is tagged (nightly tag) and the packages are
installed on a dev plateform and automatics tests are executed. This can
last 3 hours.
So, I agree with you that if a unit test fails, the developer have to
clean it (This shouldn't happen because tests should be executed before
commit). But the integration tests that last 3 hours can't be executed
on each commit, so something can be broken for several days because of a
regression. This also occurs at maven.
Additionaly, when performing (prepare) a release, It should be great to
be sure that the integration tests passed. So it can be useful to be
able to prepare/perform a release from a nightly tag.
Benoit
Kalle Korhonen wrote:
> Ah ok, I see what you mean, but I think it's specific to your process. I'd
> assume that most projects operate so they require that the trunk/branch
> builds cleanly, rather than releasing from a specific time
> point/version/label. In your case, it'd mean reverting the trunk to 04 feb,
> then doing the release. In the meantime 05 feb would continue in branch or
> with local copies only. I believe it's also common practice to require the
> trunk builds to succeed. In our development process, we try not to prevent
> build failures but to minimize the time the build remains in broken state,
> with whatever means necessary (in some cases, reverting to previous state).
>
> Kalle
>
>
> On 2/7/08, Benoit Decherf <de...@yahoo-inc.com> wrote:
>
>> Image that we are working on the trunk. Every night a nightly snapshot
>> is created and deploy on a test servers and automatic tests are run
>> (they can last 4hours for a project).
>> on date 04 feb. every tests passed.
>> on date 05 feb. some tests are broken.
>>
>> But on 06 feb we want to make a release (to install in prod). The dev
>> started on 05 feb are not finished, and so the nightly of 04 feb should
>> be released.
>> To do so, I suppose that release:prepare should be executed from the
>> nightly tag of 4 feb to remove all snapshots dependencies, tag the
>> release with an official tag, etc... The release prepare should create a
>> branch from this tag to do it ?
>>
>> Benoit
>>
>>
>> Kalle Korhonen wrote:
>>
>>> I don't understand what you are asking. release:perform doesn't do
>>>
>> anything
>>
>>> else but runs deploy (and site-deploy) on the newly created tag; after
>>> release:prepare, the release is already cut. If you want snapshots, why
>>> don't you just deploy uniquely versioned snapshots nightly?
>>>
>>> Kalle
>>>
>>>
>>> On 2/7/08, Benoit Decherf <de...@yahoo-inc.com> wrote:
>>>
>>>
>>>> But I don't want to create an official version every night.
>>>> In the nightly version, there still have the -SNAPSHOT versions. So I
>>>> can't use release:perform to do it. I realy need to execute the
>>>> release:prepare from the nightly tag.
>>>>
>>>> All projects here ask for this feature. I think this is a very good
>>>> feature to be able to release an "unofficial" version that is entirely
>>>> tested.
>>>> It seems strange that nobody has asked for this feature. All of you
>>>> always create a version from the last commits files of the trunk
>>>> (integration branch) ?
>>>>
>>>> Is it possible to make an evolution of the release plugin to support
>>>>
>> this
>>
>>>> ?
>>>>
>>>> Benoit
>>>>
>>>>
>>>> Nicole Lacoste wrote:
>>>>
>>>>
>>>>> Hi Benoit,
>>>>>
>>>>> Yes I think so. Well I know you can release from a tag made with the
>>>>> release prepare. The command is
>>>>>
>>>>> mvn release:perform
>>>>>
>>>>>
>>>> -DconnectionUrl=scm:svn:file://your-url-here/tag-name
>>>>
>>>>
>>>>> Look at page 224 of better builds with maven for more details
>>>>>
>>>>> Nicole
>>>>>
>>>>> On 06/02/2008, Benoit Decherf <de...@yahoo-inc.com> wrote:
>>>>>
>>>>>
>>>>>
>>>>>> Hi,
>>>>>>
>>>>>> I think that we should be able to perform a release from an old
>>>>>>
>> nightly
>>
>>>>>> tag rather than do it always from the trunk :
>>>>>>
>>>>>> Every night functional tests run on a project A. On day "d"
>>>>>>
>> everything
>>
>>>>>> works, but after, I decide to add a feature and I broke the trunk.
>>>>>>
>> I'd
>>
>>>>>> like to be able to release the project in it's state of day "d"
>>>>>>
>> without
>>
>>>>>> losing the work I done. This could be useful in some cases.
>>>>>> Is there already a way to do it ?
>>>>>>
>>>>>> Benoit
>>>>>>
>>>>>> ---------------------------------------------------------------------
>>>>>> To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
>>>>>> For additional commands, e-mail: users-help@maven.apache.org
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>
>>
>
>
Re: release from a specific tag
Posted by Kalle Korhonen <ka...@gmail.com>.
Ah ok, I see what you mean, but I think it's specific to your process. I'd
assume that most projects operate so they require that the trunk/branch
builds cleanly, rather than releasing from a specific time
point/version/label. In your case, it'd mean reverting the trunk to 04 feb,
then doing the release. In the meantime 05 feb would continue in branch or
with local copies only. I believe it's also common practice to require the
trunk builds to succeed. In our development process, we try not to prevent
build failures but to minimize the time the build remains in broken state,
with whatever means necessary (in some cases, reverting to previous state).
Kalle
On 2/7/08, Benoit Decherf <de...@yahoo-inc.com> wrote:
>
> Image that we are working on the trunk. Every night a nightly snapshot
> is created and deploy on a test servers and automatic tests are run
> (they can last 4hours for a project).
> on date 04 feb. every tests passed.
> on date 05 feb. some tests are broken.
>
> But on 06 feb we want to make a release (to install in prod). The dev
> started on 05 feb are not finished, and so the nightly of 04 feb should
> be released.
> To do so, I suppose that release:prepare should be executed from the
> nightly tag of 4 feb to remove all snapshots dependencies, tag the
> release with an official tag, etc... The release prepare should create a
> branch from this tag to do it ?
>
> Benoit
>
>
> Kalle Korhonen wrote:
> > I don't understand what you are asking. release:perform doesn't do
> anything
> > else but runs deploy (and site-deploy) on the newly created tag; after
> > release:prepare, the release is already cut. If you want snapshots, why
> > don't you just deploy uniquely versioned snapshots nightly?
> >
> > Kalle
> >
> >
> > On 2/7/08, Benoit Decherf <de...@yahoo-inc.com> wrote:
> >
> >> But I don't want to create an official version every night.
> >> In the nightly version, there still have the -SNAPSHOT versions. So I
> >> can't use release:perform to do it. I realy need to execute the
> >> release:prepare from the nightly tag.
> >>
> >> All projects here ask for this feature. I think this is a very good
> >> feature to be able to release an "unofficial" version that is entirely
> >> tested.
> >> It seems strange that nobody has asked for this feature. All of you
> >> always create a version from the last commits files of the trunk
> >> (integration branch) ?
> >>
> >> Is it possible to make an evolution of the release plugin to support
> this
> >> ?
> >>
> >> Benoit
> >>
> >>
> >> Nicole Lacoste wrote:
> >>
> >>> Hi Benoit,
> >>>
> >>> Yes I think so. Well I know you can release from a tag made with the
> >>> release prepare. The command is
> >>>
> >>> mvn release:perform
> >>>
> >> -DconnectionUrl=scm:svn:file://your-url-here/tag-name
> >>
> >>> Look at page 224 of better builds with maven for more details
> >>>
> >>> Nicole
> >>>
> >>> On 06/02/2008, Benoit Decherf <de...@yahoo-inc.com> wrote:
> >>>
> >>>
> >>>> Hi,
> >>>>
> >>>> I think that we should be able to perform a release from an old
> nightly
> >>>> tag rather than do it always from the trunk :
> >>>>
> >>>> Every night functional tests run on a project A. On day "d"
> everything
> >>>> works, but after, I decide to add a feature and I broke the trunk.
> I'd
> >>>> like to be able to release the project in it's state of day "d"
> without
> >>>> losing the work I done. This could be useful in some cases.
> >>>> Is there already a way to do it ?
> >>>>
> >>>> Benoit
> >>>>
> >>>> ---------------------------------------------------------------------
> >>>> To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
> >>>> For additional commands, e-mail: users-help@maven.apache.org
> >>>>
> >>>>
> >>>>
> >>>>
> >>>
> >>
> >
> >
>
>
Re: release from a specific tag
Posted by Benoit Decherf <de...@yahoo-inc.com>.
VUB Stefan Seidel wrote:
> Benoit Decherf wrote:
>> Paul Gier wrote:
>>> Sorry, I was thinking you were using svn. Maybe you should convert ;)
>>> Yes, when I said the code is the same, I meant your project code
>>> minus the changes to the pom.
>>>
>>> So maybe you would need to do something like
>>> 1. checkout the tag
>>> 2. make a branch
>>> 3. check the code from the tag into the branch
>>> 4. make the changes to the pom.
>>>
>>> Then run your maven release. I agree this is not a very nice process.
>
> Why so complicated?
> 1. checkout the tag
> 2. run maven release
> That will do. The release will package the files you've just checked
> out into the release and will tag these versions as the release version.
The release plugin change the SNAPSHOTS versions to official ones and
commit the modificated pom. So it has to be executed on a branch not on
a tag.
This process should also probably change the development version on the
current branch(the trunk).
So the phases to execute from the release prepare:
- create branch and checkout it (only if the from tag is available)
- scm-check-modifications (not needed if the from tag is available)
- check-pom (in the checkout version)
- check-dependency-snapshots (in the checkout version)
- create-backup-poms (in the checkout version)
- map-release-versions (in the checkout version)
- input-variables (in the checkout version)
- map-development-versions (in the checkout version)
- rewrite-poms-for-release (in the checkout version)
- generate-release-poms (in the checkout version)
- run-preparation-goals (in the checkout version)
- scm-commit-release (in the checkout version)
- scm-tag (in the checkout version)
- rewrite-poms-for-development This should be done in the current
branch, not the created one.
- scm-commit-development. This should be done in the current branch,
not the created one.
The perform phases are not changed and are executed from the checkout
branch.
Are you agree with it ?
Benoit
Re: release from a specific tag
Posted by VUB Stefan Seidel <ss...@vub.de>.
Benoit Decherf wrote:
> Paul Gier wrote:
>> Sorry, I was thinking you were using svn. Maybe you should convert ;)
>> Yes, when I said the code is the same, I meant your project code minus
>> the changes to the pom.
>>
>> So maybe you would need to do something like
>> 1. checkout the tag
>> 2. make a branch
>> 3. check the code from the tag into the branch
>> 4. make the changes to the pom.
>>
>> Then run your maven release. I agree this is not a very nice process.
Why so complicated?
1. checkout the tag
2. run maven release
That will do. The release will package the files you've just checked out
into the release and will tag these versions as the release version.
Stefan
--
best regards,
Stefan Seidel
software developer
________________________
VUB Printmedia GmbH
Chopinstraße 4
D-04103 Leipzig
Germany
tel. +49 (341) 9 60 50 07
fax. +49 (341) 9 60 50 92
mail. sseidel@vub.de
web. www.vub.de
HRB Köln 24015
UStID DE 122 649 251
GF Dr. Achim Preuss Neudorf,
Dr. Christian Preuss Neudorf
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
For additional commands, e-mail: users-help@maven.apache.org
Re: release from a specific tag
Posted by Benoit Decherf <de...@yahoo-inc.com>.
Paul Gier wrote:
> Sorry, I was thinking you were using svn. Maybe you should convert ;)
> Yes, when I said the code is the same, I meant your project code minus
> the changes to the pom.
>
> So maybe you would need to do something like
> 1. checkout the tag
> 2. make a branch
> 3. check the code from the tag into the branch
> 4. make the changes to the pom.
>
> Then run your maven release. I agree this is not a very nice process.
I think that it is cleaner: You know exactly what there is in the
version. In the actual process, you have a risk that a developper commit
somethink that shouldn't be included in the release.
I think that the release plugin should include this process. I'd like to
have the opinion of the maven-release-plugin team before to start
working on this dev ?
Benoit
>
> Benoit Decherf wrote:
>> A tag is a fixed version, not a branch. So I can't make a
>> release:prepare on a tag. This can probably be done in svn because
>> there is no real difference between a tag and a branch, but that's
>> not true in cvs.
>>
>> The "nightly x/x/x" and the "release x/x/x" are not the same code.
>> The pom of a release has no SNAPSHOTs dependencies.
>>
>>
>>
>> Paul Gier wrote:
>>> I would think checking out from the tag, and then running
>>> release:prepare from that would work fine for you in this case. It
>>> will create another tag, but that shouldn't be a problem, since you
>>> probably want to keep one tag "nightly x/x/x" and then another tag
>>> "release x.x.x" even though they have basically the same code.
>>> There's nothing in the release plugin, as far as I know, that says
>>> you have to be working from trunk.
>>>
>>>
>>> Benoit Decherf wrote:
>>>> Image that we are working on the trunk. Every night a nightly
>>>> snapshot is created and deploy on a test servers and automatic
>>>> tests are run (they can last 4hours for a project).
>>>> on date 04 feb. every tests passed.
>>>> on date 05 feb. some tests are broken.
>>>>
>>>> But on 06 feb we want to make a release (to install in prod). The
>>>> dev started on 05 feb are not finished, and so the nightly of 04
>>>> feb should be released.
>>>> To do so, I suppose that release:prepare should be executed from
>>>> the nightly tag of 4 feb to remove all snapshots dependencies, tag
>>>> the release with an official tag, etc... The release prepare should
>>>> create a branch from this tag to do it ?
>>>>
>>>> Benoit
>>>>
>>>>
>>>> Kalle Korhonen wrote:
>>>>> I don't understand what you are asking. release:perform doesn't do
>>>>> anything
>>>>> else but runs deploy (and site-deploy) on the newly created tag;
>>>>> after
>>>>> release:prepare, the release is already cut. If you want
>>>>> snapshots, why
>>>>> don't you just deploy uniquely versioned snapshots nightly?
>>>>>
>>>>> Kalle
>>>>>
>>>>>
>>>>> On 2/7/08, Benoit Decherf <de...@yahoo-inc.com> wrote:
>>>>>
>>>>>> But I don't want to create an official version every night.
>>>>>> In the nightly version, there still have the -SNAPSHOT versions.
>>>>>> So I
>>>>>> can't use release:perform to do it. I realy need to execute the
>>>>>> release:prepare from the nightly tag.
>>>>>>
>>>>>> All projects here ask for this feature. I think this is a very good
>>>>>> feature to be able to release an "unofficial" version that is
>>>>>> entirely
>>>>>> tested.
>>>>>> It seems strange that nobody has asked for this feature. All of you
>>>>>> always create a version from the last commits files of the trunk
>>>>>> (integration branch) ?
>>>>>>
>>>>>> Is it possible to make an evolution of the release plugin to
>>>>>> support this
>>>>>> ?
>>>>>>
>>>>>> Benoit
>>>>>>
>>>>>>
>>>>>> Nicole Lacoste wrote:
>>>>>>
>>>>>>> Hi Benoit,
>>>>>>>
>>>>>>> Yes I think so. Well I know you can release from a tag made
>>>>>>> with the
>>>>>>> release prepare. The command is
>>>>>>>
>>>>>>> mvn release:perform
>>>>>>>
>>>>>> -DconnectionUrl=scm:svn:file://your-url-here/tag-name
>>>>>>
>>>>>>> Look at page 224 of better builds with maven for more details
>>>>>>>
>>>>>>> Nicole
>>>>>>>
>>>>>>> On 06/02/2008, Benoit Decherf <de...@yahoo-inc.com> wrote:
>>>>>>>
>>>>>>>
>>>>>>>> Hi,
>>>>>>>>
>>>>>>>> I think that we should be able to perform a release from an old
>>>>>>>> nightly
>>>>>>>> tag rather than do it always from the trunk :
>>>>>>>>
>>>>>>>> Every night functional tests run on a project A. On day "d"
>>>>>>>> everything
>>>>>>>> works, but after, I decide to add a feature and I broke the
>>>>>>>> trunk. I'd
>>>>>>>> like to be able to release the project in it's state of day "d"
>>>>>>>> without
>>>>>>>> losing the work I done. This could be useful in some cases.
>>>>>>>> Is there already a way to do it ?
>>>>>>>>
>>>>>>>> Benoit
>>>>>>>>
>>>>>>>> ---------------------------------------------------------------------
>>>>>>>>
>>>>>>>> To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
>>>>>>>> For additional commands, e-mail: users-help@maven.apache.org
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
>>> For additional commands, e-mail: users-help@maven.apache.org
>>>
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
>> For additional commands, e-mail: users-help@maven.apache.org
>>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
> For additional commands, e-mail: users-help@maven.apache.org
>
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
For additional commands, e-mail: users-help@maven.apache.org
Re: release from a specific tag
Posted by Benoit Decherf <de...@yahoo-inc.com>.
Paul Gier wrote:
> Sorry, I was thinking you were using svn. Maybe you should convert ;)
> Yes, when I said the code is the same, I meant your project code minus
> the changes to the pom.
>
> So maybe you would need to do something like
> 1. checkout the tag
> 2. make a branch
> 3. check the code from the tag into the branch
> 4. make the changes to the pom.
>
> Then run your maven release. I agree this is not a very nice process.
I think that it is cleaner: You know exactly what there is in the
version. In the actual process, you have a risk that a developper commit
somethink that shouldn't be included in the release.
I think that the release plugin should include this process. I'd like to
have the opinion of the maven-release-plugin team before to start
working on this dev ?
Benoit
>
> Benoit Decherf wrote:
>> A tag is a fixed version, not a branch. So I can't make a
>> release:prepare on a tag. This can probably be done in svn because
>> there is no real difference between a tag and a branch, but that's
>> not true in cvs.
>>
>> The "nightly x/x/x" and the "release x/x/x" are not the same code.
>> The pom of a release has no SNAPSHOTs dependencies.
>>
>>
>>
>> Paul Gier wrote:
>>> I would think checking out from the tag, and then running
>>> release:prepare from that would work fine for you in this case. It
>>> will create another tag, but that shouldn't be a problem, since you
>>> probably want to keep one tag "nightly x/x/x" and then another tag
>>> "release x.x.x" even though they have basically the same code.
>>> There's nothing in the release plugin, as far as I know, that says
>>> you have to be working from trunk.
>>>
>>>
>>> Benoit Decherf wrote:
>>>> Image that we are working on the trunk. Every night a nightly
>>>> snapshot is created and deploy on a test servers and automatic
>>>> tests are run (they can last 4hours for a project).
>>>> on date 04 feb. every tests passed.
>>>> on date 05 feb. some tests are broken.
>>>>
>>>> But on 06 feb we want to make a release (to install in prod). The
>>>> dev started on 05 feb are not finished, and so the nightly of 04
>>>> feb should be released.
>>>> To do so, I suppose that release:prepare should be executed from
>>>> the nightly tag of 4 feb to remove all snapshots dependencies, tag
>>>> the release with an official tag, etc... The release prepare should
>>>> create a branch from this tag to do it ?
>>>>
>>>> Benoit
>>>>
>>>>
>>>> Kalle Korhonen wrote:
>>>>> I don't understand what you are asking. release:perform doesn't do
>>>>> anything
>>>>> else but runs deploy (and site-deploy) on the newly created tag;
>>>>> after
>>>>> release:prepare, the release is already cut. If you want
>>>>> snapshots, why
>>>>> don't you just deploy uniquely versioned snapshots nightly?
>>>>>
>>>>> Kalle
>>>>>
>>>>>
>>>>> On 2/7/08, Benoit Decherf <de...@yahoo-inc.com> wrote:
>>>>>
>>>>>> But I don't want to create an official version every night.
>>>>>> In the nightly version, there still have the -SNAPSHOT versions.
>>>>>> So I
>>>>>> can't use release:perform to do it. I realy need to execute the
>>>>>> release:prepare from the nightly tag.
>>>>>>
>>>>>> All projects here ask for this feature. I think this is a very good
>>>>>> feature to be able to release an "unofficial" version that is
>>>>>> entirely
>>>>>> tested.
>>>>>> It seems strange that nobody has asked for this feature. All of you
>>>>>> always create a version from the last commits files of the trunk
>>>>>> (integration branch) ?
>>>>>>
>>>>>> Is it possible to make an evolution of the release plugin to
>>>>>> support this
>>>>>> ?
>>>>>>
>>>>>> Benoit
>>>>>>
>>>>>>
>>>>>> Nicole Lacoste wrote:
>>>>>>
>>>>>>> Hi Benoit,
>>>>>>>
>>>>>>> Yes I think so. Well I know you can release from a tag made
>>>>>>> with the
>>>>>>> release prepare. The command is
>>>>>>>
>>>>>>> mvn release:perform
>>>>>>>
>>>>>> -DconnectionUrl=scm:svn:file://your-url-here/tag-name
>>>>>>
>>>>>>> Look at page 224 of better builds with maven for more details
>>>>>>>
>>>>>>> Nicole
>>>>>>>
>>>>>>> On 06/02/2008, Benoit Decherf <de...@yahoo-inc.com> wrote:
>>>>>>>
>>>>>>>
>>>>>>>> Hi,
>>>>>>>>
>>>>>>>> I think that we should be able to perform a release from an old
>>>>>>>> nightly
>>>>>>>> tag rather than do it always from the trunk :
>>>>>>>>
>>>>>>>> Every night functional tests run on a project A. On day "d"
>>>>>>>> everything
>>>>>>>> works, but after, I decide to add a feature and I broke the
>>>>>>>> trunk. I'd
>>>>>>>> like to be able to release the project in it's state of day "d"
>>>>>>>> without
>>>>>>>> losing the work I done. This could be useful in some cases.
>>>>>>>> Is there already a way to do it ?
>>>>>>>>
>>>>>>>> Benoit
>>>>>>>>
>>>>>>>> ---------------------------------------------------------------------
>>>>>>>>
>>>>>>>> To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
>>>>>>>> For additional commands, e-mail: users-help@maven.apache.org
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
>>> For additional commands, e-mail: users-help@maven.apache.org
>>>
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
>> For additional commands, e-mail: users-help@maven.apache.org
>>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
> For additional commands, e-mail: users-help@maven.apache.org
>
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org
Re: release from a specific tag
Posted by Paul Gier <pg...@redhat.com>.
Sorry, I was thinking you were using svn. Maybe you should convert ;)
Yes, when I said the code is the same, I meant your project code minus the
changes to the pom.
So maybe you would need to do something like
1. checkout the tag
2. make a branch
3. check the code from the tag into the branch
4. make the changes to the pom.
Then run your maven release. I agree this is not a very nice process.
Benoit Decherf wrote:
> A tag is a fixed version, not a branch. So I can't make a
> release:prepare on a tag. This can probably be done in svn because there
> is no real difference between a tag and a branch, but that's not true in
> cvs.
>
> The "nightly x/x/x" and the "release x/x/x" are not the same code. The
> pom of a release has no SNAPSHOTs dependencies.
>
>
>
> Paul Gier wrote:
>> I would think checking out from the tag, and then running
>> release:prepare from that would work fine for you in this case. It
>> will create another tag, but that shouldn't be a problem, since you
>> probably want to keep one tag "nightly x/x/x" and then another tag
>> "release x.x.x" even though they have basically the same code.
>> There's nothing in the release plugin, as far as I know, that says you
>> have to be working from trunk.
>>
>>
>> Benoit Decherf wrote:
>>> Image that we are working on the trunk. Every night a nightly
>>> snapshot is created and deploy on a test servers and automatic tests
>>> are run (they can last 4hours for a project).
>>> on date 04 feb. every tests passed.
>>> on date 05 feb. some tests are broken.
>>>
>>> But on 06 feb we want to make a release (to install in prod). The dev
>>> started on 05 feb are not finished, and so the nightly of 04 feb
>>> should be released.
>>> To do so, I suppose that release:prepare should be executed from the
>>> nightly tag of 4 feb to remove all snapshots dependencies, tag the
>>> release with an official tag, etc... The release prepare should
>>> create a branch from this tag to do it ?
>>>
>>> Benoit
>>>
>>>
>>> Kalle Korhonen wrote:
>>>> I don't understand what you are asking. release:perform doesn't do
>>>> anything
>>>> else but runs deploy (and site-deploy) on the newly created tag; after
>>>> release:prepare, the release is already cut. If you want snapshots, why
>>>> don't you just deploy uniquely versioned snapshots nightly?
>>>>
>>>> Kalle
>>>>
>>>>
>>>> On 2/7/08, Benoit Decherf <de...@yahoo-inc.com> wrote:
>>>>
>>>>> But I don't want to create an official version every night.
>>>>> In the nightly version, there still have the -SNAPSHOT versions. So I
>>>>> can't use release:perform to do it. I realy need to execute the
>>>>> release:prepare from the nightly tag.
>>>>>
>>>>> All projects here ask for this feature. I think this is a very good
>>>>> feature to be able to release an "unofficial" version that is
>>>>> entirely
>>>>> tested.
>>>>> It seems strange that nobody has asked for this feature. All of you
>>>>> always create a version from the last commits files of the trunk
>>>>> (integration branch) ?
>>>>>
>>>>> Is it possible to make an evolution of the release plugin to
>>>>> support this
>>>>> ?
>>>>>
>>>>> Benoit
>>>>>
>>>>>
>>>>> Nicole Lacoste wrote:
>>>>>
>>>>>> Hi Benoit,
>>>>>>
>>>>>> Yes I think so. Well I know you can release from a tag made with the
>>>>>> release prepare. The command is
>>>>>>
>>>>>> mvn release:perform
>>>>>>
>>>>> -DconnectionUrl=scm:svn:file://your-url-here/tag-name
>>>>>
>>>>>> Look at page 224 of better builds with maven for more details
>>>>>>
>>>>>> Nicole
>>>>>>
>>>>>> On 06/02/2008, Benoit Decherf <de...@yahoo-inc.com> wrote:
>>>>>>
>>>>>>
>>>>>>> Hi,
>>>>>>>
>>>>>>> I think that we should be able to perform a release from an old
>>>>>>> nightly
>>>>>>> tag rather than do it always from the trunk :
>>>>>>>
>>>>>>> Every night functional tests run on a project A. On day "d"
>>>>>>> everything
>>>>>>> works, but after, I decide to add a feature and I broke the
>>>>>>> trunk. I'd
>>>>>>> like to be able to release the project in it's state of day "d"
>>>>>>> without
>>>>>>> losing the work I done. This could be useful in some cases.
>>>>>>> Is there already a way to do it ?
>>>>>>>
>>>>>>> Benoit
>>>>>>>
>>>>>>> ---------------------------------------------------------------------
>>>>>>>
>>>>>>> To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
>>>>>>> For additional commands, e-mail: users-help@maven.apache.org
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>
>>>>
>>>
>>>
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
>> For additional commands, e-mail: users-help@maven.apache.org
>>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
> For additional commands, e-mail: users-help@maven.apache.org
>
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
For additional commands, e-mail: users-help@maven.apache.org
Re: release from a specific tag
Posted by Benoit Decherf <de...@yahoo-inc.com>.
A tag is a fixed version, not a branch. So I can't make a
release:prepare on a tag. This can probably be done in svn because there
is no real difference between a tag and a branch, but that's not true in
cvs.
The "nightly x/x/x" and the "release x/x/x" are not the same code. The
pom of a release has no SNAPSHOTs dependencies.
Paul Gier wrote:
> I would think checking out from the tag, and then running
> release:prepare from that would work fine for you in this case. It
> will create another tag, but that shouldn't be a problem, since you
> probably want to keep one tag "nightly x/x/x" and then another tag
> "release x.x.x" even though they have basically the same code.
> There's nothing in the release plugin, as far as I know, that says you
> have to be working from trunk.
>
>
> Benoit Decherf wrote:
>> Image that we are working on the trunk. Every night a nightly
>> snapshot is created and deploy on a test servers and automatic tests
>> are run (they can last 4hours for a project).
>> on date 04 feb. every tests passed.
>> on date 05 feb. some tests are broken.
>>
>> But on 06 feb we want to make a release (to install in prod). The dev
>> started on 05 feb are not finished, and so the nightly of 04 feb
>> should be released.
>> To do so, I suppose that release:prepare should be executed from the
>> nightly tag of 4 feb to remove all snapshots dependencies, tag the
>> release with an official tag, etc... The release prepare should
>> create a branch from this tag to do it ?
>>
>> Benoit
>>
>>
>> Kalle Korhonen wrote:
>>> I don't understand what you are asking. release:perform doesn't do
>>> anything
>>> else but runs deploy (and site-deploy) on the newly created tag; after
>>> release:prepare, the release is already cut. If you want snapshots, why
>>> don't you just deploy uniquely versioned snapshots nightly?
>>>
>>> Kalle
>>>
>>>
>>> On 2/7/08, Benoit Decherf <de...@yahoo-inc.com> wrote:
>>>
>>>> But I don't want to create an official version every night.
>>>> In the nightly version, there still have the -SNAPSHOT versions. So I
>>>> can't use release:perform to do it. I realy need to execute the
>>>> release:prepare from the nightly tag.
>>>>
>>>> All projects here ask for this feature. I think this is a very good
>>>> feature to be able to release an "unofficial" version that is
>>>> entirely
>>>> tested.
>>>> It seems strange that nobody has asked for this feature. All of you
>>>> always create a version from the last commits files of the trunk
>>>> (integration branch) ?
>>>>
>>>> Is it possible to make an evolution of the release plugin to
>>>> support this
>>>> ?
>>>>
>>>> Benoit
>>>>
>>>>
>>>> Nicole Lacoste wrote:
>>>>
>>>>> Hi Benoit,
>>>>>
>>>>> Yes I think so. Well I know you can release from a tag made with the
>>>>> release prepare. The command is
>>>>>
>>>>> mvn release:perform
>>>>>
>>>> -DconnectionUrl=scm:svn:file://your-url-here/tag-name
>>>>
>>>>> Look at page 224 of better builds with maven for more details
>>>>>
>>>>> Nicole
>>>>>
>>>>> On 06/02/2008, Benoit Decherf <de...@yahoo-inc.com> wrote:
>>>>>
>>>>>
>>>>>> Hi,
>>>>>>
>>>>>> I think that we should be able to perform a release from an old
>>>>>> nightly
>>>>>> tag rather than do it always from the trunk :
>>>>>>
>>>>>> Every night functional tests run on a project A. On day "d"
>>>>>> everything
>>>>>> works, but after, I decide to add a feature and I broke the
>>>>>> trunk. I'd
>>>>>> like to be able to release the project in it's state of day "d"
>>>>>> without
>>>>>> losing the work I done. This could be useful in some cases.
>>>>>> Is there already a way to do it ?
>>>>>>
>>>>>> Benoit
>>>>>>
>>>>>> ---------------------------------------------------------------------
>>>>>>
>>>>>> To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
>>>>>> For additional commands, e-mail: users-help@maven.apache.org
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>>
>>
>>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
> For additional commands, e-mail: users-help@maven.apache.org
>
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
For additional commands, e-mail: users-help@maven.apache.org
Re: release from a specific tag
Posted by Paul Gier <pg...@redhat.com>.
I would think checking out from the tag, and then running release:prepare from
that would work fine for you in this case. It will create another tag, but that
shouldn't be a problem, since you probably want to keep one tag "nightly x/x/x"
and then another tag "release x.x.x" even though they have basically the same
code. There's nothing in the release plugin, as far as I know, that says you
have to be working from trunk.
Benoit Decherf wrote:
> Image that we are working on the trunk. Every night a nightly snapshot
> is created and deploy on a test servers and automatic tests are run
> (they can last 4hours for a project).
> on date 04 feb. every tests passed.
> on date 05 feb. some tests are broken.
>
> But on 06 feb we want to make a release (to install in prod). The dev
> started on 05 feb are not finished, and so the nightly of 04 feb should
> be released.
> To do so, I suppose that release:prepare should be executed from the
> nightly tag of 4 feb to remove all snapshots dependencies, tag the
> release with an official tag, etc... The release prepare should create a
> branch from this tag to do it ?
>
> Benoit
>
>
> Kalle Korhonen wrote:
>> I don't understand what you are asking. release:perform doesn't do
>> anything
>> else but runs deploy (and site-deploy) on the newly created tag; after
>> release:prepare, the release is already cut. If you want snapshots, why
>> don't you just deploy uniquely versioned snapshots nightly?
>>
>> Kalle
>>
>>
>> On 2/7/08, Benoit Decherf <de...@yahoo-inc.com> wrote:
>>
>>> But I don't want to create an official version every night.
>>> In the nightly version, there still have the -SNAPSHOT versions. So I
>>> can't use release:perform to do it. I realy need to execute the
>>> release:prepare from the nightly tag.
>>>
>>> All projects here ask for this feature. I think this is a very good
>>> feature to be able to release an "unofficial" version that is entirely
>>> tested.
>>> It seems strange that nobody has asked for this feature. All of you
>>> always create a version from the last commits files of the trunk
>>> (integration branch) ?
>>>
>>> Is it possible to make an evolution of the release plugin to support
>>> this
>>> ?
>>>
>>> Benoit
>>>
>>>
>>> Nicole Lacoste wrote:
>>>
>>>> Hi Benoit,
>>>>
>>>> Yes I think so. Well I know you can release from a tag made with the
>>>> release prepare. The command is
>>>>
>>>> mvn release:perform
>>>>
>>> -DconnectionUrl=scm:svn:file://your-url-here/tag-name
>>>
>>>> Look at page 224 of better builds with maven for more details
>>>>
>>>> Nicole
>>>>
>>>> On 06/02/2008, Benoit Decherf <de...@yahoo-inc.com> wrote:
>>>>
>>>>
>>>>> Hi,
>>>>>
>>>>> I think that we should be able to perform a release from an old
>>>>> nightly
>>>>> tag rather than do it always from the trunk :
>>>>>
>>>>> Every night functional tests run on a project A. On day "d" everything
>>>>> works, but after, I decide to add a feature and I broke the trunk. I'd
>>>>> like to be able to release the project in it's state of day "d"
>>>>> without
>>>>> losing the work I done. This could be useful in some cases.
>>>>> Is there already a way to do it ?
>>>>>
>>>>> Benoit
>>>>>
>>>>> ---------------------------------------------------------------------
>>>>> To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
>>>>> For additional commands, e-mail: users-help@maven.apache.org
>>>>>
>>>>>
>>>>>
>>>>>
>>>>
>>>
>>
>>
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
For additional commands, e-mail: users-help@maven.apache.org
Re: release from a specific tag
Posted by Benoit Decherf <de...@yahoo-inc.com>.
Image that we are working on the trunk. Every night a nightly snapshot
is created and deploy on a test servers and automatic tests are run
(they can last 4hours for a project).
on date 04 feb. every tests passed.
on date 05 feb. some tests are broken.
But on 06 feb we want to make a release (to install in prod). The dev
started on 05 feb are not finished, and so the nightly of 04 feb should
be released.
To do so, I suppose that release:prepare should be executed from the
nightly tag of 4 feb to remove all snapshots dependencies, tag the
release with an official tag, etc... The release prepare should create a
branch from this tag to do it ?
Benoit
Kalle Korhonen wrote:
> I don't understand what you are asking. release:perform doesn't do anything
> else but runs deploy (and site-deploy) on the newly created tag; after
> release:prepare, the release is already cut. If you want snapshots, why
> don't you just deploy uniquely versioned snapshots nightly?
>
> Kalle
>
>
> On 2/7/08, Benoit Decherf <de...@yahoo-inc.com> wrote:
>
>> But I don't want to create an official version every night.
>> In the nightly version, there still have the -SNAPSHOT versions. So I
>> can't use release:perform to do it. I realy need to execute the
>> release:prepare from the nightly tag.
>>
>> All projects here ask for this feature. I think this is a very good
>> feature to be able to release an "unofficial" version that is entirely
>> tested.
>> It seems strange that nobody has asked for this feature. All of you
>> always create a version from the last commits files of the trunk
>> (integration branch) ?
>>
>> Is it possible to make an evolution of the release plugin to support this
>> ?
>>
>> Benoit
>>
>>
>> Nicole Lacoste wrote:
>>
>>> Hi Benoit,
>>>
>>> Yes I think so. Well I know you can release from a tag made with the
>>> release prepare. The command is
>>>
>>> mvn release:perform
>>>
>> -DconnectionUrl=scm:svn:file://your-url-here/tag-name
>>
>>> Look at page 224 of better builds with maven for more details
>>>
>>> Nicole
>>>
>>> On 06/02/2008, Benoit Decherf <de...@yahoo-inc.com> wrote:
>>>
>>>
>>>> Hi,
>>>>
>>>> I think that we should be able to perform a release from an old nightly
>>>> tag rather than do it always from the trunk :
>>>>
>>>> Every night functional tests run on a project A. On day "d" everything
>>>> works, but after, I decide to add a feature and I broke the trunk. I'd
>>>> like to be able to release the project in it's state of day "d" without
>>>> losing the work I done. This could be useful in some cases.
>>>> Is there already a way to do it ?
>>>>
>>>> Benoit
>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
>>>> For additional commands, e-mail: users-help@maven.apache.org
>>>>
>>>>
>>>>
>>>>
>>>
>>
>
>
Re: release from a specific tag
Posted by Kalle Korhonen <ka...@gmail.com>.
I don't understand what you are asking. release:perform doesn't do anything
else but runs deploy (and site-deploy) on the newly created tag; after
release:prepare, the release is already cut. If you want snapshots, why
don't you just deploy uniquely versioned snapshots nightly?
Kalle
On 2/7/08, Benoit Decherf <de...@yahoo-inc.com> wrote:
>
> But I don't want to create an official version every night.
> In the nightly version, there still have the -SNAPSHOT versions. So I
> can't use release:perform to do it. I realy need to execute the
> release:prepare from the nightly tag.
>
> All projects here ask for this feature. I think this is a very good
> feature to be able to release an "unofficial" version that is entirely
> tested.
> It seems strange that nobody has asked for this feature. All of you
> always create a version from the last commits files of the trunk
> (integration branch) ?
>
> Is it possible to make an evolution of the release plugin to support this
> ?
>
> Benoit
>
>
> Nicole Lacoste wrote:
> > Hi Benoit,
> >
> > Yes I think so. Well I know you can release from a tag made with the
> > release prepare. The command is
> >
> > mvn release:perform
> -DconnectionUrl=scm:svn:file://your-url-here/tag-name
> >
> > Look at page 224 of better builds with maven for more details
> >
> > Nicole
> >
> > On 06/02/2008, Benoit Decherf <de...@yahoo-inc.com> wrote:
> >
> >> Hi,
> >>
> >> I think that we should be able to perform a release from an old nightly
> >> tag rather than do it always from the trunk :
> >>
> >> Every night functional tests run on a project A. On day "d" everything
> >> works, but after, I decide to add a feature and I broke the trunk. I'd
> >> like to be able to release the project in it's state of day "d" without
> >> losing the work I done. This could be useful in some cases.
> >> Is there already a way to do it ?
> >>
> >> Benoit
> >>
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
> >> For additional commands, e-mail: users-help@maven.apache.org
> >>
> >>
> >>
> >
> >
>
>
Re: release from a specific tag
Posted by Benoit Decherf <de...@yahoo-inc.com>.
But I don't want to create an official version every night.
In the nightly version, there still have the -SNAPSHOT versions. So I
can't use release:perform to do it. I realy need to execute the
release:prepare from the nightly tag.
All projects here ask for this feature. I think this is a very good
feature to be able to release an "unofficial" version that is entirely
tested.
It seems strange that nobody has asked for this feature. All of you
always create a version from the last commits files of the trunk
(integration branch) ?
Is it possible to make an evolution of the release plugin to support this ?
Benoit
Nicole Lacoste wrote:
> Hi Benoit,
>
> Yes I think so. Well I know you can release from a tag made with the
> release prepare. The command is
>
> mvn release:perform -DconnectionUrl=scm:svn:file://your-url-here/tag-name
>
> Look at page 224 of better builds with maven for more details
>
> Nicole
>
> On 06/02/2008, Benoit Decherf <de...@yahoo-inc.com> wrote:
>
>> Hi,
>>
>> I think that we should be able to perform a release from an old nightly
>> tag rather than do it always from the trunk :
>>
>> Every night functional tests run on a project A. On day "d" everything
>> works, but after, I decide to add a feature and I broke the trunk. I'd
>> like to be able to release the project in it's state of day "d" without
>> losing the work I done. This could be useful in some cases.
>> Is there already a way to do it ?
>>
>> Benoit
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
>> For additional commands, e-mail: users-help@maven.apache.org
>>
>>
>>
>
>
Re: release from a specific tag
Posted by Nicole Lacoste <ni...@gmail.com>.
Hi Benoit,
Yes I think so. Well I know you can release from a tag made with the
release prepare. The command is
mvn release:perform -DconnectionUrl=scm:svn:file://your-url-here/tag-name
Look at page 224 of better builds with maven for more details
Nicole
On 06/02/2008, Benoit Decherf <de...@yahoo-inc.com> wrote:
>
> Hi,
>
> I think that we should be able to perform a release from an old nightly
> tag rather than do it always from the trunk :
>
> Every night functional tests run on a project A. On day "d" everything
> works, but after, I decide to add a feature and I broke the trunk. I'd
> like to be able to release the project in it's state of day "d" without
> losing the work I done. This could be useful in some cases.
> Is there already a way to do it ?
>
> Benoit
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
> For additional commands, e-mail: users-help@maven.apache.org
>
>