Mike, 

I'm with you fully.  

This thread is a suggestion I made based on tying versioning to concepts
within the SCM very tightly.

In short, I was trying to provide three types of versioning:

* I want the latest official build, *of a branch*, for a particular
dependency (say, master-SNAPSHOT, or trunk-SNAPSHOT). 
-- This is for when I don't want to check out the project, but I want to
track along latest

* I want a specific official build, *of a branch*, for a particular
dependency (say, master-234, where 234 is the build number)
-- This is for when I still don't want to check out the project, but I need
to pin the version.

* I want a local build of a dependency for a given branch *and no other
build from anywhere else* (master-local, which would be a version that
should/could only exist in your local repo and in no public repos)
-- This is for when you need to check out the dependency project and want to
fix a bug/add a feature on it, and while you are doing that work, you want
to force the dependency to resolve to your local version


This model is for internal development.  I don't have much issue with
traditional means of publishing artifacts (i.e, 1.4.26), but I do think this
model could be used without change for true publishing of artifacts.


By the way, I've got the exact versioning scheme working perfectly with Ivy,
and done such that the developer never has to touch their ivy.xml (i.e,
pom.xml) unless they want to 'pin' or change the branch of a dependency.

 There are reasons (described in that thread), as to why this is currently
hard in Maven.  
http://maven.40175.n5.nabble.com/Is-it-possible-to-tie-current-git-branch-to-project-version-tc5543110.html

But I definitely want to do this in Maven, too.

--
View this message in context: 
http://maven.40175.n5.nabble.com/dependency-versioning-design-tp5553348p5553502.html
Sent from the Maven - Users mailing list archive at Nabble.com.

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

Reply via email to