[TASK] Seperated library loading

Allowing to load libraries into the environment, seperated from loading the entire environment
This commit is contained in:
JKetelaar
2017-02-03 22:49:34 +01:00
parent 6f18774ce1
commit 3f5aaf42b6
@@ -12,11 +12,9 @@ import java.util.LinkedList;
/** /**
* Initializes the bot environment
* *
* Initiliazes the bot environment * @author Everel, JKetelaar
*
* @author Everel
*
*/ */
public class Environment { public class Environment {
@@ -30,22 +28,33 @@ public class Environment {
LinkedList<Library> libs = new LinkedList<>(); LinkedList<Library> libs = new LinkedList<>();
libs.add(new JavaFX()); libs.add(new JavaFX());
for(Library lib : libs) { for (Library lib : libs) {
if (lib.requiresJar()) { loadLibrary(lib, true);
if (!lib.hasJar()) {
Core.verbose("Downloading " + lib.getLibraryName() + "...");
VerboseLoader.setState("Downloading " + lib.getLibraryName() + "...");
WebUtil.downloadFile(lib.getDownloadLink(), lib.getJarFile(), VerboseLoader.get());
Core.verbose("Downloaded " + lib.getLibraryName() + ".");
}
Core.verbose("Initializing " + lib.getLibraryName());
lib.init();
}
} }
Core.verbose("Loading server: " + desc.toString() + "..."); Core.verbose("Loading server: " + desc.toString() + "...");
ServerParser.SERVER_CACHE.get(desc).run(); ServerParser.SERVER_CACHE.get(desc).run();
}
/**
* Loads library into environment
*
* @param library
* @param verboseLoader defines if verboseLoader should be enabled
*/
public static void loadLibrary(Library library, boolean verboseLoader) {
if (library.requiresJar()) {
if (!library.hasJar()) {
Core.verbose("Downloading " + library.getLibraryName() + "...");
if (verboseLoader) {
VerboseLoader.setState("Downloading " + library.getLibraryName() + "...");
}
WebUtil.downloadFile(library.getDownloadLink(), library.getJarFile(), VerboseLoader.get());
Core.verbose("Downloaded " + library.getLibraryName() + ".");
}
Core.verbose("Initializing " + library.getLibraryName());
library.init();
}
} }
} }