PuffinPlot /

Filename Size Date modified Message
.be
apple-resources/icons
examples/data-files/2G
libs
manual
nbproject
src
test/net/talvi/puffinplot
355 B
Improve unit tests for ArasonLevi
595 B
Merged changes from stable branch.
5.2 KB
Use Ivy for the appbundler dependency
35.1 KB
Added some licensing stuff.
3.5 KB
Use Ivy for the appbundler dependency
12.1 KB
Add unit tests for FisherValues class
1.6 KB
Replaced Apple Java extensions with Orange extensions
512 B
Fix build problems (Ivy classloader and copylibs)
82 B
Initial hg commit after svn history was lost due to knockagh crashing.
21 B
Change release.version to 1.03.

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 and consult the included user manual instead.

Building PuffinPlot

PuffinPlot is developed as a NetBeans project (http://netbeans.org/), but NetBeans is not necessary to build PuffinPlot: the build is controlled by an Ant project file (build.xml), which can be used without NetBeans provided that Apache Ant (http://ant.apache.org/) is installed.

Dependencies: Java libraries

The PuffinPlot build process uses the Ivy dependency manager to automatically fetch dependencies from the Internet if required.

PuffinPlot uses the following external Java libraries, or parts of them:

appbundler is not used by PuffinPlot itself, but it used during the build process to create a Mac application bundle containing PuffinPlot. Note that there is more than one library called ‘appbundler’; PuffinPlot uses the one provided by Oracle.

Jython can be dynamically downloaded, installed, and used by PuffinPlot at runtime, but is not a build dependency.

TeX dependencies

The manual is produced using LaTeX. The following programs and packages are required to build it. For each package name, the name of the Debian package containing it is also given.

On most Debian-based operating systems, all the TeX dependencies should be installable with the command

sudo apt-get install tex4ht texlive-fonts-extra texlive-fonts-recommended texlive-latex-base texlive-latex-extra texlive-latex-recommended

Programs

  • pdflatex : texlive-latex-base
  • htlatex : tex4ht

Packages

  • babel : texlive-latex-base
  • geometry : texlive-latex-base
  • ifpdf : texlive-latex-base
  • calc : texlive-latex-base
  • fontenc : texlive-latex-base
  • mathdesign : texlive-fonts-extra
  • natbib : texlive-latex-base
  • inputenc : texlive-latex-base
  • url : texlive-latex-recommended
  • graphicx : texlive-latex-base
  • placeins : texlive-latex-extra
  • booktabs : texlive-latex-recommended
  • listings : texlive-latex-recommended
  • textcase : texlive-latex-recommended
  • color : texlive-latex-base
  • textcomp : texlive-latex-base
  • hyperref : texlive-latex-base

Fonts

  • Bitstream Charter : texlive-fonts-recommended

Building with Ant

Main Ant build targets:

  • create-release creates a zip file suitable for distribution. It contains the PuffinPlot jar, a Mac application folder, the user manual, and JavaDoc. This target depends on most of the other targets.
  • package-for-store creates a unified PuffinPlot jar, including the external libraries as well as the PuffinPlot code itself.
  • build-manual creates PDF and HTML manuals from the LaTeX sources.
  • macbundle creates a Mac OS X application from a PuffinPlot jar.

Bug tracking

PuffinPlot uses the Bugs Everywhere bug-tracking system; the bug database lives within the repository itself, in the .be folder. Bugs Everywhere is available from http://www.bugseverywhere.org/ .