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:
1
2
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 :

1
brew cask install mactex

Build order

Execute build command on each repository, following this order:

  1. pp-grok
  2. pp-analytics
  3. pp-core
  4. pp-resources
  5. pp-external
  6. pp-documentation
  7. pp-gui
  8. pp-packaging

You can optionally build this internal documentation

9. pp-internal-documentation

Build command

1
mvn clean install -DskipTests=true

Build output

You can find built archives under pp-packaging/punchplatform-packaging/ in those directories:

Standalone in punchplatform-standalone/target/punchplatform-standalone-X.Y.Z.zip

Deployer in punchplatform-deployer/target/punchplatform-deployer-X.Y.Z.zip

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

Tools for cluster infrastructure emulation in punchplatform-infra/target/

You can find others built archives:

Internal documentation in pp-internal-documentation/target/punchplatform-internal-documentation.zip

Sample PunchPlatform configuration tree, suitable for deployment on cluster infrastructure emulation, in pp-resources