List of usage examples for org.apache.commons.cli OptionGroup addOption
public OptionGroup addOption(Option option)
Option
to this group. From source file:com.ericsson.eiffel.remrem.publish.cli.CliOptions.java
private static OptionGroup createContentGroup() { OptionGroup group = new OptionGroup(); group.addOption(createFileOption()); group.addOption(createJsonOption()); return group; }
From source file:co.cask.cdap.cli.CLIMain.java
private static void addOptionalOption(Options options, Option option) { OptionGroup optionalGroup = new OptionGroup(); optionalGroup.setRequired(false);/*from w ww.j a v a2s. c o m*/ optionalGroup.addOption(option); options.addOptionGroup(optionalGroup); }
From source file:com.springrts.springls.CmdLineArgs.java
private static Options createOptions() { Configuration defaults = ServerConfiguration.getDefaults(); Options options = new Options(); Option help = new Option(null, "help", false, "Print this help message."); options.addOption(help);//from ww w . j av a2 s. co m Option port = new Option("p", "port", true, String.format("The main (TCP) port number to host on [1, 65535]." + " The default is %d.", defaults.getInt(ServerConfiguration.PORT))); // possible types: // * File.class // * Number.class // * Class.class // * Object.class // * Url.class port.setType(Number.class); port.setArgName("port-number"); options.addOption(port); Option statistics = new Option(null, "statistics", false, "Whether to create and save statistics to disc on predefined" + " intervals."); options.addOption(statistics); Option natPort = new Option("n", "nat-port", true, String.format( "The (UDP) port number to host the NAT traversal techniques" + " help service on [1, 65535], which lets clients detect their" + " source port, for example when using \"hole punching\"." + " The default is %d.", defaults.getInt(ServerConfiguration.NAT_PORT))); port.setType(Number.class); natPort.setArgName("NAT-port-number"); options.addOption(natPort); Option logMain = new Option(null, "log-main", false, String.format("Whether to log all conversations from channel #main to \"%s\"", Channel.createDefaultActivityLogFilePath("main").getPath())); options.addOption(logMain); Option lanAdmin = new Option(null, "lan-admin", true, String.format( "The LAN mode admin account. Use this account to administer" + " your LAN server. The default is \"%s\", with password \"%s\".", defaults.getString(ServerConfiguration.LAN_ADMIN_USERNAME), defaults.getString(ServerConfiguration.LAN_ADMIN_PASSWORD))); lanAdmin.setArgName("username"); options.addOption(lanAdmin); Option loadArgs = new Option(null, "load-args", true, "Will read command-line arguments from the specified file." + " You can freely combine actual command-line arguments with" + " the ones from the file. If duplicate args are specified," + " the last one will prevail."); loadArgs.setArgName("filename"); port.setType(File.class); options.addOption(loadArgs); Option springVersion = new Option(null, "spring-version", true, "Will set the latest Spring version to this string." + " The default is \"*\". This is used to tell clients which" + " version is the latest one, so that they know when to" + " update."); springVersion.setArgName("version"); options.addOption(springVersion); Option useStorageDb = new Option(null, "database", false, "Use a DB for user accounts and ban entries." + " This disables \"LAN mode\"."); options.addOption(useStorageDb); Option useStorageFile = new Option(null, "file-storage", false, "Use the (deprecated) accounts.txt for user accounts." + " This disables \"LAN mode\"."); options.addOption(useStorageFile); OptionGroup storageOG = new OptionGroup(); storageOG.addOption(useStorageDb); storageOG.addOption(useStorageFile); options.addOptionGroup(storageOG); return options; }
From source file:io.github.eternalbits.compactvd.CompactVD.java
private static Options buildOptions() { Options options = new Options(); OptionGroup source = new OptionGroup(); source.addOption(Option.builder("i").longOpt("inplace").desc("compact <src> image file in place").hasArgs() .argName("src").build()); source.addOption(Option.builder("c").longOpt("copy").desc("copy <src> to a new, optimized image").hasArgs() .argName("src").build()); source.addOption(Option.builder("d").longOpt("dump").desc("print <src> disk image details").hasArgs() .argName("src").build()); source.setRequired(true);/* w ww . j a v a 2 s. co m*/ options.addOptionGroup(source); options.addOptionGroup(new OptionGroup() .addOption(Option.builder("u").longOpt("drop-unused") .desc("drop space not in use by system and files").build()) .addOption(Option.builder("U").longOpt("keep-unused") .desc("keep space not in use by system and files").build())); options.addOptionGroup(new OptionGroup() .addOption(Option.builder("z").longOpt("drop-zeroed").desc("drop space filled with zeros").build()) .addOption( Option.builder("Z").longOpt("keep-zeroed").desc("keep space filled with zeros").build())); options.addOption(Option.builder("w").longOpt("write").desc("set <out> as destination file for copy") .hasArgs().argName("out").build()); options.addOption(Option.builder("f").longOpt("format") .desc("copy output format: VDI, VMDK, VHD or IMG|RAW").hasArgs().argName("fmt").build()); options.addOption(Option.builder("o").longOpt("overwrite").desc("overwrite existing file on copy").build()); options.addOption(Option.builder("v").longOpt("verbose").desc("explain what is being done").build()); return options; }
From source file:com.sindicetech.siren.demo.loader.Loader.java
private static Options buildOptions() { Options options = new Options(); // input file name and help are exclusive OptionGroup fileHelpGroup = new OptionGroup(); fileHelpGroup.setRequired(true);/*from w w w.j a v a 2 s . c o m*/ fileHelpGroup .addOption(OptionBuilder.hasArgs(1).hasOptionalArgs(20).withArgName("file or/and folder name[s]") .withDescription("JSON file[s] or/and director(y|ies) with JSON files (max 20)") .withLongOpt(INPUT_FILE_OPT_LONG).isRequired().create(INPUT_FILE_OPT)); fileHelpGroup.addOption(OptionBuilder.withDescription("prints help and exits").create(HELP_OPT)); options.addOptionGroup(fileHelpGroup); options.addOption(OptionBuilder.hasArgs(1).withArgName("Solr URL") .withDescription("Solr URL (default=" + DEFAULT_SOLR_URL + ")").withLongOpt(URL_OPT_LONG) .isRequired(false).create(URL_OPT)); // options.addOption(OptionBuilder // .hasArgs(1) // .withArgName("batch size") // .withDescription( // "number of documents sent to Solr in one request, max " + MAX_BATCH_SIZE + " (default=" // + DEFAULT_BATCH_SIZE + ")").withLongOpt(BATCH_OPT_LONG).isRequired(false) // .create(BATCH_OPT)); options.addOption(OptionBuilder .withDescription("load all files in directories, not only files with JSON file extension") .withLongOpt(NO_EXT_CHECK_OPT_LONG).isRequired(false).create(NO_EXT_CHECK_OPT)); options.addOption( OptionBuilder.withDescription("JSON file extension (default=" + DEFAULT_JSON_EXTENSION + ")") .withLongOpt(EXT_OPT_LONG).isRequired(false).create(EXT_OPT)); options.addOption(OptionBuilder.withDescription("commit after each file, (default=false)") .withLongOpt(COMMIT_EACH_LONG).isRequired(false).create(COMMIT_EACH_OPT)); return options; }
From source file:com.linkedin.helix.examples.BootstrapProcess.java
@SuppressWarnings("static-access") private static Options constructCommandLineOptions() { Option helpOption = OptionBuilder.withLongOpt(help).withDescription("Prints command-line options info") .create();// w w w . j a v a2s . c o m Option zkServerOption = OptionBuilder.withLongOpt(zkServer).withDescription("Provide zookeeper address") .create(); zkServerOption.setArgs(1); zkServerOption.setRequired(true); zkServerOption.setArgName("ZookeeperServerAddress(Required)"); Option clusterOption = OptionBuilder.withLongOpt(cluster).withDescription("Provide cluster name").create(); clusterOption.setArgs(1); clusterOption.setRequired(true); clusterOption.setArgName("Cluster name (Required)"); Option hostOption = OptionBuilder.withLongOpt(hostAddress).withDescription("Provide host name").create(); hostOption.setArgs(1); hostOption.setRequired(true); hostOption.setArgName("Host name (Required)"); Option portOption = OptionBuilder.withLongOpt(hostPort).withDescription("Provide host port").create(); portOption.setArgs(1); portOption.setRequired(true); portOption.setArgName("Host port (Required)"); Option stateModelOption = OptionBuilder.withLongOpt(stateModel).withDescription("StateModel Type").create(); stateModelOption.setArgs(1); stateModelOption.setRequired(true); stateModelOption.setArgName("StateModel Type (Required)"); // add an option group including either --zkSvr or --configFile Option fileOption = OptionBuilder.withLongOpt(configFile) .withDescription("Provide file to read states/messages").create(); fileOption.setArgs(1); fileOption.setRequired(true); fileOption.setArgName("File to read states/messages (Optional)"); Option transDelayOption = OptionBuilder.withLongOpt(transDelay).withDescription("Provide state trans delay") .create(); transDelayOption.setArgs(1); transDelayOption.setRequired(false); transDelayOption.setArgName("Delay time in state transition, in MS"); OptionGroup optionGroup = new OptionGroup(); optionGroup.addOption(zkServerOption); optionGroup.addOption(fileOption); Options options = new Options(); options.addOption(helpOption); // options.addOption(zkServerOption); options.addOption(clusterOption); options.addOption(hostOption); options.addOption(portOption); options.addOption(stateModelOption); options.addOption(transDelayOption); options.addOptionGroup(optionGroup); return options; }
From source file:com.tvh.gmaildrafter.Drafter.java
private static Options getCMDLineOptions() { /*/*w ww. j av a2 s . c om*/ * Create the command line options */ Options options = new Options(); options.addOption(new Option("h", "help", false, "Show this help message.")); OptionGroup body = new OptionGroup(); body.addOption(new Option("i", "stdin", false, "Read body text from stdin.")); body.addOption(OptionBuilder.withLongOpt("body").withArgName("filename").hasArg() .withDescription("File containing the body text").create("b")); options.addOptionGroup(body); options.addOption(OptionBuilder.withLongOpt("username").hasArg().withArgName("email address") .withDescription("Your Google Email adress.").create()); options.addOption(OptionBuilder.withLongOpt("password").hasArg().withArgName("google password") .withDescription( "Your Google password (caution: providing this on the commandline can be a security problem).") .create()); options.addOption(OptionBuilder.withLongOpt("subject").withArgName("text").hasArg() .withDescription("Subject of the mail").create("s")); options.addOption(OptionBuilder.withLongOpt("subjectfile").withArgName("filename").hasArg() .withDescription("File containing the subject of the mail (UTF-8)").create()); options.addOption(OptionBuilder.withLongOpt("attachments").hasArgs().withArgName("filename,filename,...") .withValueSeparator(',').withDescription("Attachments").create("a")); options.addOption( OptionBuilder.withLongOpt("attachmentnames").hasArgs().withArgName("filename,filename,...") .withValueSeparator(',').withDescription("Attachment names").create("n")); options.addOption(OptionBuilder.withLongOpt("to").hasArgs().withArgName("foo@bar.com,oof@rab.com,...") .withValueSeparator(',').withDescription("destination").create("t")); options.addOption(new Option("d", "deletebody", false, "Delete bodyfile after sending.")); options.addOption(new Option(null, "deletesubjectfile", false, "Delete subjectfile after sending.")); options.addOption(new Option(null, "immediate", false, "Immediately send, don't open draft first.")); options.addOption(OptionBuilder.withLongOpt("cc").hasArgs().withArgName("foo@bar1.com,foo@rba.com") .withValueSeparator(',').withDescription("cc").create("c")); options.addOption(OptionBuilder.withLongOpt("bcc").hasArgs().withArgName("foo@bar2.com,ofo@bar.com") .withValueSeparator(',').withDescription("bcc").create()); return options; }
From source file:at.favre.tools.dconvert.ui.CLIInterpreter.java
private static Options setupOptions(ResourceBundle bundle) { Options options = new Options(); Option srcOpt = Option.builder(SOURCE_ARG).required().argName("path to file or folder").hasArg(true) .desc(bundle.getString("arg.descr.cmd.src")).build(); Option srcScaleOpt = Option.builder(SCALE_ARG).argName("[float]|[int]dp").hasArg(true) .desc(bundle.getString("arg.descr.cmd.scale")).build(); Option dstOpt = Option.builder(DST_ARG).hasArg(true).argName("path") .desc(bundle.getString("arg.descr.cmd.dst")).build(); Option platform = Option.builder(PLATFORM_ARG).hasArg(true).argName("all|android|ios|win|web") .desc(MessageFormat.format(bundle.getString("arg.descr.cmd.platform"), Arguments.DEFAULT_PLATFORM)) .build();/*from w w w.j av a2 s. c om*/ Option threadCount = Option.builder(THREADS_ARG).argName("1-8").hasArg(true).desc(MessageFormat .format(bundle.getString("arg.descr.cmd.threads"), String.valueOf(Arguments.DEFAULT_THREAD_COUNT))) .build(); Option roundingHandler = Option .builder(ROUNDING_MODE_ARG).argName("round|ceil|floor").hasArg(true).desc(MessageFormat .format(bundle.getString("arg.descr.cmd.rounding"), Arguments.DEFAULT_ROUNDING_STRATEGY)) .build(); Option compression = Option.builder(OUT_COMPRESSION_ARG).hasArg(true).argName("png|jpg|gif|bmp") .desc(bundle.getString("arg.descr.cmd.outcompression")).build(); Option compressionQuality = Option.builder(COMPRESSION_QUALITY_ARG).hasArg(true).argName("0.0-1.0") .desc(MessageFormat.format(bundle.getString("arg.descr.cmd.compression"), String.valueOf(Arguments.DEFAULT_COMPRESSION_QUALITY))) .build(); Option upScalingAlgo = Option.builder(UPSCALING_ALGO_ARG).hasArg(true) .argName(EScalingAlgorithm.getCliArgString(EScalingAlgorithm.Type.UPSCALING)) .desc(MessageFormat.format(bundle.getString("arg.descr.scalingalgo"), Arguments.DEFAULT_PLATFORM)) .build(); Option downScalingAlgo = Option.builder(DOWNSCALING_ALGO_ARG).hasArg(true) .argName(EScalingAlgorithm.getCliArgString(EScalingAlgorithm.Type.DOWNSCALING)) .desc(MessageFormat.format(bundle.getString("arg.descr.scalingalgo"), Arguments.DEFAULT_PLATFORM)) .build(); Option skipExistingFiles = Option.builder(SKIP_EXISTING_ARG) .desc(bundle.getString("arg.descr.skipexisting")).build(); Option androidIncludeLdpiTvdpi = Option.builder("androidIncludeLdpiTvdpi") .desc(bundle.getString("arg.descr.androidmipmap")).build(); Option mipmapInsteadOfDrawable = Option.builder("androidMipmapInsteadOfDrawable") .desc(bundle.getString("arg.descr.androidldpi")).build(); Option iosCreateImagesetFolders = Option.builder("iosCreateImagesetFolders") .desc(bundle.getString("arg.descr.iosimageset")).build(); Option skipUpscaling = Option.builder("skipUpscaling").desc(bundle.getString("arg.descr.skipupscaling")) .build(); Option verboseLog = Option.builder(VERBOSE_ARG).desc(bundle.getString("arg.descr.cmd.verbose")).build(); Option haltOnError = Option.builder("haltOnError").desc(bundle.getString("arg.descr.halterror")).build(); Option antiAliasing = Option.builder("antiAliasing").desc(bundle.getString("arg.descr.antialiasing")) .build(); Option enablePngCrush = Option.builder("postProcessorPngCrush").desc(bundle.getString("arg.descr.pngcrush")) .build(); Option postWebpConvert = Option.builder("postProcessorWebp").desc(bundle.getString("arg.descr.webp")) .build(); Option keepUnPostProcessed = Option.builder("keepOriginalPostProcessedFiles") .desc(bundle.getString("arg.descr.keeporiginal")).build(); Option dpScaleIsHeight = Option.builder(SCALE_IS_HEIGHT_DP_ARG) .desc(bundle.getString("arg.descr.cmd.dpIsHeight")).build(); Option dryRun = Option.builder("dryRun").desc(bundle.getString("arg.descr.dryrun")).build(); Option enableMozJpeg = Option.builder("postProcessorMozJpeg").desc(bundle.getString("arg.descr.mozjpeg")) .build(); Option cleanBeforeConvert = Option.builder("clean").desc(bundle.getString("arg.descr.clean")).build(); Option help = Option.builder("h").longOpt("help").desc(bundle.getString("arg.descr.cmd.help")).build(); Option version = Option.builder("v").longOpt("version").desc(bundle.getString("arg.descr.cmd.version")) .build(); Option gui = Option.builder("gui").desc(bundle.getString("arg.descr.cmd.gui")).build(); OptionGroup mainArgs = new OptionGroup(); mainArgs.addOption(srcOpt).addOption(help).addOption(version).addOption(gui); mainArgs.setRequired(true); options.addOption(srcScaleOpt).addOption(dstOpt); options.addOption(platform).addOption(compression).addOption(compressionQuality).addOption(threadCount) .addOption(roundingHandler).addOption(upScalingAlgo).addOption(downScalingAlgo); options.addOption(skipExistingFiles).addOption(skipUpscaling).addOption(androidIncludeLdpiTvdpi) .addOption(verboseLog).addOption(antiAliasing).addOption(dryRun).addOption(haltOnError) .addOption(mipmapInsteadOfDrawable).addOption(enablePngCrush).addOption(postWebpConvert) .addOption(dpScaleIsHeight).addOption(enableMozJpeg).addOption(keepUnPostProcessed) .addOption(iosCreateImagesetFolders).addOption(cleanBeforeConvert); options.addOptionGroup(mainArgs); return options; }
From source file:net.sourceforge.docfetcher.CommandLineHandler.java
@SuppressWarnings("static-access") private static Options createOptions() { Options options = new Options(); // Windows registry manipulation options OptionGroup registryGroup = new OptionGroup(); registryGroup.addOption(OptionBuilder.withLongOpt(REGISTER_CONTEXTMENU) .withDescription("add search entry to Windows explorer contextmenu").create()); registryGroup.addOption(OptionBuilder.withLongOpt(UNREGISTER_CONTEXTMENU) .withDescription("remove search entry from Windows explorer contextmenu").create()); options.addOptionGroup(registryGroup); // Text extraction options OptionGroup extractGroup = new OptionGroup(); extractGroup.addOption(OptionBuilder.withLongOpt(EXTRACT) .withDescription("extract text from documents to textfile").hasOptionalArgs().create()); extractGroup.addOption(OptionBuilder.withLongOpt(EXTRACT_DIR) .withDescription("extract text from documents to directory").hasOptionalArgs().create()); options.addOptionGroup(extractGroup); // Inclusion and exclusion filter options options.addOption(/*from w ww . j ava2 s . co m*/ OptionBuilder.withLongOpt(INCLUDE).withDescription("regex inclusion filter for text extraction") .hasArg().withArgName(REGEX).create()); options.addOption( OptionBuilder.withLongOpt(EXCLUDE).withDescription("regex exclusion filter for text extraction") .hasArg().withArgName(REGEX).create()); // Version info and help options options.addOption("h", "help", false, "print this help and exit"); options.addOption("v", "version", false, "print version number and exit"); return options; }
From source file:com.github.triceo.robozonky.app.CommandLineInterface.java
/** * Parse the command line./*from ww w . ja v a 2 s . c o m*/ * * @param args Command line arguments as received by {@link App#main(String...)}. * @return Empty if parsing failed, at which point it will write standard help message to sysout. */ public static Optional<CommandLineInterface> parse(final String... args) { // create the mode of operation final OptionGroup operatingModes = new OptionGroup(); operatingModes.setRequired(true); Stream.of(OperatingMode.values()).forEach(mode -> operatingModes.addOption(mode.getSelectingOption())); // find all options from all modes of operation final Collection<Option> ops = Stream.of(OperatingMode.values()).map(OperatingMode::getOtherOptions) .collect(LinkedHashSet::new, LinkedHashSet::addAll, LinkedHashSet::addAll); // include authentication options final OptionGroup authenticationModes = new OptionGroup(); authenticationModes.setRequired(true); authenticationModes.addOption(CommandLineInterface.OPTION_USERNAME); authenticationModes.addOption(CommandLineInterface.OPTION_KEYSTORE); ops.add(CommandLineInterface.OPTION_PASSWORD); ops.add(CommandLineInterface.OPTION_USE_TOKEN); ops.add(CommandLineInterface.OPTION_FAULT_TOLERANT); ops.add(CommandLineInterface.OPTION_CLOSED_SEASON); ops.add(CommandLineInterface.OPTION_ZONK); // join all in a single config final Options options = new Options(); options.addOptionGroup(operatingModes); options.addOptionGroup(authenticationModes); ops.forEach(options::addOption); final CommandLineParser parser = new DefaultParser(); // and parse try { final CommandLine cli = parser.parse(options, args); CommandLineInterface.logOptionValues(cli); return Optional.of(new CommandLineInterface(options, cli)); } catch (final ParseException ex) { CommandLineInterface.printHelp(options, ex.getMessage(), true); return Optional.empty(); } }