diff --git a/4.1.5/Dockerfile b/4.1.5/Dockerfile
new file mode 100644
index 0000000..48be716
--- /dev/null
+++ b/4.1.5/Dockerfile
@@ -0,0 +1,82 @@
+# Dockerfile
+#
+# Copyright 2021 MicroEJ Corp. All rights reserved.
+# This library is provided in source code for use, modification and test, subject to license terms.
+# Any modification of the source code will break MicroEJ Corp. warranties on the whole library.
+FROM eclipse-temurin:8
+
+RUN apt-get update && \
+ apt-get upgrade -y && \
+ apt-get install -y --no-install-recommends \
+ apt-transport-https \
+ ca-certificates \
+ curl \
+ gnupg \
+ lsb-release && \
+ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg && \
+ echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null && \
+ apt-get update && \
+ DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
+ git \
+ unzip \
+ udev \
+ docker-ce-cli \
+ ssh \
+ sshpass \
+ # Required for Eclipse-based SDK to run
+ libwebkit2gtk-4.0-37 && \
+ rm -rf /var/lib/apt/lists/* && \
+ apt-get clean
+
+RUN echo 'ACTION!="add", GOTO="usbdongle_end"\n' \
+ 'SUBSYSTEM=="usb", GOTO="usbdongle_start"\n' \
+ 'SUBSYSTEMS=="usb", GOTO="usbdongle_start"\n' \
+ 'GOTO="usbdongle_end"\n' \
+ 'LABEL="usbdongle_start"\n' \
+ 'ATTRS{idVendor}=="096e" , ATTRS{idProduct}=="0006" , MODE="0666"\n' \
+ 'LABEL="usbdongle_end"' > /etc/udev/rules.d/91-usbdongle.rules
+
+# Set the new user parameter.
+ARG user=jenkins
+ARG group=jenkins
+ARG uid=1000
+ARG gid=1000
+RUN addgroup --gid ${gid} ${group} && \
+ adduser --home /home/${user} --uid ${uid} --ingroup ${group} --disabled-password ${user}
+
+# Good practice, switch back to user.
+USER ${user}
+
+# Set env
+ENV HOME /home/${user}
+ENV ECLIPSE_HOME=$HOME/ECLIPSE
+ENV MICROEJ_BUILD_JDK_HOME=$JAVA_HOME
+ENV MICROEJ_BUILDKIT_HOME=${HOME}/Tool-CommandLineBuild
+ENV PATH=$MICROEJ_BUILDKIT_HOME:$PATH
+
+# Set workdir
+WORKDIR ${HOME}
+
+# I) Install SDK
+RUN curl -O https://repository.microej.com/packages/SDK/4.1.5/zip/microej-sdk-4.1.5-linux_x86_64.zip && \
+ mkdir -p $ECLIPSE_HOME && \
+ unzip microej-sdk-4.1.5-linux_x86_64.zip -d $ECLIPSE_HOME && \
+ rm -f microej-sdk-4.1.5-linux_x86_64.zip && \
+# II) Install Tool-CommandLineBuild
+ git clone --recursive https://github.com/MicroEJ/Tool-CommandLineBuild.git && \
+# III) Extract BuildKit from SDK
+ mkdir -p Tool-CommandLineBuild/buildKit/ && \
+ unzip ${ECLIPSE_HOME}/plugins/com.is2t.eclipse.plugin.easyant4e_1.7.3.20180621-1638.jar 'lib/*' -d Tool-CommandLineBuild/buildKit/ant && \
+ unzip ${ECLIPSE_HOME}/plugins/com.is2t.eclipse.plugin.easyant4e.offlinerepo_1.6.0.20180621-1638.jar repositories/is2t_repo.zip && \
+ unzip repositories/is2t_repo.zip -d Tool-CommandLineBuild/buildKit/microej-build-repository && \
+ rm -rf repositories && \
+# IV) Install jdtCompiler from SDK 20.12
+ curl -O https://repository.microej.com/packages/SDK/20.12/zip/microej-sdk-20.12-linux_x86_64.zip && \
+ unzip microej-sdk-20.12-linux_x86_64.zip 'plugins/com.is2t.eclipse.plugin.easyant4e_2.3.1.202012101611.jar' && \
+ unzip plugins/com.is2t.eclipse.plugin.easyant4e_2.3.1.202012101611.jar lib/jdtCompilerAdapter.jar lib/org.eclipse.jdt.compiler.apt.jar lib/org.eclipse.jdt.core.jar -d Tool-CommandLineBuild/buildKit/ant/ && \
+ rm -rf microej-sdk-20.12-linux_x86_64.zip plugins && \
+# V) Configure BuildKit
+ echo "\neasyant.inject.build.compiler=org.eclipse.jdt.core.JDTCompilerAdapter" >> Tool-CommandLineBuild/local-build.properties && \
+ echo "\neasyant.inject.eclipse.home=\"${ECLIPSE_HOME}\"" >> Tool-CommandLineBuild/local-build.properties && \
+ echo 'sdk.version=4.1.5' > $MICROEJ_BUILDKIT_HOME/release.properties
+
diff --git a/5.4.1/Dockerfile b/5.4.1/Dockerfile
new file mode 100644
index 0000000..24c5768
--- /dev/null
+++ b/5.4.1/Dockerfile
@@ -0,0 +1,100 @@
+# Dockerfile
+#
+# Copyright 2021 MicroEJ Corp. All rights reserved.
+# This library is provided in source code for use, modification and test, subject to license terms.
+# Any modification of the source code will break MicroEJ Corp. warranties on the whole library.
+FROM eclipse-temurin:8
+
+RUN apt-get update && \
+ apt-get upgrade -y && \
+ apt-get install -y --no-install-recommends \
+ apt-transport-https \
+ ca-certificates \
+ curl \
+ gnupg \
+ lsb-release && \
+ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg && \
+ echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null && \
+ apt-get update && \
+ DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
+ git \
+ unzip \
+ udev \
+ docker-ce-cli \
+ ssh \
+ sshpass \
+ # Required for Eclipse-based SDK to run
+ libwebkit2gtk-4.0-37 && \
+ rm -rf /var/lib/apt/lists/* && \
+ apt-get clean
+
+RUN echo 'ACTION!="add", GOTO="usbdongle_end"\n' \
+ 'SUBSYSTEM=="usb", GOTO="usbdongle_start"\n' \
+ 'SUBSYSTEMS=="usb", GOTO="usbdongle_start"\n' \
+ 'GOTO="usbdongle_end"\n' \
+ 'LABEL="usbdongle_start"\n' \
+ 'ATTRS{idVendor}=="096e" , ATTRS{idProduct}=="0006" , MODE="0666"\n' \
+ 'LABEL="usbdongle_end"' > /etc/udev/rules.d/91-usbdongle.rules
+
+# Set the new user parameter.
+ARG user=jenkins
+ARG group=jenkins
+ARG uid=1000
+ARG gid=1000
+RUN addgroup --gid ${gid} ${group} && \
+ adduser --home /home/${user} --uid ${uid} --ingroup ${group} --disabled-password ${user}
+
+# Good practice, switch back to user.
+USER ${user}
+
+# Set env
+ENV HOME /home/${user}
+ENV ECLIPSE_HOME=$HOME/ECLIPSE
+ENV BUILD_KIT_HOME=$HOME/buildKit
+ENV PATH=$BUILD_KIT_HOME/bin:$PATH
+
+# Set workdir
+WORKDIR ${HOME}
+
+# I) Install SDK
+RUN curl -O https://repository.microej.com/packages/SDK/21.03/zip/microej-sdk-21.03-linux_x86_64.zip && \
+ mkdir -p $ECLIPSE_HOME && \
+ unzip microej-sdk-21.03-linux_x86_64.zip -d $ECLIPSE_HOME && \
+ rm -f microej-sdk-21.03-linux_x86_64.zip && \
+# II) Configure SDK location
+ mkdir -p $HOME/.microej && \
+ echo "[options]\neclipse.home=\"${ECLIPSE_HOME}\"" > $HOME/.microej/.mmmconfig && \
+# III) Update SDK to 5.4.1
+# 1. Uninstall SDK 5.4.0
+ $ECLIPSE_HOME/MicroEJ-SDK \
+ -application org.eclipse.equinox.p2.director \
+ -noSplash \
+ -uninstallIU \
+ com.is2t.microej.sdk.feature.feature.group && \
+# 2. Install SDK 5.4.1
+ $ECLIPSE_HOME/MicroEJ-SDK \
+ -application org.eclipse.equinox.p2.director \
+ -noSplash \
+ -repository \
+ https://repository.microej.com/p2/sdk/5.4.1 \
+ -installIUs \
+ com.is2t.microej.sdk.feature.feature.group && \
+# IV) Extract Build Kit from SDK
+ mkdir -p $BUILD_KIT_HOME && \
+# 1. Extract build repository
+ unzip $ECLIPSE_HOME/plugins/com.is2t.eclipse.plugin.easyant4e.offlinerepo_1.6.1.202104161741.jar repositories/microej-build-repository.zip && \
+ unzip repositories/microej-build-repository.zip -d $BUILD_KIT_HOME/microej-build-repository && \
+ rm -rf repositories/ && \
+# 2. Extract mmm-cli
+ unzip $ECLIPSE_HOME/plugins/com.is2t.eclipse.plugin.easyant4e_2.4.0.202104161741.jar cli/mmm-cli.zip && \
+ unzip cli/mmm-cli.zip -d $BUILD_KIT_HOME/ && \
+ rm -rf cli && \
+# 3. Extract ivysettings
+ unzip $ECLIPSE_HOME/plugins/com.is2t.eclipse.plugin.easyant4e_2.4.0.202104161741.jar resources/microej-ivysettings-5.4.xml && \
+ mkdir -p $BUILD_KIT_HOME/microej-module-repository/ && \
+ mv resources/microej-ivysettings-5.4.xml $BUILD_KIT_HOME/microej-module-repository/ivysettings.xml && \
+ rm -rf resources/ && \
+# 4. Set SDK version
+ echo 'sdk.version=5.4.1' > $BUILD_KIT_HOME/release.properties
+
+
diff --git a/CHANGELOG.rst b/CHANGELOG.rst
new file mode 100644
index 0000000..7d12ea7
--- /dev/null
+++ b/CHANGELOG.rst
@@ -0,0 +1,14 @@
+..
+ Copyright 2021 MicroEJ Corp. All rights reserved.
+ This library is provided in source code for use, modification and test, subject to license terms.
+ Any modification of the source code will break MicroEJ Corp. warranties on the whole library.
+
+===========
+ Changelog
+===========
+
+----------------------
+ [1.0.0] - 2021-10-07
+----------------------
+
+- Add ``Dockerfile`` of MicroEJ BuildKit Docker Image for MicroEJ SDK 4.1.5 and 5.4.1
diff --git a/Jenkinsfile b/Jenkinsfile
new file mode 100644
index 0000000..db71f42
--- /dev/null
+++ b/Jenkinsfile
@@ -0,0 +1,181 @@
+// Copyright 2021 MicroEJ Corp. All rights reserved.
+// This library is provided in source code for use, modification and test, subject to license terms.
+// Any modification of the source code will break MicroEJ Corp. warranties on the whole library.
+pipeline {
+ agent { label 'docker' }
+ stages {
+ stage('Git clean') {
+ steps { sh 'git clean -fdx' }
+ }
+ stage('Lint check 5.4.1') {
+ agent { docker {
+ image 'hadolint/hadolint:latest-alpine'
+ reuseNode true
+ }
+ }
+ steps {
+ sh 'hadolint --no-fail 5.4.1/Dockerfile'
+ }
+ }
+ stage('Lint check 4.1.5') {
+ agent { docker {
+ image 'hadolint/hadolint:latest-alpine'
+ reuseNode true
+ }
+ }
+ steps {
+ sh 'hadolint --no-fail 4.1.5/Dockerfile'
+ }
+ }
+ stage('Build 5.4.1') {
+ steps {
+ sh 'docker build -t sdk:5.4.1 5.4.1'
+ }
+ }
+ stage('Test: ensure sdk:5.4.1 can run docker') {
+ agent { docker {
+ image 'sdk:5.4.1'
+ reuseNode true
+ args '-u root -v/var/run/docker.sock:/var/run/docker.sock'
+ }
+ }
+ steps { sh 'docker run --rm -t hello-world' }
+ }
+ stage('Build 4.1.5') {
+ steps {
+ sh 'docker build -t sdk:4.1.5 4.1.5'
+ }
+ }
+ stage('Test: ensure sdk:4.1.5 can run docker') {
+ agent { docker {
+ image 'sdk:4.1.5'
+ reuseNode true
+ args '-u root -v/var/run/docker.sock:/var/run/docker.sock'
+ }
+ }
+ steps { sh 'docker run --rm -t hello-world' }
+ }
+ stage('Test: build microej-studio-rebrand') {
+ agent { docker {
+ image 'sdk:5.4.1'
+ reuseNode true
+ }
+ }
+
+ steps {
+ sh 'mmm init -D"skeleton.org=com.is2t.easyant.skeletons" -D"skeleton.module=microej-studio-rebrand" -D"skeleton.rev=+" -D"project.org=com.mycompany" -Dproject.module=microej-studio-rebrand -Dproject.rev=1.0.0 -Dskeleton.target.dir=microej-studio-rebrand'
+ sh 'cd microej-studio-rebrand && mmm -Dizpack.microej.product.location=${ECLIPSE_HOME} -Dproduct.target.os=linux64'
+ }
+ }
+ stage('Test: build microej-javalib') {
+ agent { docker {
+ image 'sdk:5.4.1'
+ reuseNode true
+ }
+ }
+
+ steps {
+ sh 'mmm init -D"skeleton.org=com.is2t.easyant.skeletons" -D"skeleton.module=microej-javalib" -D"skeleton.rev=+" -D"project.org=com.mycompany" -Dproject.module=myjavalib -Dproject.rev=1.0.0 -Dskeleton.target.dir=microej-javalib'
+ sh 'cd microej-javalib && mmm'
+ }
+ }
+ stage('Test: build addon-processor') {
+ agent { docker {
+ image 'sdk:5.4.1'
+ reuseNode true
+ }
+ }
+
+ steps {
+ sh 'mmm init -D"skeleton.org=com.is2t.easyant.skeletons" -D"skeleton.module=addon-processor" -D"skeleton.rev=+" -D"project.org=com.mycompany" -Dproject.module=myjavalib -Dproject.rev=1.0.0 -Dskeleton.target.dir=addon-processor'
+ sh 'cd addon-processor && mmm'
+ }
+ }
+ stage('Test: build microej-javaapi') {
+ agent { docker {
+ image 'sdk:5.4.1'
+ reuseNode true
+ }
+ }
+
+ steps {
+ sh 'mmm init -D"skeleton.org=com.is2t.easyant.skeletons" -D"skeleton.module=microej-javaapi" -D"skeleton.rev=+" -D"project.org=com.mycompany" -Dproject.module=myjavalib -Dproject.rev=1.0.0 -Dskeleton.target.dir=microej-javaapi'
+ sh 'cd microej-javaapi && mmm'
+ }
+ }
+ stage('Test: build microej-javaimpl') {
+ agent { docker {
+ image 'sdk:5.4.1'
+ reuseNode true
+ }
+ }
+
+ steps {
+ sh 'mmm init -D"skeleton.org=com.is2t.easyant.skeletons" -D"skeleton.module=microej-javaimpl" -D"skeleton.rev=+" -D"project.org=com.mycompany" -Dproject.module=myjavalib -Dproject.rev=1.0.0 -Dskeleton.target.dir=microej-javaimpl'
+ sh 'cd microej-javaimpl && mmm'
+ }
+ }
+ stage('Test: build microej-meta-build') {
+ agent { docker {
+ image 'sdk:5.4.1'
+ reuseNode true
+ }
+ }
+
+ steps {
+ sh 'mmm init -D"skeleton.org=com.is2t.easyant.skeletons" -D"skeleton.module=microej-meta-build" -D"skeleton.rev=+" -D"project.org=com.mycompany" -Dproject.module=myjavalib -Dproject.rev=1.0.0 -Dskeleton.target.dir=microej-meta-build'
+ sh 'cd microej-meta-build && mmm'
+ }
+ }
+ stage('Test: build microej-mock') {
+ agent { docker {
+ image 'sdk:5.4.1'
+ reuseNode true
+ }
+ }
+
+ steps {
+ sh 'mmm init -D"skeleton.org=com.is2t.easyant.skeletons" -D"skeleton.module=microej-mock" -D"skeleton.rev=+" -D"project.org=com.mycompany" -Dproject.module=myjavalib -Dproject.rev=1.0.0 -Dskeleton.target.dir=microej-mock'
+ sh 'cd microej-mock && mmm'
+ }
+ }
+ stage('Test: build artifact-repository') {
+ agent { docker {
+ image 'sdk:5.4.1'
+ reuseNode true
+ }
+ }
+
+ steps {
+ sh 'mmm init -D"skeleton.org=com.is2t.easyant.skeletons" -D"skeleton.module=artifact-repository" -D"skeleton.rev=+" -D"project.org=com.mycompany" -Dproject.module=myjavalib -Dproject.rev=1.0.0 -Dskeleton.target.dir=artifact-repository'
+ sh 'cd artifact-repository && mmm'
+ }
+ }
+ stage('Test: build application') {
+ agent { docker {
+ image 'sdk:5.4.1'
+ reuseNode true
+ }
+ }
+
+ steps {
+ sh 'mmm init -D"skeleton.org=com.is2t.easyant.skeletons" -D"skeleton.module=application" -D"skeleton.rev=+" -D"project.org=com.mycompany" -Dproject.module=myjavalib -Dproject.rev=1.0.0 -Dskeleton.target.dir=application'
+ sh 'cd application && mmm'
+ }
+ }
+ stage('Test: build platform and firmware-singleapp') {
+ agent { docker {
+ image 'sdk:5.4.1'
+ reuseNode true
+ }
+ }
+ steps {
+ sh 'rm -rf Platform-Espressif-ESP-WROVER-KIT-V4.1'
+ sh 'git clone --depth 1 https://github.com/MicroEJ/Platform-Espressif-ESP-WROVER-KIT-V4.1'
+ sh 'cd Platform-Espressif-ESP-WROVER-KIT-V4.1/ESP32-WROVER-Xtensa-FreeRTOS-configuration/ && mmm'
+ sh 'mmm init -D"skeleton.org=com.is2t.easyant.skeletons" -D"skeleton.module=firmware-singleapp" -D"skeleton.rev=+" -D"project.org=com.mycompany" -Dproject.module=firmware-singleapp -Dproject.rev=1.0.0 -Dskeleton.target.dir=firmware-singleapp'
+ sh 'cd firmware-singleapp && mmm -D"platform-loader.target.platform.dir=$(pwd)/../Platform-Espressif-ESP-WROVER-KIT-V4.1/ESP32WROVER-Platform-GNUv52b96_xtensa-esp32-psram-1.7.1/source" -D"virtual.device.sim.only=SET"'
+ }
+ }
+ }
+}
diff --git a/LICENSE.txt b/LICENSE.txt
new file mode 100644
index 0000000..ee39695
--- /dev/null
+++ b/LICENSE.txt
@@ -0,0 +1,38 @@
+This Software is provided both as Executable Software (code compiled AND
+delivered by MicroEJ Corp.) and Software Source Code.
+
+If YOU are a MicroEJ SDK licensee, YOU can choose between the following
+open-source license and Your MicroEJ SDK LICENSE (MicroEJ SDK EULA) :
+
+The Executable Software can be, at your option, subject to MicroEJ SDK EULA.
+
+The source code will always be subject to the following license.
+
+For the avoidance of doubt, any modification of the source code, or any
+addition to the Software will break the warranties and will exempt MicroEJ Corp.
+from any obligation arising under any specific agreement .
+-----------------------------------------------------------------------------
+
+All rights reserved.
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+* Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+* Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+* Neither the name of MicroEJ Corp. nor the names of its contributors may be
+ used to endorse or promote products derived from this software without
+ specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ANY
+EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE REGENTS AND CONTRIBUTORS BE LIABLE FOR ANY
+DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
\ No newline at end of file
diff --git a/README.md b/README.md
deleted file mode 100644
index 976482a..0000000
--- a/README.md
+++ /dev/null
@@ -1 +0,0 @@
-This is initial commit
\ No newline at end of file
diff --git a/README.rst b/README.rst
new file mode 100644
index 0000000..9f2ea43
--- /dev/null
+++ b/README.rst
@@ -0,0 +1,82 @@
+..
+ Copyright 2021 MicroEJ Corp. All rights reserved.
+ This library is provided in source code for use, modification and test, subject to license terms.
+ Any modification of the source code will break MicroEJ Corp. warranties on the whole library.
+
+.. image:: https://shields.microej.com/endpoint?url=https://repository.microej.com/packages/badges/sdk_5.4.json
+ :alt: SDK 5.4 Compatible
+
+.. image:: https://shields.microej.com/endpoint?url=https://repository.microej.com/packages/badges/sdk_4.1.json
+ :alt: SDK 4.1 Compatible
+
+=================================
+ Docker for MicroEJ BuildKit SDK
+=================================
+
+Overview
+========
+
+This is the git repository to build the MicroEJ BuildKit Docker Image for various MicroEJ SDK versions.
+
+Documentation
+=============
+
+MicroEJ SDK version ``5.4.1`` and above
+---------------------------------------
+
+For MicroEJ SDK version ``5.4.1`` and above, please refer to https://docs.microej.com/en/latest/ApplicationDeveloperGuide/mmm.html#command-line-interface.
+
+Build the image from ``Dockerfile``:
+
+.. code-block:: console
+
+ $ docker build -t sdk:5.4.1 5.4.1
+
+Start the image for interactive usage:
+
+.. code-block:: console
+
+ $ docker run --rm -it sdk:5.4.1 bash
+
+Build a project from a local folder:
+
+.. code-block:: console
+
+ $ docker run --rm -v PATH/TO/PROJECT:/project -w /project sdk:5.4.1 mmm build
+
+MicroEJ SDK version ``4.1.5`` to ``5.3.1``
+------------------------------------------
+
+For MicroEJ SDK version ``4.1.5`` to ``5.3.1``, please refer to https://github.com/MicroEJ/Tool-CommandLineBuild.
+
+Build the image from ``Dockerfile``:
+
+.. code-block:: console
+
+ $ docker build -t sdk:4.1.5 4.1.5
+
+Start the image for interactive usage:
+
+.. code-block:: console
+
+ $ docker run --rm -it sdk:4.1.5 bash
+
+Build a project from a local folder:
+
+.. code-block:: console
+
+ $ docker run --rm -v PATH/TO/PROJECT:/project -w /project sdk:4.1.5 build_module_local.sh ./
+
+Automated tests
+---------------
+
+| A Jenkinsfile is at the root of this project to automatically test project Dockerfiles. You can launch it using Jenkins CI.
+| We followed the Jenkins recommendations to write this Jenkinsfile : `Using Docker with Pipeline `_.
+| If you want to run it, you need to have at least one node labelled "docker".
+
+Where to get help?
+==================
+
+- `MicroEJ Forum `_
+- `MicroEJ Documentation Center `_
+- `MicroEJ Technical Hot-line `_