diff --git a/COMPILING.md b/COMPILING.md new file mode 100644 index 00000000..1f8fec1a --- /dev/null +++ b/COMPILING.md @@ -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. diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 61233c12..bad04ce6 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -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).** We can't stress this enough; if your code has notable issues, it may delay 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 methods of interfaces. * **Use only spaces for indentation.** Our indents are 4-spaces long, and tabs diff --git a/README.md b/README.md index 0f15eee9..9fca3721 100644 --- a/README.md +++ b/README.md @@ -23,7 +23,7 @@ A Bukkit server implementation (such as [Paper](https://papermc.io)) and the [Wo 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). Dependencies are automatically handled by Gradle.