Excellent! 
Thank you!
________________________________________
Feladó: Stephen Connolly [[email protected]]
Küldve: 2009. január 12. 17:40
Címzett: Maven Users List
Tárgy: Re: release plugin only works with snapshot projects.

You can always write your own release plugin... most of the primitives
needed are in a separate module and the maven-release-plugin is just a thin
wrapper on top.

-Stephen

2009/1/12 Tibor Kiss <[email protected]>

> Thank You!
>
> I asked because I would like to match with our current development
> aproaches. Maybe it worst looking into detail, because here are working
> subcontractors and only module managers are deploying. The separation of
> workspace is realised by SVN authorization on different branches.
>
> Usually we are working in at least two branches. One of the branches plays
> the role of integration and user acceptance test branch (UAT) and at least
> one development branch (DEV_*) (the number of DEV_ branches depends on the
> number of parallel works). This is because the writing permission on UAT is
> given only to module managers! (The development teams usually are different
> subcontractors, so they are working on their own DEV_* or BUGFIX_*
> branches.)
>
> The ideea is that merging into UAT is performed only by module managers.
> But before the DEV team is passing the merging task to module manager, they
> synchronizes with the UAT content (merge from UAT to DEV_) to be in synchron
> state. In this way the DEV_ team has the same sources as on the stable UAT
> plus what they modified. After the development tests (on DEV_ branch)
> passes, everything goes to acceptance tests by merging into UAT and
> releasing it as a staging version. If any errors occurs on user acceptance
> test environment, they will be fixed on DEV_* branches then updated + merged
> to UAT. Every new release is getting a diferent version, so is no version
> overwriting in maven repository.
>
> In UAT environment instead of using 1.1.1-SNAPSHOT version we would use
> 1.1.1-01 (<major version>.<minor version>.<incremental version>-<qualifier>)
> becauses the policy is that on UAT servers is not allowed to install
> developer version. "01" means <qualifier> and always is changing with every
> deployment on UAT environment. At one point a version is passing user
> acceptance tests and that version goes to PRODUCTION. <minor version> we are
> incrementing when incompatible changes are introduced and <incremental
> version> is bound to a feature set.
>
> It seems that the source codes on UAT branch and the DEV_ branches must be
> versioned with SNAPSHOT and the release:prepare  (and :perform) commands has
> to be used only on UAT branch by modul managers. Therefore form UAT branch
> is useless to deploy a snapshot. Usually it's enough to use release plugin
> to build releases.
>
> Another issue is that often we have different teams working with
> applications which are interdependent and goes to UAT tests together (not
> enough timeframe each individually be tested on uat env.). That means, they
> will have on their dependencyManagement some SNAPSHOT dependencies which
> needs to be resolved manually before releasing it. Until now I was thinking
> that version range dependencies without -SNAPSHOT would be enough for us,
> but won't be enough. I'm right?
> But what about a two parallel development branch who wouldn't want to see
> each other's on dependencies? They will use non overlapping version ranges
> or all their dependencies (also SNAPSHOT) will be fixed?
>
> Sorry for too much details. Right now I am facing these real condition
> issues which differs a little bit compared to open source aproach.
>
> Regards,
> Tibor
> ________________________________________
> Feladó: Stephen Connolly [[email protected]]
> Küldve: 2009. január 12. 14:27
> Címzett: Maven Users List
> Tárgy: Re: release plugin only works with snapshot projects.
>
> Functions as designed.
>
> You should only ever do development work on a project that has a -SNAPSHOT
> version.
>
> The -SNAPSHOT version indicates that this is the version we are working
> towards...
>
> Maven does not allow re-deploying a non-SNAPSHOT version, so that if you
> are
> doing development with a pom that has version 4.5.1 and somebody
> accidentally runs
>
> mvn deploy
>
> Then the code base *at that specific point in time* is what will be
> deployed.
>
> When you then later try to deploy 4.5.1 for real, the redeployment will/may
> be silently quashed (depending on what repository manager and what version
> of the maven deploy plugin you are using) and you have an irreproducible
> build.
>
> So the short answer is: "Because you'll f*ck it up if you don't use a
> -SNAPSHOT version"
>
> -Stephen
>
> 2009/1/12 Tibor Kiss <[email protected]>
>
> > Hi.
> >
> > If I try to prepare a multi-project whose version is a non-snapshot
> > version, it throws an exception:
> > "You don't have a SNAPSHOT project in the reactor projects list."
> >
> > I don't understand why is a must to start releasing from a snapshot
> > version?
> >
> > Regards,
> > Tibor
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [email protected]
> > For additional commands, e-mail: [email protected]
> >
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to