name: "Spotbugs"

on:
  push:
    branches: [ master ]
  pull_request:
    # The branches below must be a subset of the branches above
    branches: [ master ]

jobs:
  analyze:
    name: Analyze
    runs-on: ubuntu-latest

    steps:
    - name: Checkout repository
      uses: actions/checkout@v6
      with:
          fetch-depth: 256

    - name: Cache
      uses: actions/cache@v5
      with:
        path: |
          ~/.ivy2/cache/
          ~/work/josm/josm/tools/
        key: ${{ runner.os }}-ivy2-${{ hashFiles('build.xml', 'ivy.xml', 'tools/ivy.xml') }}

    - name: Setup Java 21
      uses: actions/setup-java@v5
      with:
        distribution: 'zulu'
        java-version: 21

    - name: Run Spotbugs with Ant
      run: |
        ant spotbugs

    - name: Upload report
      uses: actions/upload-artifact@v7
      with:
        path: spotbugs-josm.xml

    # Disable step, always failing with error message
    # TypeError: Cannot read property 'sourcepath' of undefined
    # see https://github.com/jwgmeligmeyling/spotbugs-github-action/issues/15
    #- uses: jwgmeligmeyling/spotbugs-github-action@master
    #  with:
    #    path: '**/spotbugs-josm.xml'
