Hi all, As you may have noticed, I've failed to fix the snapshot build. Even though it doesn't produce releasable artifacts, I think this build is important to validate the interoperability of our codebase, and I'd like to get it fixed.
The problem is a cyclic dependency between the semantic versioning plugin (which uses util to process manifests) and the util bundle (which uses the versions plugin to validate its versions). I can see three solutions, none of which are perfect: 1. Pull the versions plugin out from the main build, as we do for the eba and esa plugins, and parent. 2. Update our version mangling in the build so we always build with the released version of the plugin. This is only a partial solution, since it only works when the util bundle doesn't actively require snapshot version function, and it relies us to remember never to update the util bundle to use the latest versions snapshot. (I think this is why the build was still failing, even after I tried this fix, a while ago - it could never have worked until we released the versions plugin!) More generally, it means we can't drive new function in the versions plugin in our build until it's released, which I think would be unfortunate. 3. Strip the util dependency from versions by cutting and pasting needed code. Not clean, not DRY, not OSGi-ish, but it fixes the problem. My personal preference is for 1, but I don't think it's an easy choice. What do others think? Holly