diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 118d9bc9f..6538e3a35 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -4,11 +4,11 @@ Purpur is happy you're willing to contribute to our projects. We are usually very lenient with all submitted PRs, but there are still some guidelines you can follow to make the approval process go more smoothly. -## Use a Personal Fork and not Organization +## Use a Personal Fork and not an Organization Purpur will routinely modify your PR, whether it's a quick rebase or to take care of any minor nitpicks we might have. Often, it's better for us to solve these -problems for you than make you go back and forth trying to fix it yourself. +problems for you than make you go back and forth trying to fix them yourself. Unfortunately, if you use an organization for your PR, it prevents Purpur from modifying it. This requires us to manually merge your PR, resulting in us @@ -27,12 +27,12 @@ which can be obtained in (most) package managers such as `apt` (Debian / Ubuntu; you will most likely use this for WSL), `homebrew` (macOS / Linux), and more: - `git` (package `git` everywhere); -- A Java 16 or later JDK (packages vary, use Google/DuckDuckGo/etc.). +- A Java 21 or later JDK (packages vary, use Google/DuckDuckGo/etc.). - [Adoptium](https://adoptium.net/) has builds for most operating systems. - - Purpur requires JDK 16 to build, however makes use of Gradle's + - Purpur requires JDK 21 to build, however, makes use of Gradle's [Toolchains](https://docs.gradle.org/current/userguide/toolchains.html) - feature to allow building with only JRE 8 or later installed. (Gradle will - automatically provision JDK 16 for compilation if it cannot find an existing + feature to allow building with only JRE 11 or later installed. (Gradle will + automatically provision JDK 21 for compilation if it cannot find an existing install). If you're on Windows, check @@ -42,16 +42,16 @@ If you're compiling with Docker, you can use Adoptium's [`eclipse-temurin`](https://hub.docker.com/_/eclipse-temurin/) images like so: ```console -# docker run -it -v "$(pwd)":/data --rm eclipse-temurin:16.0.2_7-jdk bash +# docker run -it -v "$(pwd)":/data --rm eclipse-temurin:21.0.3_9-jdk bash Pulling image... root@abcdefg1234:/# javac -version -javac 16.0.2 +javac 21.0.3 ``` ## Understanding Patches -Purpur is mostly patches and extensions to Paper/Spigot. These patches/extensions are +Paper is mostly patches and extensions to Spigot. These patches/extensions are split into different directories which target certain parts of the code. These directories are: @@ -66,7 +66,7 @@ Assuming you have already forked the repository: 1. Clone your fork to your local machine; 2. Type `./gradlew applyPatches` in a terminal to apply the changes from upstream. - On Windows, leave out the `./` at the beginning for all `gradlew` commands; + On Windows, replace the `./` with `.\` at the beginning for all `gradlew` commands; 3. cd into `Purpur-Server` for server changes, and `Purpur-API` for API changes.