mirror of
https://github.com/packwiz/packwiz-installer.git
synced 2025-04-19 21:16:30 +02:00
55 lines
1.9 KiB
Java
55 lines
1.9 KiB
Java
package link.infra.packwiz.installer;
|
|
|
|
import javax.swing.JOptionPane;
|
|
import javax.swing.UIManager;
|
|
|
|
import org.apache.commons.cli.CommandLine;
|
|
import org.apache.commons.cli.CommandLineParser;
|
|
import org.apache.commons.cli.DefaultParser;
|
|
import org.apache.commons.cli.Options;
|
|
import org.apache.commons.cli.ParseException;
|
|
|
|
public class Main {
|
|
|
|
// Actual main() is in RequiresBootstrap!
|
|
|
|
public Main(String[] args) {
|
|
Options options = new Options();
|
|
addNonBootstrapOptions(options);
|
|
addBootstrapOptions(options);
|
|
|
|
CommandLineParser parser = new DefaultParser();
|
|
CommandLine cmd = null;
|
|
try {
|
|
cmd = parser.parse(options, args);
|
|
} catch (ParseException e) {
|
|
e.printStackTrace();
|
|
try {
|
|
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
|
|
} catch (Exception e1) {
|
|
// Ignore the exceptions, just continue using the ugly L&F
|
|
}
|
|
JOptionPane.showMessageDialog(null, e.getMessage(), "packwiz-installer", JOptionPane.ERROR_MESSAGE);
|
|
System.exit(1);
|
|
}
|
|
|
|
System.out.println("Hello World!");
|
|
}
|
|
|
|
// Called by packwiz-installer-bootstrap to set up the help command
|
|
public static void addNonBootstrapOptions(Options options) {
|
|
//options.addOption("w", "welp", false, "Testing options");
|
|
}
|
|
|
|
// TODO: link these somehow so they're only defined once?
|
|
private static void addBootstrapOptions(Options options) {
|
|
options.addOption(null, "bootstrap-update-url", true, "Github API URL for checking for updates");
|
|
options.addOption(null, "bootstrap-update-token", true, "Github API Access Token, for private repositories");
|
|
options.addOption(null, "bootstrap-no-update", false, "Don't update packwiz-installer");
|
|
options.addOption(null, "bootstrap-main-jar", true, "Location of the packwiz-installer JAR file");
|
|
options.addOption("g", "no-gui", false, "Don't display a GUI to show update progress");
|
|
options.addOption("h", "help", false, "Display this message");
|
|
}
|
|
|
|
}
|