Example #1
0
int main(int argc, char *argv[])
{

    boost::program_options::options_description options_description("Builder usage");
	options_description.add_options()
		("help", "Display this message")
		("version", "Displays version number")
		("input-path,i", boost::program_options::value<std::string>(), "Path to directory with sources")
		("output-path,o", boost::program_options::value<std::string>(), "Path to output directory (repository)")
		("extension-path,e", boost::program_options::value<std::string>(), "Path to extensions directory")
		("clear-output,c", "Clear output directory (repository) before build")
		("settings,s", boost::program_options::value<std::string>(), "Path to configuration file for sc-memory")
		("auto-formats,f", "Enable automatic formats info generation")
		("show-filenames,v", "Enable processing filnames printing");

    boost::program_options::variables_map vm;
    boost::program_options::store(boost::program_options::command_line_parser(argc, argv).options(options_description).run(), vm);
    boost::program_options::notify(vm);

    if (vm.count("help") || !vm.count("input-path") || !vm.count("output-path"))
    {
        std::cout << options_description;
        return 0;
    }

    BuilderParams params;
    params.clearOutput = false;
    params.autoFormatInfo = false;

    if (vm.count("input-path"))
        params.inputPath = vm["input-path"].as<std::string>();

    if (vm.count("output-path"))
        params.outputPath = vm["output-path"].as<std::string>();

    if (vm.count("extension-path"))
        params.extensionsPath = vm["extension-path"].as<std::string>();

    if (vm.count("clear-output"))
        params.clearOutput = true;

    if (vm.count("auto-formats"))
        params.autoFormatInfo = true;

    if (vm.count("settings"))
        params.configFile = vm["settings"].as<std::string>();

	if (vm.count("show-filenames"))
		params.showFileNames = true;

    Builder builder;
    builder.initialize();
    builder.run(params);

    return builder.hasErrors() ? EXIT_SUCCESS : EXIT_FAILURE;
}
Example #2
0
    void
    parse_mdstore_config_()
    {
        po::variables_map vm;
        auto opt = ::youtils::get_option<volumedriver::MetaDataBackendType,
                                         volumedrivertest::metadata_options_t>(mdstore_type_);

        parse_unparsed_options(opt->options_description(),
                               yt::AllowUnregisteredOptions::T,
                               vm);

        opt->actions();
    }
Example #3
0
int main(int argc, char* argv[]) {
  namespace po = boost::program_options;

  try {
    po::options_description options_description("Options");
    options_description.add_options()
      ("help,h",                                  "Output this help")
      ("dailysst-file", po::value<std::string>(), "DAILYSST file")
      ("output-file,o", po::value<std::string>(), "Output file")
      ("verbose,v",                               "Verbose level");

    po::positional_options_description positional_options_description;
    positional_options_description.add("dailysst-file", 1);
    positional_options_description.add("output-file",   1);

    po::variables_map variables_map;
    po::store(
        po::command_line_parser(argc, argv)
          .options(options_description)
          .positional(positional_options_description)
          .run(), variables_map);
    po::notify(variables_map);

    if (variables_map.count("help")) {
      std::cout
          << "Usage:\n"
          << "  "
          << argv[0]
          << " DAILYSST_FILE -o OUTPUT_FILE\n"
          << "\n"
          << options_description;
      return 0;
    }

    application app(
        variables_map["dailysst-file"].as<std::string>(),
        variables_map["output-file"].as<std::string>(),
        variables_map.count("verbose") > 0 ? &std::cout : 0);
    app.run();

    return 0;
  } catch (std::exception const& e) {
    std::cerr << e.what() << "\n";
  }
  return 1;
}