# This workflow will build a Java project with Maven # For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-maven name: Static Analysis Java25 on: [ push, pull_request ] # push: # branches: [ master ] # pull_request: # branches: [ master ] jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v5 - name: Set up JDK 25 uses: actions/setup-java@v5 with: distribution: 'zulu' java-version: 25 - name: Cache Maven packages uses: actions/cache@v5 with: path: ~/.m2 key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }} restore-keys: ${{ runner.os }}-m2 - name: Build with Maven run: | # compile with ECJ for warnings or errors mvn antrun:run -Danttarget=tests-warnings-check # run Spotbugs and Checkstyle mvn clean test -U -P travis-spotbugs --batch-mode --file=pom.xml # run Javadoc mvn javadoc:javadoc -U --batch-mode --file=pom.xml # check html mvn exec:exec -P travis-scanhelp --file=pom.xml # check properties mvn antrun:run -Danttarget=checkPropertiesFiles #run Architecture tests mvn -Dtest=jmri.ArchitectureTest,jmri.TestArchitectureTest,jmri.util.FileLineEndingsCheck test --file=pom.xml # Test if stale sources exists ./scripts/test_stale_sources.sh # Test if if there are any files with with multiple UTF-8 Byte-Order-Marks (BOM) or TABs ./scripts/test_BOM_and_tab.sh # Check that the default_lcf.xml and scripts/default.xml files are in synch. ./scripts/test_default_lcf.sh # Check XSLT transformations ./scripts/test_decoder_XSLT_transforms.sh