News from Bob !
Thursday, September 4th, 2008
There has been some definitive construction work undergoing at Magnolia in the last few days, and this is what this post is all about: changes and improvements in our builds ! (Bob the Builder, geddit?)
It all started with a long standing need to restructure our Subversion repository, along with a desire to improve our Maven pom files. Both tasks were a bit daunting at first, but at some point, after long egg and chicken debates, it just became too itchy and I got started.
- The Subversion repository structure has been completely overhauled. It’s now much easier to navigate AND to maintain. It is even documented !
- Checkout helper scripts have been unified and overhauled. Check ‘em ! Documentation above.
Pom files have been overhauled too. Here’s a quick diagram of their structure.- All poms inherit from a common parent which define a bunch of generic properties, plugins, and dependencies. Everything can be overridden, but it provides a stable basis.
- The lower level of parent poms (magnolia-parent-pom-community-module and so on) share a common site descriptor and skin (provided by magnolia-parent-pom-abstract) and provide the specific repositories and deployment locations.
- Thanks to the above, projects extending these poms now deploy their artifacts and sites in different locations without any hassle.
- Javadoc is now generated in both aggregated and non-aggregated forms ! This means that on the main Maven generated website, you can find aggregated Javadoc (includes Javadoc for all sub-modules) and non-aggregated Javadoc (Javadoc for a single module)
- All our projects now include a Clover report. (Which hopefully will become greener!)
- Archetypes for easily generating skeletons for Magnolia-based projects and modules are being overhauled as well !
- Our Maven repository should soon be synchronized with the central Maven repository. Follow MAVENUPLOAD-2194 and SYS-19 to be updated on this ! For starters, we might only have our parent poms synchronized, but that should be enough to be able to build any Magnolia module without struggling with pom inheritance.
It all seems to work nicely so far. I will release all the parent poms and updated Maven plugins and build tools soon. The first release of Magnolia based on these changes will most likely be 3.6.2. Fingers crossed !
edit: well, almost. It had to be 3.6.3, nothing’s ever without surprises.
No comments yet.
Leave a comment
Tags
Recent Comments
- Greg on Still looking for “the” perfect forum software
- Nils Breunese on Still looking for “the” perfect forum software
- greg on Paving the way for 5.0 – new, refreshed, authoring tags for templates
- greg on Paving the way for 5.0 – new, refreshed, authoring tags for templates
- Richard Unger on Paving the way for 5.0 – new, refreshed, authoring tags for templates