You may want to develop custom plugins to extend Pentaho Data Integration (PDI) functionality or to embed the PDI engine into your own Java applications. To aid experienced Java developers, we provide Java classes and methods, as well as sample Eclipse-based projects with detailed code-level documentation. These instructions will show you how to approach your plugin project. We recommended that you open the related sample project and follow along.
Note: Unless specifically stated otherwise, developing custom plugins and extending or embedding PDI is not covered under the standard Pentaho customer support agreement.
Download the Sample Projects
To download the sample projects, click here.
Note: The sample projects are provided "as is" and are subject to the warranty disclaimer contained in the applicable project license. Sample projects are informational only and are not recommended for use in production. Use in production is at your own risk.
Setting Up a Development Environment
When beginning a new PDI-related project we recommend you start from one of the sample projects and adapt it to your development environment.
The sample projects come preconfigured as Eclipse projects, complete with dependencies to a stable release of PDI. If you are developing for a specific version of PDI, you must replace the dependency jar files to match your version of PDI. The PDI classes and methods are stable for any major version of PDI, so you can safely replace the jar files and develop for any PDI 6.x release.
Getting PDI Sources
When developing with PDI, also known as the Kettle project to the open source community, it is helpful to have the Kettle sources close by. Including them in development projects makes it possible to trace and step through core PDI code, which helps when debugging your solution.
PDI follows the standard project layout for GitHub repositories. The version currently in development is hosted in the trunk folder, patch branches are hosted in the branch folders, and released versions are tagged in the tags folder.
If you are developing for a specific version of PDI, for instance 6.1.0, it is important to check-out or export the corresponding tag. To check which version you need to match your installation, select Help > About from the Spoon menu.
The Build version shows you which tag to use to match your installation.
Attach Source to PDI JAR Files
If you checked out PDI sources, you may want to associate the source to the matching PDI jar files against which you are compiling your plugin. This optional step may improve the debugging experience, as it allows you to trace into PDI core code.
Additional Developer Documentation
The javadoc documentation reflects the most recent stable release of PDI and is available at http://community.pentaho.com/javadoc/.
Pentaho PDI Community Wiki
Additional developer documentation is available in the PDI community wiki: http://wiki.pentaho.com/display/EAI/Latest+Pentaho+Data+Integration+%28aka+Kettle%29+Documentation.
The “Documentation for (Java) Developers" section has additional information for extending PDI with plugins or embedding the PDI engine.