From 9c241a587db1e938bfb3d5c7082f6baef7bfc302 Mon Sep 17 00:00:00 2001 From: APickledWalrus Date: Mon, 15 Jul 2024 17:15:22 -0400 Subject: [PATCH] Require Java 17 --- .github/workflows/java-11-builds.yml | 35 ------------------- .github/workflows/java-17-builds.yml | 2 +- .github/workflows/junit-11-builds.yml | 29 --------------- .github/workflows/junit-17-builds.yml | 2 +- README.md | 11 +++--- build.gradle | 11 +++--- code-conventions.md | 5 ++- .../environments/java11/paper-1.13.2.json | 17 --------- .../environments/java11/paper-1.14.4.json | 17 --------- .../environments/java11/paper-1.15.2.json | 17 --------- .../environments/java11/paper-1.16.5.json | 17 --------- .../environments/java17/paper-1.17.1.json | 17 --------- .../environments/java17/paper-1.18.2.json | 17 --------- 13 files changed, 13 insertions(+), 184 deletions(-) delete mode 100644 .github/workflows/java-11-builds.yml delete mode 100644 .github/workflows/junit-11-builds.yml delete mode 100644 src/test/skript/environments/java11/paper-1.13.2.json delete mode 100644 src/test/skript/environments/java11/paper-1.14.4.json delete mode 100644 src/test/skript/environments/java11/paper-1.15.2.json delete mode 100644 src/test/skript/environments/java11/paper-1.16.5.json delete mode 100644 src/test/skript/environments/java17/paper-1.17.1.json delete mode 100644 src/test/skript/environments/java17/paper-1.18.2.json diff --git a/.github/workflows/java-11-builds.yml b/.github/workflows/java-11-builds.yml deleted file mode 100644 index 443aa925d0c..00000000000 --- a/.github/workflows/java-11-builds.yml +++ /dev/null @@ -1,35 +0,0 @@ -name: Java 11 CI (MC 1.13-1.16) - -on: - push: - branches: - - master - - 'dev/**' - pull_request: - -jobs: - build: - if: "! contains(toJSON(github.event.commits.*.message), '[ci skip]')" - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - with: - submodules: recursive - - name: validate gradle wrapper - uses: gradle/wrapper-validation-action@v2 - - name: Set up JDK 21 - uses: actions/setup-java@v4 - with: - java-version: '21' - distribution: 'adopt' - cache: gradle - - name: Grant execute permission for gradlew - run: chmod +x gradlew - - name: Build Skript and run test scripts - run: ./gradlew clean skriptTestJava11 - - name: Upload Nightly Build - uses: actions/upload-artifact@v4 - if: success() - with: - name: skript-nightly - path: build/libs/* diff --git a/.github/workflows/java-17-builds.yml b/.github/workflows/java-17-builds.yml index 2ca6d6bde61..43d6458c946 100644 --- a/.github/workflows/java-17-builds.yml +++ b/.github/workflows/java-17-builds.yml @@ -1,4 +1,4 @@ -name: Java 17 CI (MC 1.17-1.20.4) +name: Java 17 CI (MC 1.19.4-1.20.4) on: push: diff --git a/.github/workflows/junit-11-builds.yml b/.github/workflows/junit-11-builds.yml deleted file mode 100644 index cdf75e4c43a..00000000000 --- a/.github/workflows/junit-11-builds.yml +++ /dev/null @@ -1,29 +0,0 @@ -name: JUnit (MC 1.13-1.16) - -on: - push: - branches: - - master - - 'dev/**' - pull_request: - -jobs: - build: - if: "! contains(toJSON(github.event.commits.*.message), '[ci skip]')" - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - with: - submodules: recursive - - name: validate gradle wrapper - uses: gradle/wrapper-validation-action@v2 - - name: Set up JDK 21 - uses: actions/setup-java@v4 - with: - java-version: '21' - distribution: 'adopt' - cache: gradle - - name: Grant execute permission for gradlew - run: chmod +x gradlew - - name: Build Skript and run JUnit - run: ./gradlew clean JUnitJava11 diff --git a/.github/workflows/junit-17-builds.yml b/.github/workflows/junit-17-builds.yml index 238bd9b132e..7bbe8952eb3 100644 --- a/.github/workflows/junit-17-builds.yml +++ b/.github/workflows/junit-17-builds.yml @@ -1,4 +1,4 @@ -name: JUnit (MC 1.17-1.20.4) +name: JUnit (MC 1.19.4-1.20.4) on: push: diff --git a/README.md b/README.md index b4ab6c4e48f..bd1e1375345 100644 --- a/README.md +++ b/README.md @@ -16,8 +16,8 @@ Skript requires **Spigot** to work. You heard it right, **CraftBukkit** does *no **Paper**, which is a fork of Spigot, is recommended; it is required for some parts of Skript to be available. -Skript supports only the **latest** patch versions of Minecraft 1.13+. -For example, this means that 1.16.5 is supported, but 1.16.4 is *not*. +Skript supports only the **latest** patch versions of Minecraft 1.19 and newer. +For example, this means that 1.19.4 is supported, but 1.19.3 is *not*. Testing with all old patch versions is not feasible for us. Minecraft 1.12 and earlier are not, and will not be supported. New Minecraft @@ -77,15 +77,14 @@ Skript has some tests written in Skript. Running them requires a Minecraft server, but our build script will create one for you. Running the tests is easy: ``` -./gradlew (quickTest|skriptTest|skriptTestJava11|skriptTestJava17|skriptTestJava21) +./gradlew (quickTest|skriptTest|skriptTestJava17|skriptTestJava21) ``` quickTest runs the test suite on newest supported server version. skriptTestJava21 (1.20.6+) runs the tests on Java 21 supported versions. -skriptTestJava17 (1.17-1.20.4) runs the tests on Java 17 supported versions. -skriptTestJava11 (1.13-1.16) runs the tests on Java 11 supported versions. +skriptTestJava17 (1.19.4-1.20.4) runs the tests on Java 17 supported versions. skriptTest runs the tests on all versions. -That is, it runs skriptTestJava11, skriptTestJava17, and skriptTestJava21. +That is, it runs skriptTestJava17, and skriptTestJava21. By running the tests, you agree to Mojang's End User License Agreement. diff --git a/build.gradle b/build.gradle index 486220cf22e..415ed5b5709 100644 --- a/build.gradle +++ b/build.gradle @@ -70,7 +70,7 @@ task build(overwrite: true, type: ShadowJar) { from sourceSets.main.output } -// Excludes the tests for the build task. Should be using junit, junitJava17, junitJava11, skriptTest, quickTest. +// Excludes the tests for the build task. Should be using junit, junitJava17, skriptTest, quickTest. // We do not want tests to run for building. That's time consuming and annoying. Especially in development. test { exclude '**/*' @@ -233,11 +233,10 @@ void createTestTask(String name, String desc, String environments, int javaVersi def java21 = 21 def java17 = 17 -def java11 = 11 def latestEnv = 'java21/paper-1.21.0.json' def latestJava = java21 -def oldestJava = java11 +def oldestJava = java17 def latestJUnitEnv = 'java17/paper-1.20.4.json' def latestJUnitJava = java17 @@ -260,14 +259,13 @@ int envJava = project.property('testEnvJavaVersion') == null ? latestJava : Inte createTestTask('quickTest', 'Runs tests on one environment being the latest supported Java and Minecraft.', environments + latestEnv, latestJava, 0) createTestTask('skriptTestJava21', 'Runs tests on all Java 21 environments.', environments + 'java21', java21, 0) createTestTask('skriptTestJava17', 'Runs tests on all Java 17 environments.', environments + 'java17', java17, 0) -createTestTask('skriptTestJava11', 'Runs tests on all Java 11 environments.', environments + 'java11', java11, 0) createTestTask('skriptTestDev', 'Runs testing server and uses \'system.in\' for command input, stop server to finish.', environments + env, envJava, 0, Modifiers.DEV_MODE, Modifiers.DEBUG) createTestTask('skriptProfile', 'Starts the testing server with JProfiler support.', environments + latestEnv, latestJava, -1, Modifiers.PROFILE) createTestTask('genNightlyDocs', 'Generates the Skript documentation website html files.', environments + env, envJava, 0, Modifiers.GEN_NIGHTLY_DOCS) createTestTask('genReleaseDocs', 'Generates the Skript documentation website html files for a release.', environments + env, envJava, 0, Modifiers.GEN_RELEASE_DOCS) tasks.register('skriptTest') { description = 'Runs tests on all environments.' - dependsOn skriptTestJava11, skriptTestJava17, skriptTestJava21 + dependsOn skriptTestJava17, skriptTestJava21 } createTestTask('JUnitQuick', 'Runs JUnit tests on one environment being the latest supported Java and Minecraft.', environments + latestJUnitEnv, latestJUnitJava, 0, Modifiers.JUNIT) @@ -275,10 +273,9 @@ createTestTask('JUnitQuick', 'Runs JUnit tests on one environment being the late // However, we are currently using 5.0.1 (see https://github.com/SkriptLang/Skript/pull/6204#discussion_r1405302009) //createTestTask('JUnitJava21', 'Runs JUnit tests on all Java 21 environments.', environments + 'java21', java21, 0, Modifiers.JUNIT) createTestTask('JUnitJava17', 'Runs JUnit tests on all Java 17 environments.', environments + 'java17', java17, 0, Modifiers.JUNIT) -createTestTask('JUnitJava11', 'Runs JUnit tests on all Java 11 environments.', environments + 'java11', java11, 0, Modifiers.JUNIT) tasks.register('JUnit') { description = 'Runs JUnit tests on all environments.' - dependsOn JUnitJava11, JUnitJava17//, JUnitJava21 + dependsOn JUnitJava17//, JUnitJava21 } // Build flavor configurations diff --git a/code-conventions.md b/code-conventions.md index 3bcf17c6c9f..c9b70f8d5a4 100644 --- a/code-conventions.md +++ b/code-conventions.md @@ -194,9 +194,8 @@ Your comments should look something like these: ## Language Features ### Compatibility -[//]: # (To be updated for 2.10 for Java 17) -* Contributions should maintain Java 11 source/binary compatibility, even though compiling Skript requires Java 21 - - Users must not need JRE newer than version 11 +* Contributions should maintain Java 17 source/binary compatibility, even though compiling Skript requires Java 21 + - Users must not need JRE newer than version 17 * Versions up to and including Java 21 should work too - Please avoid using unsafe reflection * It is recommended to make fields final, if they are effectively final diff --git a/src/test/skript/environments/java11/paper-1.13.2.json b/src/test/skript/environments/java11/paper-1.13.2.json deleted file mode 100644 index e6efb949c03..00000000000 --- a/src/test/skript/environments/java11/paper-1.13.2.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "name": "paper-1.13.2", - "resources": [ - {"source": "server.properties.generic", "target": "server.properties"} - ], - "paperDownloads": [ - { - "version": "1.13.2", - "target": "paperclip.jar" - } - ], - "skriptTarget": "plugins/Skript.jar", - "commandLine": [ - "-Dcom.mojang.eula.agree=true", - "-jar", "paperclip.jar" - ] -} diff --git a/src/test/skript/environments/java11/paper-1.14.4.json b/src/test/skript/environments/java11/paper-1.14.4.json deleted file mode 100644 index 1e2972dd84c..00000000000 --- a/src/test/skript/environments/java11/paper-1.14.4.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "name": "paper-1.14.4", - "resources": [ - {"source": "server.properties.generic", "target": "server.properties"} - ], - "paperDownloads": [ - { - "version": "1.14.4", - "target": "paperclip.jar" - } - ], - "skriptTarget": "plugins/Skript.jar", - "commandLine": [ - "-Dcom.mojang.eula.agree=true", - "-jar", "paperclip.jar" - ] -} diff --git a/src/test/skript/environments/java11/paper-1.15.2.json b/src/test/skript/environments/java11/paper-1.15.2.json deleted file mode 100644 index 08a849ff98d..00000000000 --- a/src/test/skript/environments/java11/paper-1.15.2.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "name": "paper-1.15.2", - "resources": [ - {"source": "server.properties.generic", "target": "server.properties"} - ], - "paperDownloads": [ - { - "version": "1.15.2", - "target": "paperclip.jar" - } - ], - "skriptTarget": "plugins/Skript.jar", - "commandLine": [ - "-Dcom.mojang.eula.agree=true", - "-jar", "paperclip.jar", "--nogui" - ] -} diff --git a/src/test/skript/environments/java11/paper-1.16.5.json b/src/test/skript/environments/java11/paper-1.16.5.json deleted file mode 100644 index 690a180c001..00000000000 --- a/src/test/skript/environments/java11/paper-1.16.5.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "name": "paper-1.16.5", - "resources": [ - {"source": "server.properties.generic", "target": "server.properties"} - ], - "paperDownloads": [ - { - "version": "1.16.5", - "target": "paperclip.jar" - } - ], - "skriptTarget": "plugins/Skript.jar", - "commandLine": [ - "-Dcom.mojang.eula.agree=true", - "-jar", "paperclip.jar", "--nogui" - ] -} diff --git a/src/test/skript/environments/java17/paper-1.17.1.json b/src/test/skript/environments/java17/paper-1.17.1.json deleted file mode 100644 index 720eba10ef5..00000000000 --- a/src/test/skript/environments/java17/paper-1.17.1.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "name": "paper-1.17.1", - "resources": [ - {"source": "server.properties.generic", "target": "server.properties"} - ], - "paperDownloads": [ - { - "version": "1.17.1", - "target": "paperclip.jar" - } - ], - "skriptTarget": "plugins/Skript.jar", - "commandLine": [ - "-Dcom.mojang.eula.agree=true", - "-jar", "paperclip.jar", "--nogui" - ] -} diff --git a/src/test/skript/environments/java17/paper-1.18.2.json b/src/test/skript/environments/java17/paper-1.18.2.json deleted file mode 100644 index 406bdd99c06..00000000000 --- a/src/test/skript/environments/java17/paper-1.18.2.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "name": "paper-1.18.2", - "resources": [ - {"source": "server.properties.generic", "target": "server.properties"} - ], - "paperDownloads": [ - { - "version": "1.18.2", - "target": "paperclip.jar" - } - ], - "skriptTarget": "plugins/Skript.jar", - "commandLine": [ - "-Dcom.mojang.eula.agree=true", - "-jar", "paperclip.jar", "--nogui" - ] -}