Building the Classic Engine

There are a number of steps required to build the classic engine. This document will try to cover the steps required to not only build the classic engine and it's required libraries, but deploy it into the Pentaho platform projects and publish it to Source Forge.

 The first step to building any library or building the classic engine is to get the latest source code from subversion. The following information defines the connection to the repository and lists the location of the projects that are required.

Repository Location: svn://source.pentaho.org/pentaho-reporting

Projects:

  • trunk/libraries/libformula
  • trunk/libraries/libfonts
  • trunk/engine/classic/core
  • trunk/engine/classic/extensions
  • trunk/engine/classic/demo

Building the Required Libraries

LibFormula

  1. Update the following files:
    1. ~/build.properties - version number
    2. ~/ChangeLog.txt - version number, release date, and release notes
    3. ~/README.txt - version number & release date
    4. ~/source/org/jfree/formula/LibFormulaInfo.java - version number
  2.  Run the default ant target on ~/build.xml
  3. Check in the changed files to subversion
  4. Copy the ~/libformula-{version}.jar file to the core, extensions, and demo project's lib directory (deleting the old version of the file)

LibFonts

  1. Update the following files:
    1. ~/build.properties - version number
    2. ~/ChangeLog.txt - version number, release date, and release notes
    3. ~/README.txt - release date
    4. ~/source/org/jfree/fonts/LibFontInfo.java - version number
  2. Run the default ant target on ~/build.xml
  3. Check in the changed files to subversion
  4. Copy the ~/libfonts-{version}.jar file to the core, extensions, and demo project's lib directory (deleting the old version of the file)

 

Building the Core Project 

Once any changes to the core libraries have been built and copied into the engine's lib directory, the core engine can be built.

  1. Update the following files:
    1. ~/build.properties - version number, and update the version number of any required libraries that were updated
    2. ~/ChangeLog.txt - version number, release date, and release notes
    3. ~/README.txt - release number and release date
    4. ~/source/org/jfree/report/JFreeReportInfo.java - release number
  2. Run the default ant target on ~/build.xml
  3. Check in the changed files to subversion
  4. Copy the ~/pentaho-reporting-engine-classic-{version}.jar to the classic-extensions and classic-demo project's lib directory (deleting the old version of the file)

 

Build the Extensions and Demo

Even if there are no changes to the extensions and/or the demo projects, the updated core library will force a change to these projects. These projects must be built and the version numbers should match the version number of the core project.

Extensions

  1. Update the following files
    1. ~/build.properties - version number, and update the version number of any required libraries that were updated
    2. ~/ChangeLog.txt - Any changes to the extension project (no changes to this file if no changes to this project)
    3. ~/source/org/jfree/report/JFreeReportInfo.java - release number
  2. Run the default ant target on ~/build.xml
  3. Check in the changed files to subversion
  4. Copy the ~/pentaho-reporting-engine-classic-ext-{version}.jar to the classic-demo project's lib directory (deleting the old version of the file) 

Demo

  1. Update the following files
    1. ~/build.properties - version number, and update the version number of any required libraries that were updated
    2. ~/source/org/jfree/report/JFreeReportInfo.java - release number
  2. Run the default ant target on ~/build.xml
  3. Check in the changed files to subversion

 

Update JFreeReport on SourceForge

Once the builds are complete, the JFreeReport project on SourceForce needs to be updated with the new build. Follow the steps outlines in the document (TODO document link)

Update the Pentaho Projects

pentaho - ~/third-party/lib/jfreereport

pentaho-reportdesigner - ~/lib

pentaho-reportwizard - ~/lib