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]
