Add COMPILING.md and set Java Version to 16

This commit is contained in:
JOO200 2022-01-08 21:03:11 +01:00
parent 054a73416b
commit 4caf0afb38
3 changed files with 44 additions and 2 deletions

42
COMPILING.md Normal file
View File

@ -0,0 +1,42 @@
Compiling
=========
You can compile WorldGuard as long as you have some version of Java greater than or equal to 16 installed. Gradle will download JDK 16 specifically if needed,
but it needs some version of Java to bootstrap from.
Note that if you have JRE 16 installed, Gradle will currently attempt to use that to compile, which will not work. It is easiest to uninstall JRE 16 and
replace it with JDK 16.
The build process uses Gradle, which you do *not* need to download. WorldGuard is a multi-module project with four modules:
* `worldguard-core` contains the WorldGuard API
* `worldguard-bukkit` is the Bukkit plugin
* `worldguard-libs` contains library relocations
## To compile...
### On Windows
1. Shift + right click the folder with WorldGuard's files and click "Open command prompt".
2. `gradlew build`
### On Linux, BSD, or Mac OS X
1. In your terminal, navigate to the folder with WorldGuard's files (`cd /folder/of/worldguard/files`)
2. `./gradlew build`
## Then you will find...
You will find:
* The core WorldGuard API in **worldguard-core/build/libs**
* WorldGuard for Bukkit in **worldguard-bukkit/build/libs**
If you want to use WorldGuard, use the `-dist` version.
(The -dist version includes WorldGuard + necessary libraries.)
## Other commands
* `gradlew idea` will generate an [IntelliJ IDEA](http://www.jetbrains.com/idea/) module for each folder.
* `gradlew eclipse` will generate an [Eclipse](https://www.eclipse.org/downloads/) project for each folder.

View File

@ -7,7 +7,7 @@ ask that you make note of the following guidelines.
* **Follow the [Oracle coding conventions](https://www.oracle.com/technetwork/java/javase/documentation/codeconvtoc-136057.html).** * **Follow the [Oracle coding conventions](https://www.oracle.com/technetwork/java/javase/documentation/codeconvtoc-136057.html).**
We can't stress this enough; if your code has notable issues, it may delay We can't stress this enough; if your code has notable issues, it may delay
the process significantly. the process significantly.
* **Target Java 8 for source and compilation.** Make sure to mark methods with * **Target Java 16 for source and compilation.** Make sure to mark methods with
` @Override` that override methods of parent classes, or that implement ` @Override` that override methods of parent classes, or that implement
methods of interfaces. methods of interfaces.
* **Use only spaces for indentation.** Our indents are 4-spaces long, and tabs * **Use only spaces for indentation.** Our indents are 4-spaces long, and tabs

View File

@ -23,7 +23,7 @@ A Bukkit server implementation (such as [Paper](https://papermc.io)) and the [Wo
Compiling Compiling
--------- ---------
The project is written for Java 17 and our build process makes use of The project is written for Java 16 and our build process makes use of
[Gradle](http://gradle.org). [Gradle](http://gradle.org).
Dependencies are automatically handled by Gradle. Dependencies are automatically handled by Gradle.