ace-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Tang Yong <>
Subject Re: [DISCUSS] Moving the build to BndTools
Date Thu, 28 Jun 2012 08:52:33 GMT
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!

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]


View raw message