Files
Shiip-of-Hakinian-Espanol-A…/docker/scripts/build_android_project.sh
2026-03-30 10:05:53 +00:00

67 lines
1.7 KiB
Bash

#!/usr/bin/env bash
###############################################################################
# Actual script directory path
DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" >/dev/null 2>&1 && pwd)"
# Load Container IMAGE_NAME and IMAGE_TAG variables
source ${DIR}/set_container_vars.sh
# Setup
IMAGE_NAME="${REGISTRY_REPO}:${IMAGE_TAG}"
CONTAINER_NAME="android_builder_soh"
PROJECT_PATH=$(realpath "${DIR}/../../")
###############################################################################
# Check if only release build flag was provided
ONLY_RELEASE_BUILD="false"
if [[ "$1" == "--release" ]] || [[ "$1" == "-r" ]]; then
ONLY_RELEASE_BUILD="true"
fi
# Set type of build
GRADLEW_BUILD_TYPE="build"
if [[ "$ONLY_RELEASE_BUILD" == "true" ]]; then
GRADLEW_BUILD_TYPE="assembleRelease"
fi
# Header
echo ""
echo "-----------------------------------------------------------"
echo "-- Android Project Build --"
echo "-----------------------------------------------------------"
echo "Building project '${PROJECT_PATH}'..."
echo ""
# Check if the project path exists
if [ ! -d "$PROJECT_PATH" ]; then
echo "Error: Project path not found"
echo ""
exit 1
fi
# Run Container to build
docker run --network="host" --rm \
--name $CONTAINER_NAME \
-v "$PROJECT_PATH":/workspace \
-w /workspace \
$IMAGE_NAME \
bash -c "cp -a local.properties Android/ && cd Android && ./gradlew ${GRADLEW_BUILD_TYPE}"
BUILD_RESULT=$?
# Verify the result
echo ""
if [ $BUILD_RESULT -ne 0 ]; then
echo "Build Fail (error code ${BUILD_RESULT})"
exit $BUILD_RESULT
else
echo "Build success"
fi
exit 0
###############################################################################