From e65d20be79ce90906e3c038acb8aac7990411e5b Mon Sep 17 00:00:00 2001
From: comp500 <comp500@users.noreply.github.com>
Date: Sat, 8 Jun 2019 02:05:43 +0100
Subject: [PATCH] Add some command line params

---
 .../link/infra/packwiz/installer/Main.java    | 12 +++++++++
 .../packwiz/installer/UpdateManager.java      | 27 ++++++-------------
 2 files changed, 20 insertions(+), 19 deletions(-)

diff --git a/src/main/java/link/infra/packwiz/installer/Main.java b/src/main/java/link/infra/packwiz/installer/Main.java
index 8d8b681..de253ad 100644
--- a/src/main/java/link/infra/packwiz/installer/Main.java
+++ b/src/main/java/link/infra/packwiz/installer/Main.java
@@ -94,6 +94,16 @@ public class Main {
 			uOptions.side = UpdateManager.Options.Side.from(side);
 		}
 
+		String packFolder = cmd.getOptionValue("pack-folder");
+		if (packFolder != null) {
+			uOptions.packFolder = packFolder;
+		}
+
+		String metaFile = cmd.getOptionValue("meta-file");
+		if (metaFile != null) {
+			uOptions.manifestFile = metaFile;
+		}
+
 		try {
 			uOptions.downloadURI = new URI(unparsedArgs[0]);
 		} catch (URISyntaxException e) {
@@ -122,6 +132,8 @@ public class Main {
 	public static void addNonBootstrapOptions(Options options) {
 		options.addOption("s", "side", true, "Side to install mods from (client/server, defaults to client)");
 		options.addOption(null, "title", true, "Title of the installer window");
+		options.addOption(null, "pack-folder", true, "Folder to install the pack to (defaults to the JAR directory)");
+		options.addOption(null, "meta-file", true, "JSON file to store pack metadata, relative to the pack folder (defaults to packwiz.json)");
 	}
 	
 	// TODO: link these somehow so they're only defined once?
diff --git a/src/main/java/link/infra/packwiz/installer/UpdateManager.java b/src/main/java/link/infra/packwiz/installer/UpdateManager.java
index 446c266..b758335 100644
--- a/src/main/java/link/infra/packwiz/installer/UpdateManager.java
+++ b/src/main/java/link/infra/packwiz/installer/UpdateManager.java
@@ -8,8 +8,9 @@ public class UpdateManager {
 	public final IUserInterface ui;
 
 	public static class Options {
-		public URI downloadURI;
-		public String manifestFile = "packwiz.json";
+		public URI downloadURI = null;
+		public String manifestFile = "packwiz.json"; // TODO: make configurable
+		public String packFolder = ".";
 		public Side side = Side.CLIENT;
 
 		public static enum Side {
@@ -66,23 +67,11 @@ public class UpdateManager {
 	}
 
 	protected void start() {
+		this.checkOptions();
 		ui.submitProgress(new InstallProgress("Loading pack file..."));
-		try {
-			Thread.sleep(1000);
-		} catch (InterruptedException e) {
-			// Big oof
-		}
-		ui.submitProgress(new InstallProgress("Loading metadata", 1, 2));
-		try {
-			Thread.sleep(1000);
-		} catch (InterruptedException e) {
-			// Big oof
-		}
-		ui.submitProgress(new InstallProgress("Loading magic", 2, 2));
-		try {
-			Thread.sleep(1000);
-		} catch (InterruptedException e) {
-			// Big oof
-		}
+	}
+
+	protected void checkOptions() {
+		// TODO: implement
 	}
 }