Exemplo n.º 1
0
  public static void execCommandArgs(String[] args) {
    JSAP jsap = new JSAP();
    final String update = "up";
    final String help = "help";
    final String prozess = "tex";
    final String outout = "out";
    final String src = "src";

    try {

      Switch swHelp = new Switch(help);
      swHelp.setShortFlag('h');
      swHelp.setLongFlag("help");
      swHelp.setHelp("Show this.");

      jsap.registerParameter(swHelp);

      Switch swUpdate = new Switch(update);
      swUpdate.setShortFlag('u');
      swUpdate.setLongFlag("update");
      swUpdate.setHelp("Updates from Remote");

      jsap.registerParameter(swUpdate);

      Switch swTex = new Switch(prozess);
      swTex.setShortFlag('t');
      swTex.setLongFlag("transform");
      swTex.setHelp("starts transform to tex");

      jsap.registerParameter(swTex);

      FlaggedOption optOut = new FlaggedOption(outout);
      optOut.setStringParser(JSAP.STRING_PARSER);
      optOut.setDefault(DEFAULT_OUTPUT_FOLDER + "/Songbook.tex");
      optOut.setRequired(false);
      optOut.setShortFlag('o');
      optOut.setLongFlag("output");
      optOut.setHelp("Filename for output");

      jsap.registerParameter(optOut);

      FlaggedOption optSrc = new FlaggedOption(src);
      optSrc.setStringParser(JSAP.STRING_PARSER);
      optSrc.setDefault(DEFAULT_DATA_FOLDER);
      optSrc.setRequired(false);
      optSrc.setShortFlag('s');
      optSrc.setLongFlag("src");
      optSrc.setHelp("input folder");

      jsap.registerParameter(optSrc);

      if (false) {
        final String style = "style";
        FlaggedOption optStyle = new FlaggedOption(style);
        optStyle.setStringParser(JSAP.STRING_PARSER);
        optStyle.setDefault(getDefault());
        optStyle.setRequired(false);
        optStyle.setShortFlag('y');
        optStyle.setLongFlag("style");

        jsap.registerParameter(optStyle);
      }

    } catch (JSAPException e) {
      throw new IllegalStateException(e);
    }
    JSAPResult config = jsap.parse(args);
    if (config.getBoolean("help") || !config.success() || !config.getBoolean(prozess)) {
      // TODO jar name/ package
      System.out.println("Usage: java -jar " + "??????.jar " + jsap.getUsage());

      System.out.println();
      System.out.println(jsap.getHelp());
      System.out.println();
    }

    if (config.getBoolean(update)) {
      updater.update();
    }
    if (config.getBoolean(prozess)) {
      File sourceDir = new File(config.getString(src));
      if (!sourceDir.isDirectory()) {
        System.out.println("No songs. Please update; " + sourceDir.getAbsolutePath());
      } else {
        processSongs(config.getString(src), config.getString(outout));
      }
    }
  }