name: Test Java 8, Android

on:
  push:
    branches: [ master ]
  pull_request:
    branches: [ master ]

env:
  ANDROID_HOME: /tmp/android-sdk-linux

jobs:
  build:

    runs-on: ubuntu-latest

    steps:
    - uses: actions/checkout@v3
    - name: Set up Android SDK
      run: if [ ! -d /tmp/android-sdk-linux/platforms ]; then curl -s https://storage.googleapis.com/zxing-build/android-sdk-linux.tar.bz2 | bunzip2 | tar xf - -C /tmp; else ls -l /tmp/android-sdk-linux; fi
    - name: Set up JDK 8
      uses: actions/setup-java@v2
      with:
        java-version: '8'
        distribution: 'temurin'
        cache: maven
    - name: Build with Maven
      run: mvn -nsu -B -Pjacoco install

# The Android SDK package android-sdk-linux.tar.bz2 above is built roughly like so:
#
# Download Command Line tools for Linux from https://developer.android.com/studio#downloads
#
# mkdir android-sdk-linux; cd android-sdk-linux
# mv /path/to/sdk-tools-linux-4333796.zip .
# unzip *.zip; rm *.zip
#
# # Or different, more recent versions; see sdkmanager --list
# ./tools/bin/sdkmanager "platforms;android-22" "build-tools;28.0.2"
# # Accept license
#
# ./tools/bin/sdkmanager --update
# # Accept license
#
# cp tools/source.properties ..
#
# ./tools/bin/sdkmanager --uninstall tools
#
# mkdir tools; mv ../source.properties tools
#
# cd ..
# tar cf - android-sdk-linux | bzip2 -9 > android-sdk-linux.tar.bz2
