name: Android

on:
  push:
  pull_request:
  release:
    types: [published]

jobs:
  build:
    runs-on: windows-latest
    
    env:
      RELEASE_NAME: raylib-3.1_android
    
    steps:
    - name: Checkout
      uses: actions/checkout@master

    - name: Setup Environment
      run: | 
        mkdir build
        cd build
        mkdir ${{ env.RELEASE_NAME }}
        cd ${{ env.RELEASE_NAME }}
        mkdir include
        mkdir lib
        cd ../..
        cd "C:\Program Files (x86)\Android\android-sdk\"
        dir
        cd ndk-bundle
        dir
        dir toolchains
        dir toolchains/llvm
        dir toolchains/llvm/prebuilt
        dir toolchains/llvm/prebuilt/windows-x86_64
        dir toolchains/llvm/prebuilt/windows-x86_64/bin
        dir sources/android/native_app_glue
        dir 
   
    # Generating static + shared library for 64bit arquitectures and API version 28
    # ANDROID_ARCH=ARM64/x86_64
    - name: Build Library
      run: |
        cd src
        make PLATFORM=PLATFORM_ANDROID ANDROID_ARCH=ARM64 ANDROID_NDK="C:\PROGRA~2\Android\android-sdk\ndk-bundle" RAYLIB_LIBTYPE=STATIC RAYLIB_RELEASE_PATH="../build/${{ env.RELEASE_NAME }}/lib"
        make clean
        make PLATFORM=PLATFORM_ANDROID ANDROID_ARCH=ARM64 ANDROID_NDK="C:\PROGRA~2\Android\android-sdk\ndk-bundle" RAYLIB_LIBTYPE=SHARED RAYLIB_RELEASE_PATH="../build/${{ env.RELEASE_NAME }}/lib" -B
        cd ..
      shell: cmd
  
    - name: Generate Artifacts
      run: |
        cp -v ./src/raylib.h ./build/${{ env.RELEASE_NAME }}/include
        cd build
        tar -czvf ${{ env.RELEASE_NAME }}.tar.gz ${{ env.RELEASE_NAME }}
        
    - name: Upload Artifacts
      uses: actions/upload-artifact@v2
      with:
        name: ${{ env.RELEASE_NAME }}.tar.gz
        path: ./build/${{ env.RELEASE_NAME }}.tar.gz