aboutsummaryrefslogtreecommitdiffhomepage
path: root/CONTRIBUTING.md
diff options
context:
space:
mode:
authorNassim Jahnke <[email protected]>2024-05-01 18:44:17 +0200
committerNassim Jahnke <[email protected]>2024-05-01 18:44:39 +0200
commit310b47bb964520799a71986294407ee7a9090467 (patch)
treec50412c775285ecbb6fcca69e50b2d66f8f7324e /CONTRIBUTING.md
parentb8c454c2ba204af066685d2a5c4dcdd65299050d (diff)
downloadPaper-310b47bb964520799a71986294407ee7a9090467.tar.gz
Paper-310b47bb964520799a71986294407ee7a9090467.zip
Update Java version references, add note on var usages
Diffstat (limited to 'CONTRIBUTING.md')
-rw-r--r--CONTRIBUTING.md14
1 files changed, 9 insertions, 5 deletions
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 19f656419d..acba91f491 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -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 17 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.
- - Paper requires JDK 17 to build, however, makes use of Gradle's
+ - Paper 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 11 or later installed. (Gradle will
- automatically provision JDK 17 for compilation if it cannot find an existing
+ automatically provision JDK 21 for compilation if it cannot find an existing
install).
If you're on Windows, check
@@ -42,11 +42,11 @@ 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:17.0.1_12-jdk bash
+# docker run -it -v "$(pwd)":/data --rm eclipse-temurin:21.0.3_9-jdk bash
Pulling image...
root@abcdefg1234:/# javac -version
-javac 17.0.1
+javac 21.0.3
```
## Understanding Patches
@@ -237,6 +237,10 @@ into most IDEs and formatters by default. There are a few notes, however:
There are exceptions, especially in Spigot-related files
- When in doubt or the code around your change is in a clearly different style,
use the same style as the surrounding code.
+- `var` usage is heavily discouraged, as it makes reading patch files a lot harder
+and can lead to confusion during updates due to changed return types. The only
+exception to this is if a line would otherwise be way too long/filled with hard
+to parse generics in a case where the base type itself is already obvious
### Imports
When adding new imports to a class in a file not created by the current patch, use the fully qualified class name