Hello Felix, On Jul 15, 2012, at 13:49 PM, Felix Meschberger wrote:
> Just out of curiosity and looking from the outside ... > > I wonder how per-bundle releases would work when merging the projects ? Or > isn't this intended at all ? You no doubt have followed the recent discussions within Apache about doing releases and how source releases are the only "official" ones (since consensus was that voting on binary releases made little sense as they're hard to review). I think it is therefore probably a lot easier to go to a single source release of ACE as a whole. Within that source release we will then have multiple bundles, and each is versioned independently. The same goes for exported packages. We actually use "packageinfo" files in exported packages to ensure consistent versioning of those. So of course not everything will change every release. I see this in a similar way to for example a release of the OSGi specifications: there is an R4.2, R4.3, etc but within that release, some specs and packages will have changed, others might not. After voting on a source release we still intend to provide binaries of course, and we only need to make available bundes that have changed. At the same time, we also want to provide binaries of a complete ACE server for example, and maybe others. > Also, since the developer's view of merged project in Eclipse is probably a > single Eclipse project, the developer sees everything inside the Eclipse > project, right ? Yes. > So, how can it be ensured that when the bundles are created there is no undue > import -- e.g. of an implementation package of another bundle within the same > Eclipse project ? Within a single project, there is no way to enforce that. Bnd will import anything that your code depends on, if you do not put it in the bundle. That is the same for every build tool that uses Bnd. It is however my experience that packaging things in bundles with Bndtools is very easy and mistakes are quickly corrected. The way I work with it, when I start developing I simply run an instance of the ACE server right in Eclipse and from that point on, any new bundle or change is picked up directly. I therefore see directly if things are no longer resolving, if service dependencies have gone missing, etc. Creating multiple bundles out of one project has the advantage that you can easily package things in different ways (no need to shuffle projects around) and you can even package things in more than one way: Want impl and api in different bundles? no problem! also want a combined bundle? no problem! both? no problem! :) Thanks for your feedback! Greetings, Marcel