PDI Build Information

Recently, work has been done to change the build/assembly process to address specific requirements around the PDI-CE release artifacts.

This work has been approached in a way that does not impact the existing build related targets, so that Kettle Community members are not impacted by the changes.

Below is a brief summary of the two processes currently in place.

Kettle Community Build Targets

The Kettle Community archives have two basic differences from the PDI-CE artifacts.  They have a zip/targz filename that includes the revision number in the filename (pdi-ce-4.2.0-r15547.zip), and they extract into a folder that retains the filename structure (/pdi-ce-4.2.0-r15547).

To get these artifacts, you can call the same Ant targets that we have always called in CI to build Kettle:

clean zip

or

clean targz

A new target set could also be called that will produce both a zip and targz without repeated calls to distrib:

clean distrib kettle-package

PDI-CE Build targets

For the Pentaho PDI-CE release artifacts, it is required that the filename follow the conventions of other Pentaho release artifacts (pdi-ce-4.2.0-GA.zip) and extract into a top level folder named /data-integration.

In addition, recent changes to Kettle require Pentaho Reporting jars be checked into the Kettle project.  Since some of the reporting products also depend on Kettle, we needed to further break up the PDI-CE release build process, so that we can build the core Reporting engine, check it into Kettle, build and publish the core Kettle jars, and then build the reporting extensions (some of which depend on kettle), and finally assemble the PDI-CE artifacts.

We also have a short term requirement to bundle in the agile-bi and hadoop plugins to the PDI-CE distribution.  Because of the current PDI-EE assembly process, we need to add these to the PDI-CE artifacts after we create the PDI-EE artifacts.

PDI_CE_Release: sourcezip javadoc_zip pdice-jar kettle-plugins-dist / clean publish publish-plugins

PDI_CE_Assemble: pdice-assemble pdice-package

PDI_CE_Repackage: clean pdi-repackage

For Future Discussion

In the Sugar time frame we would like to investigate streamlining the build.xml for Kettle - possibly removing the need for multiple directory structures and artifact file naming, while still addressing the needs of the Kettle Community.