Skip to content

Add shared core, Configurate and SQL libraries without changing legacy APIs #6

Add shared core, Configurate and SQL libraries without changing legacy APIs

Add shared core, Configurate and SQL libraries without changing legacy APIs #6

name: Shared libraries
on:
pull_request:
branches: [main]
push:
branches: [main]
workflow_dispatch:
permissions:
contents: read
concurrency:
group: shared-libraries-${{ github.ref }}
cancel-in-progress: true
jobs:
verify:
runs-on: ubuntu-latest
timeout-minutes: 25
steps:
- uses: actions/checkout@v4
with:
persist-credentials: false
- uses: actions/setup-java@v4
with:
java-version: '21'
distribution: temurin
cache: maven
# Repository-local validation only; downstream plugin builds are opt-in work.
# Install into the runner's local Maven cache, never a remote repository.
- name: Build shared libraries and legacy artifact
run: mvn -B -ntp clean install
- name: Collect runtime classpaths
shell: bash
run: |
set -euo pipefail
mvn -B -ntp -nsu -pl simpleapi-core,simpleapi-configurate,simpleapi-sql -am org.apache.maven.plugins:maven-dependency-plugin:3.8.1:copy-dependencies -DincludeScope=runtime -DoutputDirectory=target/runtime-deps
mvn -B -ntp -nsu -f SimpleAPI/pom.xml org.apache.maven.plugins:maven-dependency-plugin:3.8.1:build-classpath -Dmdep.outputFile=target/compatibility-classpath.txt
- name: Verify packaged artifacts and Bukkit parity
run: python3 tools/verify-shared-artifacts.py
- name: Preserve test reports and shared artifacts
if: always()
uses: actions/upload-artifact@v4
with:
name: shared-library-validation
retention-days: 7
if-no-files-found: warn
path: |
simpleapi-*/target/*.jar
simpleapi-*/target/surefire-reports/*.xml
SimpleAPI/target/surefire-reports/*.xml