Files
j3270/build_all.sh
T
2026-08-20 17:24:55 -04:00

38 lines
1.3 KiB
Bash
Executable File

#!/bin/bash
set -e
echo "=== Building j3270 (Desktop JAR) and a3270 (Android APK) ==="
export JAVA_HOME="/Users/rudi/.sdkman/candidates/java/21.0.6-sem"
export ANDROID_HOME="/Users/rudi/Library/Android/sdk"
GRADLE_BIN="/Users/rudi/.gradle/wrapper/dists/gradle-8.5-bin/5t9huq95ubn472n8rpzujfbqh/gradle-8.5/bin/gradle"
BUILD_DIR="$(pwd)/build"
mkdir -p "$BUILD_DIR"
echo "Building Android APK (a3270)..."
"$GRADLE_BIN" :a3270:assembleDebug
echo "Building Desktop App JAR (j3270)..."
mkdir -p "$BUILD_DIR/lib3270j" "$BUILD_DIR/j3270"
"$JAVA_HOME/bin/javac" -d "$BUILD_DIR/lib3270j" $(find lib3270j/src -name "*.java")
"$JAVA_HOME/bin/javac" -cp "$BUILD_DIR/lib3270j" -d "$BUILD_DIR/j3270" $(find j3270/src -name "*.java")
echo "Main-Class: org.pubvm.j3270.J3270App" > "$BUILD_DIR/MANIFEST.MF"
echo "" >> "$BUILD_DIR/MANIFEST.MF"
"$JAVA_HOME/bin/jar" cvfm "$BUILD_DIR/j3270.jar" "$BUILD_DIR/MANIFEST.MF" \
-C "$BUILD_DIR/lib3270j" . \
-C "$BUILD_DIR/j3270" .
# Copy APK to build/
if [ -f "a3270/build/outputs/apk/debug/a3270-debug.apk" ]; then
cp "a3270/build/outputs/apk/debug/a3270-debug.apk" "$BUILD_DIR/a3270.apk"
echo "Copied a3270-debug.apk to $BUILD_DIR/a3270.apk"
fi
echo "=== Build Complete ==="
echo "Artifacts in $BUILD_DIR:"
ls -lh "$BUILD_DIR"/*.jar "$BUILD_DIR"/*.apk 2>/dev/null || true