name: Build LunarCore
on:
  workflow_dispatch: ~
  push:
    paths:
      - "**.java"
    branches:
      - main
      - development
  pull_request:
    paths:
      - "**.java"
    types:
      - opened
      - synchronize
      - reopened
jobs:
  Build:
    runs-on: ubuntu-latest
    steps:
        - name: Checkout
          uses: actions/checkout@v3
        - name: Setup Java
          uses: actions/setup-java@v3
          with:
            distribution: temurin
            java-version: '17'
        - name: Cache gradle files
          uses: actions/cache@v2
          with:
            path: |
              ~/.gradle/caches
              ~/.gradle/wrapper
              ./.gradle/loom-cache
            key: ${{ runner.os }}-gradle-${{ hashFiles('*.gradle', 'gradle.properties', '**/*.accesswidener') }}
            restore-keys: |
              ${{ runner.os }}-gradle-
        - name: Run Gradle
          run: chmod +x gradlew && ./gradlew && ./gradlew jar
        - name: Upload build
          uses: actions/upload-artifact@v3
          with:
            name: LunarCore
            path: LunarCore.jar
