I should also add that if we do our versioning right, we'd expect to see this problem increasingly rarely. The fact that we're still seeing it makes me think we're not getting our versioning right. :)
The release problems happen when two bundles each depend on the latest version of one another. In trunk, we'd expect most bundles to depend on a *released* version of their dependencies, rather than a snapshot version. This ensures that the manifest of the bundle imports packages at the minimum allowed version, not the latest version. For example, we mostly want to be generating Import-Package statements like =[1.0,1.1), not =[1.0.4,1.1), unless we actually really need function in version 1.0.4. The way to do this is to depend on 1.0.0 in the pom, not 1.0.4-SNAPSHOT. (In this particular case the build failures are caused not because of interdependent bundles, but because nothing can find the 2.0.0-SNAPSHOT parent pom - I'd expect that to be available in the snapshots repository. Did we forget a deploy step?) Holly On Tue, Jul 1, 2014 at 7:13 AM, Holly Cummins < [email protected]> wrote: > If we do an incremental release (that is, release a limited number of > modules at a time, and do multiple releases in dependency order), and > deploy the new snapshots to the snapshots repo, trunk should continue to > build during a release. > > Doing an incremental release is not always convenient, particularly if the > number of bundles to release is large. This is a bit of a mismatch between > maven and OSGi. Maven favours only releasing things which share a version > together. > > > On 1 Jul 2014, at 06:58, Guillaume Nodet <[email protected]> wrote: > > > > The only way is to have a local build successful is to revert the > versions > > of being-released artifacts to either the current snapshot or the latest > > public release. I think that can easily be done and committed to trunk. > > Another way is for you to download the artifacts being voted and use > those > > (and it will be testing those ;-) > > > > Guillaume > > > > > > 2014-06-30 20:53 GMT+02:00 Thomas Watson <[email protected]>: > > > >> I'm new here and this may be obvious to others. While we are in release > >> mode, is it expected that trunk will no longer build due to references > to > >> the unreleased 2.0.0 parent pom? Is there a good process to follow in > >> order to be able to build everything locally while doing other work > that is > >> not in the middle of being released? > >> > >> Tom > >> > >> > >> > >> [image: Inactive hide details for Guillaume Nodet ---06/30/2014 01:10:56 > >> PM---This is the first release of a set. It contains the paren]Guillaume > >> Nodet ---06/30/2014 01:10:56 PM---This is the first release of a set. It > >> contains the parent pom in version 2.0.0 > >> > >> From: Guillaume Nodet <[email protected]> > >> To: [email protected] > >> Date: 06/30/2014 01:10 PM > >> Subject: [VOTE] Release Apache Aries Parent 2.0.0 > >> ------------------------------ > >> > >> > >> > >> This is the first release of a set. > >> It contains the parent pom in version 2.0.0 > >> > >> Staging repository available at > >> https://repository.apache.org/content/repositories/orgapachearies-1002 > >> > >> [ ] +1 Release parent 2.0.0 > >> [ ] -1 Do not > >> > >> Cheers, > >> Guillaume Nodet > >> > >> >
