Hey guys,
As you all know, a lot of things have happened recently within the ACE project. We’ve rewritten
the complete management agent, added quite a few features to the server and squashed bugs.
With all of this work done I feel we should start working towards a new release now, but I’d
like to get everbody’s opinion and check if there are things we forgot about that really
need to make it into a new release.
One thing I would like to do is to upgrade to the latest Bndtools 2.2.2 version and enable
support for baselining. Baselining will give us a lot of tool support to ensure our code (bundles
and exported packages) is semantically versioned. To leverage baselining support there are
a couple of things we need to do:
* We need the to start putting @ProviderType and @ConsumerType annotations on all our APIs.
In fact, we need to “retrofit” this to our 1.0.0 release to ensure the baselining works
correctly. These annotations are not magically available, but we can add them to the global
build path (cnf/ext/defaults.bnd).
* We need to keep a copy of all released bundles (the latest version of each) in a repository
to baseline against. Because we don’t want our build to break when we’re off-line I propose
we put them in a local repository. We probably need to build those artifacts with the Eclipse
compiler to prevent problems that will otherwise occur because of differences between ecj
and javac so: checkout with Eclipse, build, collect all bundles from "generated" folders and
publish them into the releaserepo in cnf. We also want to add them to the -deps artifact so
people can easily get started with a release with baselining enabled.
If anybody else has input, speak up! :) WDYT?
Greetings, Marcel