name: License Report Workflow

on:
  push:
    branches:
      - main
    paths:
      - 'build.gradle'

permissions:
  contents: write
  pull-requests: write

jobs:
  generate-license-report:
    runs-on: ubuntu-latest

    steps:
      - name: Check out code
        uses: actions/checkout@v3

      - name: Set up JDK 17
        uses: actions/setup-java@v3
        with:
          java-version: '17'
          distribution: 'adopt'

      - name: Run Gradle Command
        run: ./gradlew clean generateLicenseReport

      - name: Move and Rename License File
        run: |
          mv build/reports/dependency-license/index.json src/main/resources/static/3rdPartyLicenses.json

      - name: Check for Changes
        id: git-check
        run: |
          git add src/main/resources/static/3rdPartyLicenses.json
          git diff --staged --exit-code || echo "changes=true" >> $GITHUB_ENV

      - name: Commit and Push Changes
        if: env.changes == 'true'
        run: |
          git config --global user.name 'Stirling-PDF-Bot'
          git config --global user.email 'Stirling-PDF-Bot@stirlingtools.com'
          git commit -m "Update 3rd Party Licenses"
          git push