The default Pipeline 2 distribution is assembled with the Maven Assembly Plugin.
The library dependencies and list of Pipeline 2 modules are configured in the main pom.xml
and copied in a set of goals of the maven-dependency-plugin
.
The project allows to build the following distributions:
- the "CLI" distribution (with the command line user interface), packaged as a ZIP (default)
- the "macOS Application Bundle" distribution
- the "Windows installer" distribution
- the "Debian" distribution (DEB package)
- the "Red Hat" distribution (RPM package)
- the "minimal" distribution, being a ZIP containing the updater and any files not downloaded by the updater
See the following sections for more details on how to enable these distributions.
Build the default distribution with:
make
On Windows and macOS, the Windows installer and macOS application bundle distributions are respectively enabled by default.
To build a MacOS application bundle:
make dmg
The dmg
target will package the DAISY Pipeline as a macOS application bundle (.app
package), and will put it inside a disk image (.dmg
file).
The disk image is created with the node-appdmg
tool, run with a local version of Node installed by the Maven build in the target
directory.
This distribution can only be built on a Mac.
To build an installer for Windows:
make exe
The exe
target will package the DAISY Pipeline into an executable installer.
The installer is created with NSIS.
Build a Debian package with:
make deb
To inspect package contents and metadata:
dpkg-deb -c target/*.deb
dpkg-deb -f target/*.deb
To install the package:
dpkg -i target/*.deb
To uninstall:
dpkg -r daisy-pipeline
Build an RPM package with:
make rpm
Note: only proven to work on Red Hat/CentOS, although it should be theoretically possible to build RPMs on other platforms including Mac OS after installing rpmbuild.
To install the package:
rpm -i target/rpm/pipeline2/RPMS/x86_64/*.rpm
This distribution contains the updater and any files not downloaded by the updater. To build it:
make minimal-zip
See https://github.com/daisy/pipeline/wiki/Releasing#release-procedure.