Adds various fixes to make the two java versions work as expected
Makes it possible to load a controller without generating a GUI, for better testing Makes sure not to try and parse empty profile lines Saves controller settings in a more readable and appendable format Adds code for using the correct java version for the occasion Adds a new function for writing to files
This commit is contained in:
@ -1,6 +1,7 @@
|
||||
package net.knarcraft.minecraftserverlauncher.utility;
|
||||
|
||||
import net.knarcraft.minecraftserverlauncher.Main;
|
||||
import net.knarcraft.minecraftserverlauncher.profile.ServerLauncherController;
|
||||
import net.knarcraft.minecraftserverlauncher.server.ServerVersionContainer;
|
||||
import net.knarcraft.minecraftserverlauncher.userinterface.GUI;
|
||||
|
||||
@ -21,18 +22,21 @@ public class JarBuilder {
|
||||
private final String jarDirectory;
|
||||
private final ServerVersionContainer versionContainer;
|
||||
private final GUI gui;
|
||||
private final String javaCommand;
|
||||
|
||||
/**
|
||||
* Instantiates a new jar builder
|
||||
*
|
||||
* @param buildDirectory <p>The directory containing BuildTool files</p>
|
||||
* @param jarDirectory <p>The directory containing downloaded .jar files</p>
|
||||
* @param gui <p>The GUI to write messages to</p>
|
||||
* @param jarDirectory <p>The directory containing downloaded .jar files</p>
|
||||
* @param gui <p>The GUI to write messages to</p>
|
||||
*/
|
||||
public JarBuilder(String buildDirectory, String jarDirectory, GUI gui) {
|
||||
this.buildDirectory = buildDirectory;
|
||||
this.jarDirectory = jarDirectory;
|
||||
this.gui = gui;
|
||||
this.versionContainer = ServerVersionContainer.getInstance();
|
||||
this.javaCommand = ServerLauncherController.getInstance().getJavaCommand();
|
||||
}
|
||||
|
||||
/**
|
||||
@ -40,7 +44,7 @@ public class JarBuilder {
|
||||
*/
|
||||
public void buildSpigotJar() {
|
||||
downloadBuildTools();
|
||||
ProcessBuilder processBuilder = new ProcessBuilder("java", "-jar", "BuildTools.jar", "--rev",
|
||||
ProcessBuilder processBuilder = new ProcessBuilder(javaCommand, "-jar", "BuildTools.jar", "--rev",
|
||||
"latest", "--output-dir", jarDirectory);
|
||||
if (executeBuildProcess(processBuilder) && moveBuiltJar("spigot-", "SpigotLatest.jar")) {
|
||||
gui.setStatus("Finished moving spigot.jar");
|
||||
@ -52,7 +56,7 @@ public class JarBuilder {
|
||||
*/
|
||||
public void buildBukkitJar() {
|
||||
downloadBuildTools();
|
||||
ProcessBuilder processBuilder = new ProcessBuilder("java", "-jar", "BuildTools.jar", "--compile",
|
||||
ProcessBuilder processBuilder = new ProcessBuilder(javaCommand, "-jar", "BuildTools.jar", "--compile",
|
||||
"craftbukkit", "--rev", "latest", "--output-dir", jarDirectory);
|
||||
if (executeBuildProcess(processBuilder) && moveBuiltJar("craftbukkit-", "BukkitLatest.jar")) {
|
||||
gui.setStatus("Finished moving craftbukkit.jar");
|
||||
@ -84,8 +88,9 @@ public class JarBuilder {
|
||||
|
||||
/**
|
||||
* Moves a built .jar file to its target file
|
||||
*
|
||||
* @param searchString <p>The start of the name of the built file used to find it</p>
|
||||
* @param newName <p>The new name of the built file</p>
|
||||
* @param newName <p>The new name of the built file</p>
|
||||
* @return <p>True if the .jar file was moved successfully</p>
|
||||
*/
|
||||
private boolean moveBuiltJar(String searchString, String newName) {
|
||||
@ -108,6 +113,7 @@ public class JarBuilder {
|
||||
|
||||
/**
|
||||
* Starts the build process and initializes
|
||||
*
|
||||
* @param processBuilder <p>The process builder to execute</p>
|
||||
* @return <p>True if the process exited successfully</p>
|
||||
*/
|
||||
@ -141,6 +147,7 @@ public class JarBuilder {
|
||||
|
||||
/**
|
||||
* Gets the latest build tools version available
|
||||
*
|
||||
* @return <p>The latest build tools version available</p>
|
||||
* @throws IOException <p>If unable to read the version file</p>
|
||||
*/
|
||||
|
Reference in New Issue
Block a user