Hi, all.

I'm confused about Maven project inheritance versus project dependencies.
I've been reading a lot on the internet -- specifically Nabble -- already,
but I still need to ask if you have some time to help me.

Please let me sketch our project.
We have one "root project", which is parent to all our other (sub-)projects.
We have about 80 modules within the root project (in other words: 80
sub-projects below the root project).
About 5 of these sub-projects I'd call "products" (JAR's with a proper Main,
or WAR's). All the others are merely dependencies that are shared between
those 5 products.

Let's assume that I've run the Maven Release Plugin against the root
project, and brought all my 81 projects (thus including the root project) to
a version 0.0.1 and subsequently to 0.0.2-SNAPSHOT in the trunk.

A few questions now:

#1 - "Tomorrow" I'll decide to change one of the dependencies of just ONE of
the 5 products, and bring this one product to release. Does it make sense
that I don't want to do that on root project level? (I'd be increasing
version numbers on all 81 projects, wouldn't I? Which makes no sense, given
that only one project changed.)

#2 - What I just described brings this one product to a version 0.0.2 and
subsequently to 0.0.3-SNAPSHOT. What's the role here of the parent POM,
which will still be at 0.0.1? Did I just create an incompatibility? I'd be
telling my customer that I have a brand new 0.0.2 in store for him, or
should I better tell him not to forget that it is actually a "0.0.2 with a
0.0.1 parent" (to make things reproducable)?

#3 - Given all I did above, what would happen with my one product (that's at
0.0.3-SNAPSHOT) when I release once more from the root project level? Would
it become *another* 0.0.2, would it become a 0.0.3, would its parent
reference get automatically updated to 0.0.2 (given that we're releasing a
0.0.2 root project)?

#4 - Given that I'm having all projects in the trunk as a ...-SNAPSHOT,
would the dependencies between projects normally be snapshot dependencies or
release dependencies? Given that Maven prefers convention over
configuration, what's the convention here? And how does that live together
with Continuous Integration principles? Would I want to continuously
integrate on a sub-project-level, or also between the different
sub-project-levels of my larger project?

#5 - IS THERE ANY DOCUMENTATION on advanced version numbering in respect to
releasing and versioning our own dependencies?

Thanks for hearing me out and providing me with some pointers! Sander.
-- 
View this message in context: 
http://www.nabble.com/Role-of-parent-POM-in-release-%28numbering%29-tp18102121p18102121.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