Skip to content

Incremental Compilation

kit edited this page May 8, 2018 · 1 revision

Incremental compilation is available since Excelsior JET 15 for non x86-targets. It is implemented via maintaining so called Project Databases (PDB). A PDB is a directory that the AOT compiler creates at the very start of compilation and uses to store all its intermediate and auxiliary files.

PDB Placement Configuration

To configure the PDB placement, add the following configuration to the plugin configuration section:

<pdb>
</pdb>

It may contain one of the following parameters:

  • <keepInBuildDir>true</keepInBuildDir> - the PDB directory will be created in the target/jet/builddirectory and thus will be cleaned on every clean build. By default, the parameter is set to false.

  • <baseDir>pdb-base-directory</baseDir> - base directory for the PDB. If keepInBuildDir is set to false and specificLocation is not set, the PDB directory for the current project will be located in the groupId/projectName subdirectory of baseDir. You may set the parameter either directly from the plugin configuration or using either the jet.pdb.basedir system property or JETPDBBASEDIR environment variable. The default value for baseDir is ${user.home}/.ExcelsiorJET/PDB.

  • <specificLocation>pdb-location-directory</specificLocation> - in some cases, you may need to fully control the placement of the PDB. If this parameter is set to a valid directory pathname, the compiler will place the PDB for this project in that directory, possibly creating it first.

Cleaning the PDB

To clean the PDB for the current project, execute the following Maven command:

mvn jet:clean

As a result, all dependencies will be recompiled on the next build.