static AutogenSettings build()

in java/com/google/cloud/deploymentmanager/autogen/cli/AutogenSettings.java [115:146]


  static AutogenSettings build(String[] args) throws ParseException {
    Options options = buildCommandOptions();
    CommandLineParser parser = new DefaultParser();
    CommandLine cmd = parser.parse(options, args);

    if (cmd.hasOption(OPTION_HELP)) {
      printUsage(options);
      System.exit(0);
    }

    validateCliOptions(cmd);

    AutogenSettings settings = new AutogenSettings();

    if (cmd.hasOption(OPTION_SINGLE_INPUT)) {
      settings.input = cmd.getOptionValue(OPTION_SINGLE_INPUT, settings.input);
      settings.singleMode = true;
    }
    if (cmd.hasOption(OPTION_BATCH_INPUT)) {
      settings.input = cmd.getOptionValue(OPTION_BATCH_INPUT, settings.input);
      settings.singleMode = false;
    }
    settings.output = cmd.getOptionValue(OPTION_OUTPUT, settings.output);
    settings.inputType =
        InputType.valueOf(cmd.getOptionValue(OPTION_INPUT_TYPE, settings.inputType.name()));
    settings.outputType =
        OutputType.valueOf(cmd.getOptionValue(OPTION_OUTPUT_TYPE, settings.outputType.name()));
    settings.excludeSharedSupportFiles = cmd.hasOption(OPTION_EXCLUDE_SHARED_SUPPORT_FILES);
    settings.devFeaturesEnabled = cmd.hasOption(OPTION_DEV_FEATURES);

    return settings;
  }