quickjs-tart

quickjs-based runtime for wallet-core logic
Log | Files | Refs | README | LICENSE

package-android.sh (2384B)


      1 #!/bin/env bash
      2 set -e
      3 
      4 if [[ $# -ne 1 ]]; then
      5     echo "Usage: $0 [x86|x86_64|arm64|armeabi]"
      6     echo "Usage: $0 all"
      7     echo "Usage: $0 gradle"
      8     exit 1
      9 fi
     10 
     11 ANDROID_DIR=./QuickJS-android
     12 NDK_VERSION=29.0.14206865
     13 
     14 if [[ "$OSTYPE" =~ ^linux-gnu* ]]; then
     15     export ANDROID_HOME="${ANDROID_HOME:-${HOME}/Android/Sdk}"
     16     export PATH="${PATH}:${ANDROID_HOME}/ndk/${NDK_VERSION}/toolchains/llvm/prebuilt/linux-x86_64/bin"
     17 elif [[ "$OSTYPE" =~ ^darwin* ]]; then
     18     export ANDROID_HOME="${ANDROID_HOME:-${HOME}/Library/Android/Sdk}"
     19     export PATH="${PATH}:${ANDROID_HOME}/ndk/${NDK_VERSION}/toolchains/llvm/prebuilt/darwin-x86_64/bin/"
     20 else
     21     echo "unsupported platform $OSTYPE"
     22     exit -1
     23 fi
     24 
     25 export PATH="${PATH}:${ANDROID_HOME}/cmdline-tools/latest/bin"
     26 export ANDROID_SDK_ROOT="${ANDROID_HOME}"
     27 export ANDROID_NDK_HOME="${ANDROID_HOME}/ndk/${NDK_VERSION}"
     28 
     29 # Install NDK version if it doesn't exist
     30 if [ ! -d "$ANDROID_SDK_ROOT/ndk/$NDK_VERSION" ]; then
     31     sdkmanager "ndk;$NDK_VERSION"
     32 fi
     33 
     34 JNILIBS_DIR=$ANDROID_DIR/qtart/src/main/jniLibs
     35 
     36 if [ "$1" = "all" ] || [ "$1" = "x86" ]; then
     37     ./cross/build-android.sh x86
     38     cp ./build-android/x86/libtalerwalletcore.so $JNILIBS_DIR/x86
     39     cp ./build-android/x86/subprojects/c-ares/libc_ares.so $JNILIBS_DIR/x86
     40 fi
     41 
     42 if [ "$1" = "all" ] || [ "$1" = "x86_64" ]; then
     43     ./cross/build-android.sh x86_64
     44     cp ./build-android/x86_64/libtalerwalletcore.so $JNILIBS_DIR/x86_64
     45     cp ./build-android/x86_64/subprojects/c-ares/libc_ares.so $JNILIBS_DIR/x86_64
     46 fi
     47 
     48 if [ "$1" = "all" ] || [ "$1" = "arm64" ]; then
     49     ./cross/build-android.sh arm64-v8a
     50     cp ./build-android/arm64-v8a/libtalerwalletcore.so $JNILIBS_DIR/arm64-v8a
     51     cp ./build-android/arm64-v8a/subprojects/c-ares/libc_ares.so $JNILIBS_DIR/arm64-v8a
     52 fi
     53 
     54 if [ "$1" = "all" ] || [ "$1" = "armeabi" ]; then
     55     ./cross/build-android.sh armeabi-v7a
     56     cp ./build-android/armeabi-v7a/libtalerwalletcore.so $JNILIBS_DIR/armeabi-v7a
     57     cp ./build-android/armeabi-v7a/subprojects/c-ares/libc_ares.so $JNILIBS_DIR/armeabi-v7a
     58 fi
     59 
     60 pushd $ANDROID_DIR
     61 if [ "${MAVEN_PUBLISH:-0}" = 0 ]; then
     62     ./gradlew --build-cache \
     63               --console=plain \
     64               publishToMavenLocal
     65 elif [ "${MAVEN_PUBLISH:-0}" = 1 ]; then
     66     ./gradlew --build-cache \
     67               --console=plain \
     68               publishAllPublicationsToMavenCentralRepository
     69 fi
     70 popd
     71 
     72 tput bel