version: 2.1
orbs:
  android: circleci/android@0.2.1
jobs:
  build:
    working_directory: ~/code
    docker:
      - image: circleci/android:api-30
    environment:
      JVM_OPTS: -Xmx3200m
    steps:
      - run:
          name: Setup Git email and user for Cerbero
          command: git config --global user.email "ci@beatscratch.io" && git config --global user.name "CI testing"
      # - android/install-ndk:
      #     ndk-version: android-ndk-r18b
      #     ndk-sha: 500679655da3a86aecf67007e8ab230ea9b4dd7b
      - run:
          name: Install FluidSynth build dependencies
          command: sudo apt-get update && sudo apt-get install autotools-dev automake autoconf libtool g++ autopoint make cmake
            bison flex yasm pkg-config libpulse-dev
            python3-dev gettext build-essential pkg-config curl
            libasound2-dev dpkg-dev
            debhelper build-essential devscripts fakeroot transfig gperf libdbus-glib-1-dev
            wget glib-networking libxtst-dev libxrandr-dev
            git intltool ccache python3-setuptools autogen maven make
      - checkout
      - run:
          name: Build Cerbero and Oboe
          working_directory: doc/android
          command: |
            export TERM=dumb
            export VERBOSE=1
            echo Starting `nproc` parallel jobs
            make -f Makefile.android prepare
      - run:
          name: Link Cerbero NDK for build
          command: |
            mkdir -p /home/circleci/android-sdk-linux
            echo "android-ndk-21 content"
            ls /home/circleci/code/doc/android/external/cerbero/build/android-ndk-21
            ln -s /home/circleci/code/doc/android/external/cerbero/build/android-ndk-21 /home/circleci/android-sdk-linux/ndk-bundle
            echo "/home/circleci/android-sdk-linux/ndk-bundle content"
            ls /home/circleci/android-sdk-linux/ndk-bundle
      - run:
          name: Build FluidSynth Android
          working_directory: doc/android
          command: |
            export TERM=dumb
            make -f Makefile.android
      - run:
          name: Show directory contents
          working_directory: doc/android
          command: |
            ls -R
            mv ./external/cerbero/build/logs dist/
            cp ./external/cerbero/build/sources/android_armv7/glib-2.62.6/_builddir/meson*.txt dist/armeabi-v7a/
            cp ./external/cerbero/build/sources/android_arm64/glib-2.62.6/_builddir/meson*.txt dist/arm64-v8a/
            cp ./external/cerbero/build/sources/android_x86/glib-2.62.6/_builddir/meson*.txt dist/x86/
            cp ./external/cerbero/build/sources/android_x86_64/glib-2.62.6/_builddir/meson*.txt dist/x86_64/
      - run:
          name: Zip FluidSynth Android Distribution
          working_directory: doc/android
          command: zip -r android-dist.zip dist
      - store_artifacts:
          path: doc/android/android-dist.zip
          destination: android-dist.zip
