This projects helps building Eclipse Kura images. It will download the sources and allow to run the build in a container which has the all the necessary dependencies installed.
Running with Docker
The main purpose of this project is to make is easy to build Kura images without the need to set up a complete system for building. Everything you need is contained in the container.
To build all images simply execute:
docker run -ti ctron/kura-build
You can also switch the repository and branch (e.g. use
ctron/kura on GitHub and
docker run -ti ctron/kura-build -r ctron/kura -b preview/intel_up2_1
It is also possible to pass in arguments to the Maven build (e.g pass
to the Maven build):
docker run -ti ctron/kura-build -r ctron/kura -b preview/intel_up2_1 -- -Pintel-up2-centos-7
For a full list of arguments see section Arguments below.
Build you own container
This build container is available from Docker Hub. But you can also build your own version of the builder container by executing:
docker build -t kura-build https://github.com/ctron/kura-build
Or by building a local git clone:
git clone https://github.com/ctron/kura-build docker build -t kura-build kura-build
Although the biggest benefit is this project is the container, it still is possible to run the script on a local Linux system.
For this you can simply run the script like any other shell script. e.g.:
Things to know
A few things you should know.
Release builds failing
Release builds of Kura may be failing due to the usage of the "exists-maven-plugin". For some releases you cannot use the builder as there is no automatic workaround. You need to manually patch the POM files. For others there exists a workaround using Maven profiles (see: https://github.com/eclipse/kura#exists-plugin-failure).
Fresh local maven repository
The builder will always force a new local Maven repository when building Kura. This will make the build run longer, but ensures that only newly compiled artifacts are being used and nothing is mixed up with previous builds. This feature is mostly relevant for local (non-container) builds, as a container will always have an empty local Maven repository.
The builder supports the following arguments:
-r <repo>– Use GitHub repository this user. Defaults to
-r ctron/kurawill clone the git repository
-g <repo-url>– Use the URL as GitHub repository.
-g https://yourgit.com:1234/kura.gitwill exactly use
https://yourgit.com:1234/kura.gitwhen cloning the repository.
-b <branch>– The branch to use. Defaults to
--– Will end the argument parsing for the builder and pass all remaining arguments to the maven build.
Calling the builder with
-r ctron/kura -- -Pintel-up2-centos-7will use the GitHub repository
-Pintel-up2-centos-7to the maven build.