Skip to main content

Build from source - 10.3.0 RCs

Starting with 10.3.0 the Java code lives in a single repository (incubator-kie) and the tooling in incubator-kie-tools. There is no longer a separate build for Drools, OptaPlanner, Kogito Runtimes and Kogito Apps as in 10.2.

Environment requirements​

ToolVersionNeeded for
Temurin JDK17 (21 also works)Java and Tools
Maven3.9.x (CI uses 3.9.16)Java and Tools
Docker26.1.4+Container images, some integration tests
Node24+Tools
PNPM10.34.4Tools
Go1.26.xTools (upload service)
Helm3.xTools (Helm charts)
Python 3, Make, Gitany recentTools
note

The exact versions used by the project are pinned in devbox.json of each repository. If in doubt, use those.

note

If you're using a different engine for the Docker API, Cekit and other tools will require DOCKER_HOST to be properly set up.

If using colima:

export DOCKER_HOST=unix://${HOME}/.colima/default/docker.sock

If using rancher:

export DOCKER_HOST=unix://$HOME/.rd/docker.sock

If using podman:

export DOCKER_HOST=unix://$XDG_RUNTIME_DIR/podman/podman.sock

1. Obtain the source code​

Release candidates are published in the Apache dev SVN, one folder per RC:

https://dist.apache.org/repos/dist/dev/incubator/kie/10.3.0-${rc_version}/

The SVN folder contains only the Tools source archive (incubator-kie-tools). Download it (replace rc1 with the RC you want to build):

BASE=https://dist.apache.org/repos/dist/dev/incubator/kie/10.3.0-rc1
curl -O $BASE/apache-kie-10.3.0-incubating-sources.zip # Tools (incubator-kie-tools)
unzip apache-kie-10.3.0-incubating-sources.zip

The Java code (incubator-kie) is not published as a source archive. Check out the RC tag instead:

git clone --branch 10.3.0-rc1 --depth 1 https://github.com/apache/incubator-kie.git
tip

Before building, verify signatures and checksums as described in How to verify a release candidate.

2. Build​

note

It's recommended to clean the local ~/.m2 repository first, because its content is incorporated in some container images during the build.

2.1. Java (Drools, Kogito, OptaPlanner, apps)​

Environment requirements: Temurin JDK, Maven, Docker.

Build commands:

cd incubator-kie
mvn clean install -DskipTests -Dfull
note

If you're using Podman as the Docker API, also pass:

-Djib.dockerClient.executable=$(which podman)

Produced artifacts: JARs are installed to the local Maven repository.

2.2. KIE Tools​

Environment requirements: Temurin JDK, Maven, Node, PNPM, Go, Python, Helm, Docker, Make.

Build commands:

cd apache-kie-10.3.0-incubating
git init .
git config user.name "Your Name"
git config user.email "your-email@company.com"
git add . && git commit -m "."
pnpm bootstrap && KIE_TOOLS_BUILD__runTests=false KIE_TOOLS_BUILD__buildExamples=true KIE_TOOLS_BUILD__buildContainerImages=true pnpm -r --workspace-concurrency=1 build:prod && echo 'BUILD SUCCESS! 🎉' || echo 'BUILD FAILURE ❌'

Produced artifacts:

  • JARs are installed to the local Maven repository
  • Images are created in the local container registry
  • Binaries and final artifacts are in:
    • packages/*/dist
    • examples/*/dist

New in 10.3: the DRL VS Code extension is built from packages/drl-vscode-extension. Its .vsix ends up in packages/drl-vscode-extension/dist.