Skip to content

testinfected/cli

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

50 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Build Status Coverage Status

Getting Started

Build yourself (for latest version) using Gradle or Maven, or simply download from Maven Central:

<dependency>
      <groupId>com.vtence.cli</groupId>
      <artifactId>cli</artifactId>
      <version>1.1</version>
</dependency>

First let's define a command line:

CLI cli = new CLI() {{
    name("petstore"); version("1.0");
    description("A web application built without frameworks");

    option("-e", "--environment ENV", "Environment to use for configuration (default: development)").defaultingTo("development");
    option("-h", "--host HOST", "Host address to bind to (default: 0.0.0.0)").defaultingTo("0.0.0.0");
    option("-p", "--port PORT", "Port to listen on (default: 8080)").ofType(int.class).defaultingTo(8080);
    option("--timeout SECONDS", "Session timeout in seconds (default: 15 min)").ofType(int.class).defaultingTo(900);
    flag("-q", "--quiet", "Operate quietly");
    flag("-h", "--help", "Print this help message");

    operand("webroot", "Location of the web application").ofType(File.class);
    
    epilog("use --help to show this help message");
}};

Now assuming program is started with:

-p 8088 -e production --timeout 9000 /path/to/webapp/root

Here's how we would parse the arguments:

cli.parse(args); // Typical program args

String env = cli.get("-e");
String host = cli.get("-h");
int port = cli.get("-p");
int timeout = cli.get("--timeout");
boolean quiet = cli.has("-q");

File webroot = cli.get("webroot");

Want to know more?

Checkout out usage examples

About

A lightweight Command Line Interface for Java

Resources

Stars

Watchers

Forks

Packages

No packages published