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 "Desktop Web UI" distribution that includes the Braille modules and Web UI (optional)
- the "Developers" distribution generates the configuration files and launcher scripts for a development environment
- the "Debian" distribution build a DEB package (will disable the default distribution)
See the following sections for more details on how to enable these distributions and to know which optional Maven profiles can be activated.
Build the default distribution with:
mvn clean package
Build the Web UI distribution with:
mvn clean package -P webui
This distribution does not disable the default CLI distribution. Both will be built.
A Windows installer (build with NSIS) can be generated by activating the installer
profile:
mvn clean package -P webui,installer
Build the development environment with:
mvn clean package -P dev-launcher
This distribution includes a launcher script for the Pipeline engine, as well as configuration files to include
modules installed in the user's default Maven repository (in ~/.m2/
).
Configuration files are generated for all the POM modules, including the braille modules.
Build a Debian package with:
mvn clean package -P deb
Inspect package contents and metadata:
dpkg-deb -c target/*.deb
dpkg-deb -f target/*.deb
Install the package:
dpkg -i target/*.deb
Uninstall:
dpkg -r daisy-pipeline
Build an RPM package with:
mvn clean package -P 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
Major releases (officially announced) are versioned as "1.x.0". In-between releases, such as bugfix releases or the monthly releases done by Bert with braille updates, are versioned as "1.x.y".
The release is performed with Maven:
mvn clean release:clean release:prepare -DpushChanges=false
mvn release:perform -DlocalCheckout=true
Then, in order to upload also the Debian package:
git checkout HEAD^ && mvn clean deploy -Pdeb,sonatype-oss-release
Note that the web UI and CLI Debian profiles have been disabled because they are updated less frequently than the server.
Then stage the artifacts at https://oss.sonatype.org and do all the required testing before finally releasing the artifacts.