Latest revision as of 08:28, 18 January 2008

What has changed in this build?

A while back, Buckminster switched the way it performed PDE builds from a direct approach using fine grained ant-tasks to using the PDE ant-script generators. The rationale was that the more of the existing PDE build system that could be reused, the better. That approach turned out to be very difficult to maintain as more and more functionality was added. The scripts as such form a monolithic block of things that must be executed in one go for things like version-suffix generation to work. Since it cannot be broken apart, it cannot be orchestrated.

Rather then trying to work around the orchestration conflict using various tricks, Buckminster has now reverted to the old way of doing things. As a result, the solution is now much cleaner and a number of bugs were fixed instantly. Buckminster will still use the PDE logic but instead of first generating scripts and then executing them, it will call on a set of well defined ant tasks that exposes the logic in a more fine grained manner.

The new approach brings the following advantages:

Version suffix generation works as expected

Version replacement works on references to bundles that are not part of the current platform (but present in a delta-pack)

Actions terminate when errors are encountered

Up to date logic works (since new artifacts are created instead of patching existing ones)