Use a Library for the CLI
To control the TOSCAna software we need a command-line-interface (CLI) which will be integrated in the program code. Therefore we could use a library.
Considered Alternatives
- Library created by ourself
- Commons CLI
- args4j
- JCommander
- jopt simple
- JewelCli
- Picocli
Conclusion
- Chosen Alternative: Picocli
- supports everything we need to create a CLI like CloudFoundry/Git
Pros and Cons of the Alternatives
Commons Cli
+
Open Source+
Customer suggested it+
good Documentation-
no Subcommands supported
JCommander
+
Open Source+
Customer suggested it+
good Documentation+
Subcommands supported-
no customized Usage messages
Picocli
+
Open Source+
Customer suggested it+
supports ANSI Colors and Styles+
good Documentation+
support of Subcommands, nested Subcommands and positional Parameters+
customized Usage messages+
POSIX clustered short Options+
Autocomplete feature-
pretty new
License
Copyright (c) 2017 University of Stuttgart.
All rights reserved. Made available under the terms of the Eclipse Public License v1.0 and the Apache License v2.0 which both accompany this distribution.