Skip to content
Mirror of Apache Brooklyn
Branch: master
Clone or download
geomacy Merge pull request #30 from tbouron/feature/optional-build
Make the go cli optional by default
Latest commit 30f3d27 Mar 7, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
brooklyn-client @ 05031a7 Update submodule pointers ready for 1.0.0-M1-RC1 release Sep 7, 2018
brooklyn-dist @ 3a30944 Update submodule pointers ready for 1.0.0-M1-RC1 release Sep 7, 2018
brooklyn-docs @ 2b06e96
brooklyn-library @ a94f7d8
brooklyn-server @ e601350 Update submodule pointers ready for 1.0.0-M1-RC1 release Sep 7, 2018
brooklyn-ui @ 503d74e
.gitattributes Adds MSSQL (YAML-based) blueprint May 28, 2015
.gitignore Ignore netbeans files Mar 13, 2015
Jenkinsfile jenkins: fix npm build, removing docker -u Oct 1, 2018
NOTICE updated license / dependencies Jan 31, 2019
pom.xml Make the build of rpm, deb, docker and go cli optional by default Mar 7, 2019


Apache Brooklyn helps to model, deploy, and manage systems.

It supports blueprints in YAML or Java, and deploys them to many clouds and other target environments. It monitors those deployments, maintains a live model, and runs autonomic policies to maintain their health.

For more information visit, where you'll find:

Quick Start

This is the uber-repo. To build the entire codebase, get this project and its sub-modules:

git clone
cd brooklyn
git submodule init
git submodule update --remote --merge --recursive

And then, with jdk 1.8+ and maven 3.1+ installed:

mvn clean install -Dno-go-client -Dno-rpm -Dno-deb -DskipDocker

However, you won't be able to build the RPM/DEB packages, as well as the CLI. That's why we would recommand to use the alternative: a docker container to build this project:

docker build -t brooklyn .
docker run -i --rm --name brooklyn -u $(id -u):$(id -g) \
      --mount type=bind,source="${HOME}/.m2/settings.xml",target=/var/maven/.m2/settings.xml,readonly \
      -v /var/run/docker.sock:/var/run/docker.sock \
      -v ${PWD}:/usr/build -w /usr/build \
      brooklyn mvn clean install -Duser.home=/var/maven$(id -un)

You can speed this up by using your local .m2 cache:

docker run -i --rm --name brooklyn -u $(id -u):$(id -g) \
      -v /var/run/docker.sock:/var/run/docker.sock \
      -v ${HOME}/.m2:/var/maven/.m2 \
      -v ${PWD}:/usr/build -w /usr/build \
      brooklyn mvn clean install -Duser.home=/var/maven$(id -un)

The results are in brooklyn-dist/dist/target/, including a tar and a zip. Or to run straight after the build, do:

pushd brooklyn-dist/karaf/apache-brooklyn/target/assembly/

Non-Git Build

If you are performing a build on code not in source control (e.g. from a ZIP of source code, or after deleting SCM metadata), you will need to manually set two variables that are normally inferred from the environment:

* `-DbuildNumber=manual`
* `-DscmBranch=manual`

You can set these properties to any value you wish. When using a checkout from git, the buildNumber is set to the SHA1 commit ID (short form) of the containing project, and the scmBranch is set to the git branch.


The Developers section of the main website contains more detail on working with the codebase. There is also a more Developer Guide specific to each version, including this branch (1.0.0-SNAPSHOT), latest stable, and older releases.

Useful topics include:


This software is distributed under the Apache License, version 2.0, copyright (c) The Apache Software Foundation and contributors. Please see the LICENSE file for (1) the full text of the Apache License, followed by (2) notices for bundled software and (3) licenses for bundled software.

You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.