This is an automated email from the ASF dual-hosted git repository.
tiagobento pushed a commit to branch 10.0.x
in repository
https://gitbox.apache.org/repos/asf/incubator-kie-kogito-pipelines.git
The following commit(s) were added to refs/heads/10.0.x by this push:
new 58ef719c [10.0.x] improve build instructions (#1265)
58ef719c is described below
commit 58ef719c73c7b34c63d8dd0753bf2fe209c0c431
Author: Alex Porcelli <[email protected]>
AuthorDate: Fri Nov 15 12:35:49 2024 -0500
[10.0.x] improve build instructions (#1265)
---
tools/zip-sources-files/BUILD | 88 +++++++++++++++++++++++++++++++++
tools/zip-sources-files/build.sh | 103 +++++++++++++++++++++++++++++++++++++++
2 files changed, 191 insertions(+)
diff --git a/tools/zip-sources-files/BUILD b/tools/zip-sources-files/BUILD
new file mode 100644
index 00000000..47b2a9e9
--- /dev/null
+++ b/tools/zip-sources-files/BUILD
@@ -0,0 +1,88 @@
+Building Apache KIE
+
+There are two ways to build the KIE projects:
+
+Option 1: Using the Automated Build Script
+
+Run the provided build script (in case of windows you have to use WSL with
bash):
+- ./build.sh
+
+Option 2: Manual Step-by-Step Build
+
+If you prefer to build manually, follow these steps:
+
+Prerequisites
+- Temurin JDK 17.0.11
+- Maven 3.9.6
+- GraalVM for JDK 17
+- Docker 25+
+- Python 3.12
+- Make 4.3+
+- Node 20
+- PNPM 9.3.0
+- Go 1.21.9
+- Helm 3.15.2
+
+Install Python packages:
+pip install cekit==4.11.0 docker==7.0.0 docker-squash==1.2.0
ruamel.yaml==0.18.5
+
+Docker Configuration
+If using an alternative container runtime:
+
+For Colima:
+export DOCKER_HOST=unix://${HOME}/.colima/default/docker.sock
+
+For Rancher:
+export DOCKER_HOST=unix://$HOME/.rd/docker.sock
+
+For Podman:
+export DOCKER_HOST=unix://$XDG_RUNTIME_DIR/podman/podman.sock
+
+Build Steps
+
+1. Build Drools:
+cd incubator-kie-drools
+git init .
+mvn clean install -DskipTests -Dfull -Donly.reproducible=true
+cd ..
+
+2. Build OptaPlanner:
+cd incubator-kie-optaplanner
+mvn clean install -DskipTests -Dfull -Donly.reproducible=true
+cd ..
+
+3. Build Kogito Runtimes:
+cd incubator-kie-kogito-runtimes
+mvn clean install -DskipTests -Dfull -Donly.reproducible=true
+cd ..
+
+4. Build Kogito Apps:
+cd incubator-kie-kogito-apps
+mvn clean install -DskipTests -Dfull -Donly.reproducible=true
-Pjitexecutor-native
+cd ..
+
+5. Build Kogito Images:
+cd incubator-kie-kogito-images
+cekit --descriptor kogito-base-builder-image.yaml build docker --platform
linux/amd64
+make build-image KOGITO_APPS_TARGET_BRANCH=10.0.0-rc2 ignore_test=true
image_name=kogito-data-index-ephemeral
+make build-image KOGITO_APPS_TARGET_BRANCH=10.0.0-rc2 ignore_test=true
image_name=kogito-data-index-postgresql
+make build-image KOGITO_APPS_TARGET_BRANCH=10.0.0-rc2 ignore_test=true
image_name=kogito-jit-runner
+make build-image KOGITO_APPS_TARGET_BRANCH=10.0.0-rc2 ignore_test=true
image_name=kogito-jobs-service-allinone
+make build-image KOGITO_APPS_TARGET_BRANCH=10.0.0-rc2 ignore_test=true
image_name=kogito-jobs-service-ephemeral
+make build-image KOGITO_APPS_TARGET_BRANCH=10.0.0-rc2 ignore_test=true
image_name=kogito-jobs-service-postgresql
+cd ..
+
+6. Build KIE Tools:
+cd incubator-kie-tools
+git init .
+git config user.name "Builder"
+git config user.email "[email protected]"
+git add . && git commit -m "Initial commit"
+pnpm bootstrap
+export KIE_TOOLS_BUILD__runTests=false
+export KIE_TOOLS_BUILD__buildExamples=true
+export KIE_TOOLS_BUILD__buildContainerImages=true
+pnpm -r --workspace-concurrency=1 build:prod
+cd ..
+
+Note: The KIE Sandbox Quarkus Accelerator does not require building. The
source itself is the artifact.
diff --git a/tools/zip-sources-files/build.sh b/tools/zip-sources-files/build.sh
new file mode 100755
index 00000000..51204d29
--- /dev/null
+++ b/tools/zip-sources-files/build.sh
@@ -0,0 +1,103 @@
+#!/bin/bash
+# build.sh
+
+# Check required tools
+check_requirements() {
+ local requirements=(
+ "java:17.0.11"
+ "mvn:3.9.6"
+ "docker:25"
+ "python3:3.12"
+ "make:4.3"
+ "node:20"
+ "pnpm:9.3.0"
+ "go:1.21.9"
+ "helm:3.15.2"
+ )
+
+ echo "Checking requirements..."
+ for req in "${requirements[@]}"; do
+ IFS=':' read -r cmd version <<< "$req"
+ if ! command -v "$cmd" &> /dev/null; then
+ echo "ERROR: $cmd is not installed"
+ exit 1
+ fi
+ done
+
+ # Check Python packages
+ pip3 install cekit==4.11.0 docker==7.0.0 docker-squash==1.2.0
ruamel.yaml==0.18.5
+}
+
+# Set Docker host based on container runtime
+setup_docker_host() {
+ if command -v colima &> /dev/null; then
+ export DOCKER_HOST="unix://${HOME}/.colima/default/docker.sock"
+ elif command -v rancher &> /dev/null; then
+ export DOCKER_HOST="unix://$HOME/.rd/docker.sock"
+ elif command -v podman &> /dev/null; then
+ export DOCKER_HOST="unix://$XDG_RUNTIME_DIR/podman/podman.sock"
+ fi
+}
+
+# Build components
+build_components() {
+ # Build Drools
+ cd incubator-kie-drools || exit 1
+ git init .
+ mvn clean install -DskipTests -Dfull -Donly.reproducible=true
+ cd ..
+
+ # Build OptaPlanner
+ cd incubator-kie-optaplanner || exit 1
+ mvn clean install -DskipTests -Dfull -Donly.reproducible=true
+ cd ..
+
+ # Build Kogito Runtimes
+ cd incubator-kie-kogito-runtimes || exit 1
+ mvn clean install -DskipTests -Dfull -Donly.reproducible=true
+ cd ..
+
+ # Build Kogito Apps
+ cd incubator-kie-kogito-apps || exit 1
+ mvn clean install -DskipTests -Dfull -Donly.reproducible=true
-Pjitexecutor-native
+ cd ..
+
+ # Build Kogito Images
+ cd incubator-kie-kogito-images || exit 1
+ cekit --descriptor kogito-base-builder-image.yaml build docker --platform
linux/amd64
+
+ local images=(
+ "kogito-data-index-ephemeral"
+ "kogito-data-index-postgresql"
+ "kogito-jit-runner"
+ "kogito-jobs-service-allinone"
+ "kogito-jobs-service-ephemeral"
+ "kogito-jobs-service-postgresql"
+ )
+
+ for image in "${images[@]}"; do
+ make build-image KOGITO_APPS_TARGET_BRANCH=10.0.0-rc2 ignore_test=true
image_name="$image"
+ done
+ cd ..
+
+ # Build KIE Tools
+ cd incubator-kie-tools || exit 1
+ git init .
+ git config user.name "Builder"
+ git config user.email "[email protected]"
+ git add . && git commit -m "Initial commit"
+ pnpm bootstrap
+ export KIE_TOOLS_BUILD__runTests=false
+ export KIE_TOOLS_BUILD__buildExamples=true
+ export KIE_TOOLS_BUILD__buildContainerImages=true
+ pnpm -r --workspace-concurrency=1 build:prod
+}
+
+# Main execution
+main() {
+ check_requirements
+ setup_docker_host
+ build_components
+}
+
+main "$@"
\ No newline at end of file
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]