Add new build preparation script

This commit is contained in:
md678685 2019-01-01 15:10:59 +00:00
parent 502d37b574
commit 437be593b9
4 changed files with 58 additions and 16 deletions

1
.gitignore vendored
View file

@ -39,6 +39,7 @@
/jars
/out
.idea/
.buildtools/
*.iml
*.classpath
*.project

View file

@ -1,20 +1,9 @@
language: java
branches:
only:
- 2.x
- 1.13
cache:
directories:
- .buildtools
- $HOME/.m2
before_install:
- mkdir -p .buildtools
- cd .buildtools
- wget -O BuildTools.jar https://hub.spigotmc.org/jenkins/job/BuildTools/lastSuccessfulBuild/artifact/target/BuildTools.jar
- rm -r work/
- java -jar BuildTools.jar --rev 1.8
- java -jar BuildTools.jar --rev 1.8.3
- cd ..
- scripts/buildtools.sh

View file

@ -24,7 +24,7 @@ EssentialsX is almost a completely drop-in replacement for Essentials. However,
* **If you have an unsupported permissions plugin but still wish to use wildcards, enable `use-bukkit-permissions` in the configuration.** Otherwise, the plugin will fall back to config-based permissions.
* **EssentialsX requires Java 8 or higher.** On older versions, the plugin may not work properly.
* **EssentialsX requires Java 8 or higher.** On older versions, the plugin may not work properly.
* **EssentialsX supports Minecraft versions 1.8.8, 1.9.4, 1.10.2, 1.11.2 and 1.12.2.** Support for 1.13.2 is coming soon.
@ -41,7 +41,8 @@ Building
--------
EssentialsX builds against the Spigot/CraftBukkit server software for legacy support.
To compile EssentialsX, you first need to run [BuildTools](https://www.spigotmc.org/wiki/buildtools) several times:
To compile EssentialsX, you first need to run [BuildTools](https://www.spigotmc.org/wiki/buildtools).
This can be done using the provided script at `scripts/buildtools.sh` which downloads and runs BuildTools automatically, or you can manually install the required versions with the following commands:
```
java -jar BuildTools.jar --rev 1.8
@ -53,7 +54,7 @@ Then, to build with Maven, run the following command:
mvn clean install
```
Each module's jar can be found in `target/` inside each module's directory.
Each module's jar can be found in `target/` inside each module's directory.
Contributing
@ -64,7 +65,7 @@ Want to help improve EssentialsX? There are numerous ways you can contribute to
If you'd like to make a financial contribution to the project, you can join our [Patreon](https://www.patreon.com/essentialsx/).
If you can't make a donation, don't worry! There's lots of other ways to contribute:
* Do you run a server? Take a look at our ["help wanted" issues](https://github.com/EssentialsX/Essentials/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22),
* Do you run a server? Take a look at our ["help wanted" issues](https://github.com/EssentialsX/Essentials/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22),
where you can find issues that need extra testing and investigation. You can also join the [MOSS Discord community](https://discord.gg/casfFyh)
and provide support to others.
* Do you speak multiple languages? If so, we always welcome pull requests to our [language files](https://essentialsx.github.io/#/Locale).

51
scripts/buildtools.sh Normal file
View file

@ -0,0 +1,51 @@
#!/bin/bash
mkdir -p .buildtools
pushd .buildtools
is_installed() {
mvn dependency:get -q -Dartifact=$1 -DremoteRepositories=file://$HOME/.m2/repository 1>/dev/null 2>&1
return $?
}
ensure_buildtools() {
if [ ! -f "BuildTools.jar" ]; then
echo "Downloading BuildTools..."
wget -O BuildTools.jar https://hub.spigotmc.org/jenkins/job/BuildTools/lastSuccessfulBuild/artifact/target/BuildTools.jar
fi
}
run_buildtools() {
ensure_buildtools
java -jar BuildTools.jar --rev $1
if [ $? -ne 0 ]; then
echo "Running BuildTools for CB $1 failed! Aborting."
popd
exit 255
else
echo "Successfully built version $1"
fi
}
# Check CB 1.8
is_installed org.bukkit:craftbukkit:1.8-R0.1-SNAPSHOT
is_18=$? # 0 = present, 1 = not present
# Check CB 1.8.3
is_installed org.bukkit:craftbukkit:1.8.3-R0.1-SNAPSHOT
is_183=$?
if [ $is_18 -ne 0 ]; then
echo "Installing CraftBukkit 1.8..."
run_buildtools 1.8
else
echo "CraftBukkit 1.8 installed; skipping BuildTools..."
fi
if [ $is_183 -ne 0 ]; then
echo "Installing CraftBukkit 1.8.3..."
run_buildtools 1.8.3
else
echo "CraftBukkit 1.8.3 installed; skipping BuildTools..."
fi
popd