Clad

From NovaOrdis Knowledge Base
Jump to navigation Jump to search

Internal

Overview

Command-Line Application Development (clad) is a collection of Java classes providing functionality that can be used to build command line tools. It includes support for:

  • command-oriented CLI
  • command-line and YAML-based persistent configuration
  • hierarchical in-line help
  • logging and error message handling support
  • version and release date mechanism
  • standard release tools

The project's artifact is a java library other dependent project can get from a Maven repository:

<dependency>
    <groupId>io.novaordis.clad</groupId>
    <artifactId>novaordis-clad</artifactId>
    <version>1</version>
</dependency>

GitHub


https://github.com/NovaOrdis/clad

TODO

doc/cliff.docx TODO section.

Features

Version and Release Date

The framework supports the "version" command by default. The "version" command pulls version and release date from the underlying application and displays it in a standard format:

version 1.0
release date 01/26/16

Usage

doc/cliff.docx

Development

New Release

This will install a new "development" release (same release number) in the Maven repository:

cdclad
mvn clean install

Indvidual Unit Test

mvn -Dmaven.surefire.debug="-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5012" -Dtest=StringOptionTest clean test