Makes some improvements
All checks were successful
KnarCraft/Minecraft-Server-Launcher/pipeline/head This commit looks good
All checks were successful
KnarCraft/Minecraft-Server-Launcher/pipeline/head This commit looks good
Saves the downloaded BuildTools version to the server version container Adds a check to see whether the BuildTools file exists Adds a helper function for reading local files
This commit is contained in:
@ -1,6 +1,7 @@
|
||||
package net.knarcraft.minecraftserverlauncher.utility;
|
||||
|
||||
import net.knarcraft.minecraftserverlauncher.Main;
|
||||
import net.knarcraft.minecraftserverlauncher.server.ServerVersionContainer;
|
||||
|
||||
import java.io.BufferedReader;
|
||||
import java.io.BufferedWriter;
|
||||
@ -12,13 +13,14 @@ import java.nio.file.Paths;
|
||||
|
||||
public class JarBuilder {
|
||||
|
||||
private String downloadedBuildToolsVersion = "#124";
|
||||
private final String buildDirectory;
|
||||
private final String jarDirectory;
|
||||
private final ServerVersionContainer versionContainer;
|
||||
|
||||
public JarBuilder(String buildDirectory, String jarDirectory) {
|
||||
public JarBuilder(String buildDirectory, String jarDirectory, ServerVersionContainer versionContainer) {
|
||||
this.buildDirectory = buildDirectory;
|
||||
this.jarDirectory = jarDirectory;
|
||||
this.versionContainer = versionContainer;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -26,7 +28,7 @@ public class JarBuilder {
|
||||
*/
|
||||
public void buildSpigotJar() {
|
||||
downloadBuildTools();
|
||||
ProcessBuilder processBuilder = new ProcessBuilder("C:\\Program Files\\Java\\jdk-16.0.1\\bin\\java.exe", "-jar", "BuildTools.jar", "--rev",
|
||||
ProcessBuilder processBuilder = new ProcessBuilder("java", "-jar", "BuildTools.jar", "--rev",
|
||||
"latest", "--output-dir", jarDirectory);
|
||||
executeBuildProcess(processBuilder);
|
||||
System.out.println("Finished building spigot .jar. Moving it to the correct location");
|
||||
@ -39,7 +41,7 @@ public class JarBuilder {
|
||||
*/
|
||||
public void buildBukkitJar() {
|
||||
downloadBuildTools();
|
||||
ProcessBuilder processBuilder = new ProcessBuilder("C:\\Program Files\\Java\\jdk-16.0.1\\bin\\java.exe", "-jar", "BuildTools.jar", "--compile",
|
||||
ProcessBuilder processBuilder = new ProcessBuilder("java", "-jar", "BuildTools.jar", "--compile",
|
||||
"craftbukkit", "--rev", "latest", "--output-dir", jarDirectory);
|
||||
executeBuildProcess(processBuilder);
|
||||
System.out.println("Finished building craftbukkit .jar. Moving it to the correct location");
|
||||
@ -53,11 +55,16 @@ public class JarBuilder {
|
||||
public void downloadBuildTools() {
|
||||
try {
|
||||
String latestVersion = getLatestBuildToolsVersion();
|
||||
if (!latestVersion.equals(downloadedBuildToolsVersion)) {
|
||||
boolean success = CommonFunctions.downloadFile("https://hub.spigotmc.org/jenkins/job/BuildTools/" +
|
||||
"lastSuccessfulBuild/artifact/target/BuildTools.jar", Paths.get(buildDirectory + "BuildTools.jar"));
|
||||
boolean exists = new File(buildDirectory + "BuildTools.jar").exists();
|
||||
boolean isUpdated = latestVersion.equals(versionContainer.getDownloadedBuildToolsVersion());
|
||||
|
||||
if (!exists || !isUpdated) {
|
||||
String buildToolsURL = "https://hub.spigotmc.org/jenkins/job/BuildTools/lastSuccessfulBuild/artifact/target/BuildTools.jar";
|
||||
boolean success = CommonFunctions.downloadFile(buildToolsURL, Paths.get(buildDirectory + "BuildTools.jar"));
|
||||
if (!success) {
|
||||
Main.getController().getGUI().setStatus("Unable to download the latest BuildTools");
|
||||
} else {
|
||||
versionContainer.setDownloadedBuildToolsVersion(latestVersion);
|
||||
}
|
||||
}
|
||||
} catch (IOException e) {
|
||||
@ -120,7 +127,7 @@ public class JarBuilder {
|
||||
*/
|
||||
String getLatestBuildToolsVersion() throws IOException {
|
||||
String versionDocument;
|
||||
versionDocument = CommonFunctions.readFile("https://hub.spigotmc.org/jenkins/job/BuildTools/lastSuccessfulBuild/");
|
||||
versionDocument = CommonFunctions.readRemoteFile("https://hub.spigotmc.org/jenkins/job/BuildTools/lastSuccessfulBuild/");
|
||||
return CommonFunctions.stringBetween(versionDocument, "BuildTools #", " [");
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user