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:
- pp-grok
- pp-analytics
- pp-core
- pp-resources
- pp-external
- pp-documentation
- pp-gui
- 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