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

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.