Hi all, I thought about how to release individual modules but I can't seem to figure out how that should be done with our maven project setup.
Let's say I have a development trunk checked out and a maven project with this setup: -parent(0.2-SNAPSHOT) --module1(0.3-SNAPSHOT) --module2(0.1-SNAPSHOT) Now I decide module2 needs to be released. What does this mean? 1) Only module2 is densapshotized, released, resnapshotized. What happens is that the release 0.1 of module1 depends on parent 0.2-SNAPSHOT in the pom.xml of module1. Furthermore the dependency management located in parent 0.2-SNAPSHOT likely has a snapshot version for module3. I think releasing sources with snapshot dependencies is wrong. 2) parent and module2 are denapshotized, released, resnapshotized, module2 is left as it is. This has some sub-cases: 2.1) parent is desnapshotized recursively: this amounts to a full release of all modules (when using maven release plugin at least) 2.2) parent is densapshotized non-recursively: this means parent needs to be released each time a submodule is released. Also parent release 0.2 will likely contain a SNAPSHOT version of module1 in dependency management. If module2 depends on module1 the release version will depend on a snapshot version (the release plugin will likely conplain and ask for versions, this is part of the workflow covered by 2.3). 2.3) parent is released in such a manner, that all SNAPSHOT dependencies in dependency management are reverted to the latest (last) release version, only module2 is updated to the new release version. This again means parent needs to be released each time a submodule is released. Also afterwards non-released modules will need to "fast-forward" to the next SNAPSHOT version of parent. I think there is no tool support for such a scenario and this may be a big effort. Did I miss something? Note. From the binaries point of view none of this is an issue. The only issue is that in the source distribution we have SNAPSHOT dependencies in the pom.xml file. I am interested in how we plan to release single modules as I don't see an easy way to do that consistently. Daniel ---------- Forwarded message ---------- From: Daniel Spicar <[email protected]> Date: 20 February 2012 21:06 Subject: Re: Can someone create 0.3-incubating version in our JIRA project? To: [email protected] Hmm that's true. I didn't realize that. And we can't create versions per component? Pitty. On 20 February 2012 18:56, Reto Bachmann-Gmür <[email protected]> wrote: > Hi > > How do we use these version? Given that every component has its own version > I don't see how we are supposed to use this version of the parent. Should > we release a new parent whenever we release an updated component? I don't > think the release plugin can easily be used for this, as we would have to > move back the versions to the latest stable one for all componens that are > not released. > > Cheers, > reto > > > On Mon, Feb 20, 2012 at 5:50 PM, Daniel Spicar <[email protected] > >wrote: > > > Hi, > > > > I find assigning affected and resolved version for my issues very helpful > > to manage them. I can't create versions myself. Can someone with the > > necessary karma do that please? > > > > Thanks > > Daniel > > >
