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]
