#!/bin/bash

set -e

if ! [ "x$ANDROID_NDK_HOME" != "x" -a -d "$ANDROID_NDK_HOME" ]; then
    echo "ANDROID_NDK_HOME environment variable is not set"
    exit 1
fi

if ! [ "x$ANDROID_HOME" != "x" -a -d "$ANDROID_HOME" ]; then
    echo "ANDROID_HOME environment variable is not set"
    exit 1
fi

if [ "x$ANDROID_API" = "x" ]; then
    ANDROID_API="$(ls "$ANDROID_HOME/platforms" | grep -E "^android-[0-9]+$" | sed 's/android-//' | sort -n -r | head -1)"
    if [ "x$ANDROID_API" = "x" ]; then
        echo "No Android platform found in $ANDROID_HOME/platforms"
        exit 1
    fi
else
    if ! [ -d "$ANDROID_HOME/platforms/android-$ANDROID_API" ]; then
        echo "Android api version $ANDROID_API is not available ($ANDROID_HOME/platforms/android-$ANDROID_API does not exist)" >2
        exit 1
    fi
fi

android_platformdir="$ANDROID_HOME/platforms/android-$ANDROID_API"

echo "Building for android api version $ANDROID_API"
echo "android_platformdir=$android_platformdir"

scriptdir=$(cd -P -- "$(dirname -- "$0")" && printf '%s\n' "$(pwd -P)")
sdl_root=$(cd -P -- "$(dirname -- "$0")/.." && printf '%s\n' "$(pwd -P)")

build_root="${sdl_root}/build-android-prefab"

android_abis="armeabi-v7a arm64-v8a x86 x86_64"
android_api=19
android_ndk=21
android_stl="c++_shared"

sdl_major=$(sed -ne 's/^#define SDL_MAJOR_VERSION  *//p' "${sdl_root}/include/SDL3/SDL_version.h")
sdl_minor=$(sed -ne 's/^#define SDL_MINOR_VERSION  *//p' "${sdl_root}/include/SDL3/SDL_version.h")
sdl_patch=$(sed -ne 's/^#define SDL_PATCHLEVEL  *//p' "${sdl_root}/include/SDL3/SDL_version.h")
sdl_version="${sdl_major}.${sdl_minor}.${sdl_patch}"
echo "Building Android prefab package for SDL version $sdl_version"

prefabhome="${build_root}/prefab-${sdl_version}"
rm -rf "$prefabhome"
mkdir -p "${prefabhome}"

build_cmake_projects() {
    for android_abi in $android_abis; do
        echo "Configuring CMake project for $android_abi"
        cmake -S "$sdl_root" -B "${build_root}/build_${android_abi}" \
            -DCMAKE_TOOLCHAIN_FILE="$ANDROID_NDK_HOME/build/cmake/android.toolchain.cmake" \
            -DANDROID_PLATFORM=${android_platform} \
            -DANDROID_ABI=${android_abi} \
            -DSDL_SHARED=ON \
            -DSDL_STATIC=ON \
            -DSDL_STATIC_PIC=ON \
            -DSDL_TEST=ON \
            -DSDL_DISABLE_INSTALL=OFF \
            -DCMAKE_INSTALL_PREFIX="${build_root}/build_${android_abi}/prefix" \
            -DCMAKE_INSTALL_INCLUDEDIR=include \
            -DCMAKE_INSTALL_LIBDIR=lib \
            -DCMAKE_BUILD_TYPE=Release \
            -GNinja

        rm -rf "${build_root}/build_${android_abi}/prefix"

        echo "Building CMake project for $android_abi"
        cmake --build "${build_root}/build_${android_abi}"

        echo "Installing CMake project for $android_abi"
        cmake --install "${build_root}/build_${android_abi}"
    done
}

classes_sources_jar_path="${prefabhome}/classes-sources.jar"
classes_jar_path="${prefabhome}/classes.jar"
compile_java() {
    classes_sources_root="${prefabhome}/classes-sources"

    rm -rf "${classes_sources_root}"
    mkdir -p "${classes_sources_root}/META-INF"

    echo "Copying LICENSE.txt to java build folder"
    cp "$sdl_root/LICENSE.txt" "${classes_sources_root}/META-INF"

    echo "Copy JAVA sources to java build folder"
    cp -r "$sdl_root/android-project/app/src/main/java/org" "${classes_sources_root}"

    java_sourceslist_path="${prefabhome}/java_sources.txt"
    pushd "${classes_sources_root}"
        echo "Collecting sources for classes-sources.jar"
        find "." -name "*.java" >"${java_sourceslist_path}"
        find "META-INF" -name "*" >>"${java_sourceslist_path}"

        echo "Creating classes-sources.jar"
        jar -cf "${classes_sources_jar_path}" "@${java_sourceslist_path}"
    popd

    classes_root="${prefabhome}/classes"
    mkdir -p "${classes_root}/META-INF"
    cp "$sdl_root/LICENSE.txt" "${classes_root}/META-INF"
    java_sourceslist_path="${prefabhome}/java_sources.txt"

    echo "Collecting sources for classes.jar"
    find "$sdl_root/android-project/app/src/main/java" -name "*.java" >"${java_sourceslist_path}"

    echo "Compiling classes"
    javac -encoding utf-8 -classpath "$android_platformdir/android.jar" -d "${classes_root}" "@${java_sourceslist_path}"

    java_classeslist_path="${prefabhome}/java_classes.txt"
    pushd "${classes_root}"
        find "." -name "*.class" >"${java_classeslist_path}"
        find "META-INF" -name "*" >>"${java_classeslist_path}"
        echo "Creating classes.jar"
        jar -cf "${classes_jar_path}" "@${java_classeslist_path}"
    popd
}

pom_filename="SDL${sdl_major}-${sdl_version}.pom"
pom_filepath="${prefabhome}/${pom_filename}"
create_pom_xml() {
    echo "Creating ${pom_filename}"
    cat >"${pom_filepath}" <<EOF
<project>
  <modelVersion>4.0.0</modelVersion>
  <groupId>org.libsdl.android</groupId>
  <artifactId>SDL${sdl_major}</artifactId>
  <version>${sdl_version}</version>
  <packaging>aar</packaging>
  <name>SDL${sdl_major}</name>
  <description>The AAR for SDL${sdl_major}</description>
  <url>https://libsdl.org/</url>
  <licenses>
    <license>
      <name>zlib License</name>
      <url>https://github.com/libsdl-org/SDL/blob/main/LICENSE.txt</url>
      <distribution>repo</distribution>
    </license>
  </licenses>
  <scm>
    <connection>scm:git:https://github.com/libsdl-org/SDL</connection>
    <url>https://github.com/libsdl-org/SDL</url>
  </scm>
</project>
EOF
}

create_aar_androidmanifest() {
    echo "Creating AndroidManifest.xml"
    cat >"${aar_root}/AndroidManifest.xml" <<EOF
<manifest
    xmlns:android="http://schemas.android.com/apk/res/android"
    package="org.libsdl.android" android:versionCode="1"
    android:versionName="1.0">
	<uses-sdk android:minSdkVersion="16"
              android:targetSdkVersion="29"/>
</manifest>
EOF
}

echo "Creating AAR root directory"
aar_root="${prefabhome}/SDL${sdl_major}-${sdl_version}"
mkdir -p "${aar_root}"

aar_metainfdir_path=${aar_root}/META-INF
mkdir -p "${aar_metainfdir_path}"
cp "${sdl_root}/LICENSE.txt" "${aar_metainfdir_path}"

prefabworkdir="${aar_root}/prefab"
mkdir -p "${prefabworkdir}"

cat >"${prefabworkdir}/prefab.json" <<EOF
{
  "schema_version": 2,
  "name": "SDL$sdl_major",
  "version": "$sdl_version",
  "dependencies": []
}
EOF

modulesworkdir="${prefabworkdir}/modules"
mkdir -p "${modulesworkdir}"

create_shared_sdl_module() {
    echo "Creating SDL${sdl_major} prefab module"
    for android_abi in $android_abis; do
        sdl_moduleworkdir="${modulesworkdir}/SDL${sdl_major}"
        mkdir -p "${sdl_moduleworkdir}"

        abi_build_prefix="${build_root}/build_${android_abi}/prefix"

        cat >"${sdl_moduleworkdir}/module.json" <<EOF
{
  "export_libraries": [],
  "library_name": "libSDL${sdl_major}"
}
EOF
        mkdir -p "${sdl_moduleworkdir}/include/SDL${sdl_major}"
        cp -r "${abi_build_prefix}/include/SDL${sdl_major}/"* "${sdl_moduleworkdir}/include/SDL${sdl_major}"

        abi_sdllibdir="${sdl_moduleworkdir}/libs/android.${android_abi}"
        mkdir -p "${abi_sdllibdir}"
        cat >"${abi_sdllibdir}/abi.json" <<EOF
{
  "abi": "${android_abi}",
  "api": ${android_api},
  "ndk": ${android_ndk},
  "stl": "${android_stl}",
  "static": false
}
EOF
        cp "${abi_build_prefix}/lib/libSDL${sdl_major}.so" "${abi_sdllibdir}"
    done
}

create_static_sdl_module() {
    echo "Creating SDL${sdl_major}-static prefab module"
    for android_abi in $android_abis; do
        sdl_moduleworkdir="${modulesworkdir}/SDL${sdl_major}-static"
        mkdir -p "${sdl_moduleworkdir}"

        abi_build_prefix="${build_root}/build_${android_abi}/prefix"

        cat >"${sdl_moduleworkdir}/module.json" <<EOF
{
  "export_libraries": ["-ldl", "-lGLESv1_CM", "-lGLESv2", "-llog", "-landroid", "-lOpenSLES"]
  "library_name": "libSDL${sdl_major}"
}
EOF
        mkdir -p "${sdl_moduleworkdir}/include/SDL${sdl_major}"
        cp -r "${abi_build_prefix}/include/SDL${sdl_major}/"* "${sdl_moduleworkdir}/include/SDL${sdl_major}"

        abi_sdllibdir="${sdl_moduleworkdir}/libs/android.${android_abi}"
        mkdir -p "${abi_sdllibdir}"
        cat >"${abi_sdllibdir}/abi.json" <<EOF
{
  "abi": "${android_abi}",
  "api": ${android_api},
  "ndk": ${android_ndk},
  "stl": "${android_stl}",
  "static": true
}
EOF
        cp "${abi_build_prefix}/lib/libSDL${sdl_major}.a" "${abi_sdllibdir}"
    done
}

create_sdltest_module() {
    echo "Creating SDL${sdl_major}test prefab module"
    for android_abi in $android_abis; do
        sdl_moduleworkdir="${modulesworkdir}/SDL${sdl_major}test"
        mkdir -p "${sdl_moduleworkdir}"

        abi_build_prefix="${build_root}/build_${android_abi}/prefix"

        cat >"${sdl_moduleworkdir}/module.json" <<EOF
{
  "export_libraries": [],
  "library_name": "libSDL${sdl_major}_test"
}
EOF
        abi_sdllibdir="${sdl_moduleworkdir}/libs/android.${android_abi}"
        mkdir -p "${abi_sdllibdir}"
        cat >"${abi_sdllibdir}/abi.json" <<EOF
{
  "abi": "${android_abi}",
  "api": ${android_api},
  "ndk": ${android_ndk},
  "stl": "${android_stl}",
  "static": true
}
EOF
        cp "${abi_build_prefix}/lib/libSDL${sdl_major}_test.a" "${abi_sdllibdir}"
    done
}

build_cmake_projects

compile_java

create_pom_xml

create_aar_androidmanifest

create_shared_sdl_module

create_static_sdl_module

create_sdltest_module

pushd "${aar_root}"
    aar_filename="SDL${sdl_major}-${sdl_version}.aar"
    cp "${classes_jar_path}" ./classes.jar
    cp "${classes_sources_jar_path}" ./classes-sources.jar
    zip -r "${aar_filename}" AndroidManifest.xml classes.jar classes-sources.jar prefab META-INF
    zip -Tv "${aar_filename}" 2>/dev/null ;
    mv "${aar_filename}" "${prefabhome}"
popd

maven_filename="SDL${sdl_major}-${sdl_version}.zip"

pushd "${prefabhome}"
    zip_filename="SDL${sdl_major}-${sdl_version}.zip"
    zip "${maven_filename}" "${aar_filename}" "${pom_filename}" 2>/dev/null;
    zip -Tv "${zip_filename}" 2>/dev/null;
popd

echo "Prefab zip is ready at ${prefabhome}/${aar_filename}"
echo "Maven archive is ready at ${prefabhome}/${zip_filename}"
