Skip to content

Build Guideline

This procedure explains how to build all the packages from the latest commit.

Setup Prerequisites

On Ubuntu

  • Ubuntu 16.04 or 18.04
  • Java JDK 8 (tested with OpenJDK 1.8.0_181)
  • Maven 3 (tested with 3.5.4)
  • Python 2.7 (tested with 2.7.15-rc1) et Python PIP
  • Git (tested with 2.17.1)
  • mkdocs, mkdocs-material & pandoc (read pp-documentation/README.md)
  • Yarn & NodeJS (read pp-gui/README.md)
  • curl & jq
  • Python dependencies for admin service housekeeping unit tests:

sudo pip install -r pp-core/punchplatform-admin/bin/punchplatform-admin.pipreqs
sudo pip install behave
Tested with behave(1.2.5)

behind a proxy

if you are behind a proxy, use http_proxy and https_proxy environment variables; use sudo -E to preserve environment variables

On Mac OSX

Tested with El Capitan and Sierra

Same as Ubuntu, except for apt commands. Please use brew package.

To install texlive-* packages :

brew cask install mactex

Build order

Execute build command on each repository, following this order:

  1. api
  2. libraries
  3. nodes
  4. applications
  5. plugins
  6. documentation
  7. packagings

You can optionally build this internal documentation

9. documentation

Build command

mvn clean install -DskipTests=true

Build output

You can find built archives in those directories:

Standalone in packagings/punch-standalone/target/punch-standalone-X.Y.Z.zip

Deployer in packagings/punch-deployer/target/punch-deployer-X.Y.Z.zip

Documentation in documentation/target/documentation-X.Y.Z.zip

You can find others built archives:

Sample PunchPlatform configuration tree, suitable for deployment on cluster infrastructure emulation, in packagings/punch-resources