# https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-gradle

name: Native Libraries

on:
    push:
        branches:
            - '*'
        tags:
            - '[0-9]*'
        paths:
            - 'flatlaf-natives/**'
            - '.github/workflows/natives.yml'
            - 'gradle/wrapper/gradle-wrapper.properties'
    pull_request:
        branches:
            - '*'
        paths:
            - 'flatlaf-natives/**'
            - '.github/workflows/natives.yml'
            - 'gradle/wrapper/gradle-wrapper.properties'

jobs:
    Natives:
        strategy:
            matrix:
                os:
                    - windows
                    - ubuntu

        runs-on: ${{ matrix.os }}-latest

        steps:
            - uses: actions/checkout@v3

            - uses: gradle/wrapper-validation-action@v1

            - name: Setup Java 11
              uses: actions/setup-java@v3
              with:
                  java-version: 11
                  distribution: adopt
                  cache: gradle

            - name: Build with Gradle
              # --no-daemon is necessary on Windows otherwise caching Gradle would fail with:
              #   tar.exe: Couldn't open ~/.gradle/caches/modules-2/modules-2.lock: Permission denied
              run: ./gradlew build-natives --no-daemon

            - name: Upload artifacts
              uses: actions/upload-artifact@v3
              with:
                  name: FlatLaf-natives-build-artifacts-${{ matrix.os }}
                  path: |
                      flatlaf-core/src/main/resources/com/formdev/flatlaf/natives
                      flatlaf-natives/flatlaf-natives-*/build
