Thanks for the comments Sergey. You can distinguish between snapshots by
marking them as "unique". I believe there is an option in the pom
somewhere for this.

If a developer is doing a build, I would think he would always want to
build the latest version of the source. You can ensure that deployed
artifacts are not overwritten by using a repo manager which disallows it
(like Nexus).

There is also the option of using the "staging repository" of the
release plugin. This allows you to put your released artifact in a
private place so you can do all your in house tests, before you formally
release it to your public repo.

There is another option that many of my colleagues has found works well
for them. They release everything. This results in more than one release
a week. So now anyone and everyone has access every build and then your
consumers can freely decide which release they wish to use.

I am not sure if I personally like the last option, but if it works, hey
it works ;-).

---
Todd Thiessen
 

> -----Original Message-----
> From: Sergey Shcherbakov [mailto:[email protected]] 
> Sent: Tuesday, April 07, 2009 11:26 AM
> To: Maven Users List
> Cc: Goulet, Guillaume (CAR:LSBA); Coupland, Kevin (BVW:9T16); 
> Blaney, Kyle (BVW:9T16)
> Subject: RE: Understanding SNAPSHOTS
> 
> Hi Todd,
> 
> I came to exactly same conclusions as you did and even 
> applied that approach in our team. 
> I have set up our projects to use local intranet repository 
> for snapshot builds and external production repository for 
> released builds.
> But it has definitely some inconveniences. And I am wondering 
> too how to set up everyday developer's work in the right way.
> I have some particular questions:
> 
> 1. How to distinguish snapshot build versions correctly? So 
> that one snapshot build would not overwrite previous one in 
> the repository.
> 
> 2. How to set up correctly CI server to perform nightly and 
> release builds not using maven SCM plug-ins (since our CI 
> system has far richer functionality in this field).
> 
> 3. When a developer starts a build on his own machine which 
> version should he use? There is always a risk that he will 
> destroy an artifact in the repository.
> 
> 4. How to perform automatic pom project version update? I am 
> not talking about updating dependency versions to the "latest 
> version". I want to have a build version passed from the CI 
> server automatically in the pom file in the repository. At 
> the moment the recommended way is to update it manually, as I 
> understand.
> 
> There are some more minor questions related to maven 
> application to non-java projects.
> 
> 
> Best Regards,
> Sergey Shcherbakov.
> -----Original Message-----
> From: Todd Thiessen [mailto:[email protected]]
> Sent: Tuesday, April 07, 2009 3:32 PM
> To: Maven Users List
> Cc: Guillaume Goulet; Kevin Coupland; Kyle Blaney
> Subject: Understanding SNAPSHOTS
> 
> I have been thinking alot lately about SNAPSHOTS and how to 
> best utilize them. I think I perhaps have misunderstood them 
> and I wanted to see what kind of responses I get from the 
> community, particularly from the guys at Sonatype.
> 
> I took a look at Nexus (which I am using as a good example of a Maven
> project) to see what kind of versioning it uses.  Users of 
> Nexus generally only ever see released versions of it. ie: 
> version 1.2.0.1, 1.2.0.2, 1.3.0 and so on and so forth.
> 
> Does the Nexus dev team ever create a release of Nexus that 
> is meant for internal purposes only?  For instance, do you 
> have a verification team and if so, how do you distribute a 
> build that you want the verification team to test?
> 
> I suspect your verificaton is done on a SNAPSHOT version, 
> which I believe is one of my big misconceptions of what 
> SNAPSHOTS are meant for.
> I have always thought of SNAPSHOTS as a version that is 
> strictly meant to track nightly builds or builds between developers.
> 
> However, now I am not so sure. Is it reasonable to work with 
> a SNAPSHOT in your local repostiory, do a number of unit 
> tests and sanity on that SNAPSHOT and then deploy a version 
> of that SNAPSHOT to your corporate maven repository to share 
> with the rest of the company/community so that they can use 
> it and test against it? A SNAPSHOT is time stamped so a 
> consumer can always know exactly what version they are using.
> 
> Am I off my rocker? (well, I supose thats a seperate question ;-))
> 
> ---
> Todd Thiessen
> 
> ---------------------------------------------------------------------
> 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