ace-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Marcel Offermans <>
Subject Re: Merging projects
Date Sun, 15 Jul 2012 14:29:55 GMT
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 ?


> 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

View raw message