Hi Marcel,
Bndtools is indeed a good tool for building osgi bundle, however,
I want to know whether there are good experences for mirgrating
a large project(eg. ace, glassfish) which has used maven for building
because the current release of bndtools seemed not to be friend to maven.
-Best Regard!
--Tang
Jean-Baptiste Onofré wrote:
Hi Marcel,
as discussed this morning, it sounds like a good idea. I took a look on
BndTools and it's interesting, fast, and stable (regarding the small
tests that I did ;)).
I would be glad to help around that !
Regards
JB
On 06/28/2012 10:37 AM, Marcel Offermans wrote:
Hi all,
When ACE entered the incubator a few years ago, we were using a highly
customized Ant based build. At that time, as a community we decided
that it would be easier to get started with ACE if we moved the build
to Maven.
Now, I think we have arrived at a point where we need to revisit that
decision and consider moving to BndTools [1].
Probably the biggest reason for migrating from Maven to BndTools is to
speed up and simplify development. In case you're not familiar with
BndTools, it is an Eclipse plugin that provides an OSGi development
environment based on Bnd. Compared to other environments, it is really
fast. As soon as you hit "save" on one of your source files, a new
version of your bundle is created and deployed, making any changes
almost "instant". Bundles themselves are defined using "bnd" files and
the plugin provides nice editors for those, as well as many different
abstractions to talk to external repositories through OBR. There are
many other advantages, such as tooling to help us correctly use
semantic versioning throughout our project and easy ways to run and
debug different bundle configurations. Headless builds are supported,
as are unit and integration testing. An interesting twist is that
deploying directly to ACE itself is also supported, so we as a project
integrate nicely with this environme
nt.
Another reason to move is that it could make our release process a lot
simpler. Recent discussions within Apache about what constitutes an
official release have emphasized that only source releases are
"official" Apache releases and that those are the ones we should vote
on. Afterwards we can obviously still make binary releases available,
and I think in the case of ACE we should. During our releases in the
incubator we have tried to strike a balance between doing "big bang"
and "component" releases, setting up everything in such a way that we
could do both. This has proven to be very complicated and doing
releases was painful. With BndTools we can create one source archive
that can be used "out of the box" to build everything and since this
embeds all bundle and package versions we can decide to only bump
those if something actually changes. For convenience we can then still
provide both separate artifacts for Maven as well as shrink-wrapped
binaries that can be used out of the box
.
So, the main point I'd like to discuss is, what is your view on moving
to BndTools?
Greetings, Marcel
[1] http://bndtools.org/
--