#!/bin/bash set -e SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)" cd "$SCRIPT_DIR" echo "=== Building a3270 (Android APK) ===" # Set up JAVA_HOME (prefer JDK 21 if available) if [ -d "/Users/rudi/.sdkman/candidates/java/21.0.6-sem" ]; then export JAVA_HOME="/Users/rudi/.sdkman/candidates/java/21.0.6-sem" elif [ -z "$JAVA_HOME" ]; then if [ -d "/Users/rudi/.sdkman/candidates/java/current" ]; then export JAVA_HOME="/Users/rudi/.sdkman/candidates/java/current" fi fi # Set up ANDROID_HOME if not already set if [ -z "$ANDROID_HOME" ]; then if [ -d "$HOME/Library/Android/sdk" ]; then export ANDROID_HOME="$HOME/Library/Android/sdk" fi fi if [ -n "$JAVA_HOME" ]; then echo "Using JAVA_HOME: $JAVA_HOME" fi if [ -n "$ANDROID_HOME" ]; then echo "Using ANDROID_HOME: $ANDROID_HOME" fi # Check for j3270 / lib3270j J3270_PATH="${J3270_DIR:-$SCRIPT_DIR/../j3270}" if [ ! -d "$J3270_PATH/lib3270j" ]; then echo "ERROR: lib3270j not found at $J3270_PATH/lib3270j" echo "Please ensure the j3270 repository is cloned alongside a3270:" echo " git clone https://git.hugfreevikings.wtf/rudi/j3270.git" echo "Or set the J3270_DIR environment variable:" echo " export J3270_DIR=/path/to/j3270" exit 1 fi echo "Building debug APK..." ./gradlew assembleDebug APK_PATH="$SCRIPT_DIR/build/outputs/apk/debug/a3270-debug.apk" if [ -f "$APK_PATH" ]; then echo "=== Build Complete ===" echo "APK created at: $APK_PATH" ls -lh "$APK_PATH" else echo "Build completed, but APK not found at $APK_PATH" fi