From d1ff0b724854b6d9d70a5bf481f7895c310ade84 Mon Sep 17 00:00:00 2001 From: Arbousier1 Date: Tue, 6 Oct 2026 18:57:24 +0800 Subject: [PATCH 1/3] chore: target Paper 26.3 --- .github/workflows/build.yml | 2 +- README.md | 2 +- build.gradle | 6 +++--- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 6c53e93..ef81584 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -12,6 +12,6 @@ jobs: - uses: actions/setup-java@v6 with: distribution: temurin - java-version: '21' + java-version: '25' - uses: gradle/actions/setup-gradle@v6 - run: ./gradlew clean test build diff --git a/README.md b/README.md index 7c4dea6..189d075 100644 --- a/README.md +++ b/README.md @@ -11,7 +11,7 @@ ## 构建 -需要 JDK 21: +需要 JDK 25(Paper API compile target: `26.3.build.157-beta`): ```bash ./gradlew clean test build diff --git a/build.gradle b/build.gradle index 974c380..62a329f 100644 --- a/build.gradle +++ b/build.gradle @@ -7,7 +7,7 @@ version = '1.0.0' java { toolchain { - languageVersion = JavaLanguageVersion.of(21) + languageVersion = JavaLanguageVersion.of(25) } } @@ -19,7 +19,7 @@ repositories { } dependencies { - compileOnly 'io.papermc.paper:paper-api:1.21.11-R0.1-SNAPSHOT' + compileOnly 'io.papermc.paper:paper-api:26.3.build.157-beta' compileOnly 'io.lumine:Mythic-Dist:5.12.1' compileOnly 'me.clip:placeholderapi:2.11.6' @@ -30,7 +30,7 @@ dependencies { tasks.withType(JavaCompile).configureEach { options.encoding = 'UTF-8' - options.release = 21 + options.release = 25 } tasks.named('jar') { From 7131ac36a28c65364a81e2873d3491a895b1f63e Mon Sep 17 00:00:00 2001 From: Arbousier1 Date: Tue, 6 Oct 2026 20:47:51 +0800 Subject: [PATCH 2/3] ci: preserve Java 21 and verify 26.3 --- .github/workflows/compatibility.yml | 36 +++++++++++++++++++++++++++++ build.gradle | 10 +++++--- 2 files changed, 43 insertions(+), 3 deletions(-) create mode 100644 .github/workflows/compatibility.yml diff --git a/.github/workflows/compatibility.yml b/.github/workflows/compatibility.yml new file mode 100644 index 0000000..db82c8d --- /dev/null +++ b/.github/workflows/compatibility.yml @@ -0,0 +1,36 @@ +name: Compatibility matrix + +on: + push: + pull_request: + workflow_dispatch: + +permissions: + contents: read + +jobs: + build: + name: ${{ matrix.name }} + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + include: + - name: Paper 1.21.11 baseline + api: 1.21.11-R0.1-SNAPSHOT + java: '21' + toolchain: '21' + - name: Paper 26.3 + api: 26.3.build.157-beta + java: '25' + toolchain: '25' + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-java@v4 + with: + distribution: temurin + java-version: ${{ matrix.java }} + - uses: gradle/actions/setup-gradle@v4 + - shell: bash + run: chmod +x gradlew + - run: ./gradlew clean test build --no-daemon -PpaperApiVersion=${{ matrix.api }} -PjavaToolchain=${{ matrix.toolchain }} -PjavaRelease=21 diff --git a/build.gradle b/build.gradle index 62a329f..738e9c9 100644 --- a/build.gradle +++ b/build.gradle @@ -5,9 +5,13 @@ plugins { group = 'com.ellanstudio' version = '1.0.0' +def paperApiVersion = providers.gradleProperty('paperApiVersion').orElse('26.3.build.157-beta').get() +def javaToolchainVersion = providers.gradleProperty('javaToolchain').orElse('25').get().toInteger() +def javaRelease = providers.gradleProperty('javaRelease').orElse('21').get().toInteger() + java { toolchain { - languageVersion = JavaLanguageVersion.of(25) + languageVersion = JavaLanguageVersion.of(javaToolchainVersion) } } @@ -19,7 +23,7 @@ repositories { } dependencies { - compileOnly 'io.papermc.paper:paper-api:26.3.build.157-beta' + compileOnly "io.papermc.paper:paper-api:${paperApiVersion}" compileOnly 'io.lumine:Mythic-Dist:5.12.1' compileOnly 'me.clip:placeholderapi:2.11.6' @@ -30,7 +34,7 @@ dependencies { tasks.withType(JavaCompile).configureEach { options.encoding = 'UTF-8' - options.release = 25 + options.release = javaRelease } tasks.named('jar') { From 0444f252f8aca90897614210d63ce967926b72c6 Mon Sep 17 00:00:00 2001 From: Arbousier1 Date: Tue, 6 Oct 2026 21:29:18 +0800 Subject: [PATCH 3/3] build: select Paper JVM variant by toolchain --- build.gradle | 10 ++++++++++ gradle/wrapper/gradle-wrapper.properties | 2 +- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index 738e9c9..0125796 100644 --- a/build.gradle +++ b/build.gradle @@ -1,3 +1,5 @@ +import org.gradle.api.attributes.java.TargetJvmVersion + plugins { id 'java' } @@ -15,6 +17,14 @@ java { } } +afterEvaluate { + configurations.configureEach { + if (canBeResolved) { + attributes.attribute(TargetJvmVersion.TARGET_JVM_VERSION_ATTRIBUTE, javaToolchainVersion) + } + } +} + repositories { mavenCentral() maven { url = 'https://repo.papermc.io/repository/maven-public/' } diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index dbc3ce4..a351597 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-9.4.0-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-9.6.1-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME