#! /bin/sh

# Copyright 2018 Google Inc.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

usage() {
    cat >&2 <<EOM

This script can be run with no arguments, in which case it will produce an
APK with native libraries for all four architectures: arm, arm64, x86, and
x64.  You can instead list the architectures you want as arguments to this
script.  For example:

    $0 arm x86

The environment variables ANDROID_NDK and ANDROID_HOME must be set to the
locations of the Android NDK and SDK.  Current values:

    ANDROID_NDK="$ANDROID_NDK"
    ANDROID_HOME="$ANDROID_HOME"

Additionally, \`python\` and \`ninja\` should be in your path.

If SKQP_EXTRA_MODELS is non-empty, assets unneeded by the CTS tests will be
included for experimental mode.

EOM
    exit 1
}

[ -d "$ANDROID_NDK"  ] || usage
[ -d "$ANDROID_HOME" ] || usage
command -v ninja  > /dev/null || usage
command -v python > /dev/null || usage
for ARCH in $*; do case $ARCH in arm|arm64|x86|x64);; *) usage;; esac; done

set -x # Verbose
set -e # Exit immediately

cd "$(dirname "$0")/../.."


git clean -fxd platform_tools/android/apps/skqp

python tools/skqp/download_model
if [ -z "$SKQP_EXTRA_MODELS" ]; then
    python tools/skqp/remove_unneeded_assets
fi

python tools/skqp/setup_resources
python tools/git-sync-deps

APP=skqp
LIB=libskqp_app.so

find platform_tools/android/apps/$APP -name $LIB -exec rm {} +

if [ $# -eq 0 ]; then
    set -- arm arm64 x86 x64
fi

for ARCH in $*; do
    BUILD=out/skqp-$ARCH
    python tools/skqp/generate_gn_args $BUILD "$ANDROID_NDK" --arch "$ARCH"
    bin/gn gen $BUILD
    ninja -C $BUILD $LIB
    case $ARCH in
        arm)    NATIVE=armeabi-v7a ;;
        arm64)  NATIVE=arm64-v8a   ;;
        x86)    NATIVE=x86         ;;
        x64)    NATIVE=x86_64      ;;
        *)      usage              ;;
    esac
    DST=platform_tools/android/apps/$APP/src/main/libs/$NATIVE
    mkdir -p $DST
    cp -a $BUILD/$LIB $DST/$LIB
done

(
    cd platform_tools/android
    apps/gradlew --daemon -p apps/$APP -P suppressNativeBuild :$APP:assembleUniversalDebug
)

mkdir -p out/skqp
cp platform_tools/android/apps/$APP/build/outputs/apk/$APP-universal-debug.apk out/skqp/

