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]

Reply via email to