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

@ -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

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