PuffinPlot development notes
PuffinPlot is a program for palaeomagnetic data plotting and analysis, written by Pontus Lurcock. This readme describes the requirements for building PuffinPlot and its documentation from source, and is intended for developers rather than users. Users are advised to download the latest PuffinPlot release from the project website at http://talvi.net/puffinplot/ and consult the included user manual.
A Java Development Kit (JDK), version 8.
PuffinPlot is structured as a Maven project, and can be built by running
mvn package in the root directory. This will produce the zip package
puffinplot-<version>-bin.zip in the
target subdirectory. Other than
the JDK and Maven itself, all dependencies are automatically downloaded
and cached locally by Maven during the build process. As of November 2020,
cloning and building PuffinPlot requires around 500 MB of disk space, not
including the space required for the JDK.
The PuffinPlot build process includes the execution of several hundred unit tests. Some of the tests require a desktop environment to execute, and if the build is carried out in a headless environment those tests will be skipped.
PuffinPlot has been developed mainly in
Apache Netbeans, and the
file provides some NetBeans-specific Maven actions, but development is not
tied to any specific IDE. In particular, PuffinPlot’s Swing GUI does not
make use of the NetBeans Matisse GUI designer.
PuffinPlot can optionally make use of Jython; the required Jython package can be dynamically downloaded, installed, and used by PuffinPlot at runtime, but it is not a build-time dependency.
PuffinPlot uses GitHub Issues for bug tracking. The issue tracker can be found here. Bug reports and feature requests are always welcome.