X-Git-Url: http://www2.svjatoslav.eu/gitweb/?a=blobdiff_plain;f=doc%2Findex.org;h=7519328417c900182093853336e36403c860ed90;hb=refs%2Fheads%2Fmaster;hp=64f7146618550139c6966d7123ec45f6d3986194;hpb=5aba0db9f94d0f68511511ac5bbe0dade0e0fd63;p=cli-helper.git diff --git a/doc/index.org b/doc/index.org index 64f7146..6fa1f18 100644 --- a/doc/index.org +++ b/doc/index.org @@ -1,3 +1,6 @@ +:PROPERTIES: +:ID: bb4f96cd-458c-495b-a605-313b2e3e28d2 +:END: #+TITLE: CLI Helper - library to help implementing commandline interfaces * General @@ -17,21 +20,40 @@ - [[https://www2.svjatoslav.eu/gitweb/?p=cli-helper.git;a=summary][Browse Git repository online]] - Clone Git repository using command: - : git clone https://www2.svjatoslav.eu/git/cli-helper.git + : git clone https://www3.svjatoslav.eu/git/cli-helper.git - See [[https://www3.svjatoslav.eu/projects/cli-helper/apidocs/][JavaDoc]] -* Library contents -- See [[https://www3.svjatoslav.eu/projects/svjatoslav_commons/apidocs/][JavaDoc]]. +* Overview +:PROPERTIES: +:ID: fef7ebc3-0f00-4b82-a926-c0cfdf709762 +:END: +- See also: [[https://www3.svjatoslav.eu/projects/cli-helper/apidocs/][CLI Helper JavaDoc]] -- Commandline Interface helper - : eu.svjatoslav.commons.cli_helper.CLIHelper +This is library intended to facilitate creation of commandline +applications in Java programming language. Library is packaged as an +artifact to Maven repository. This makes it simple to add library as +dependency to your project. -- Commandline arguments parser and validator. - : eu.svjatoslav.commons.cli_helper.parameter_parser +Library provides following general functionalities: +- [[id:4fca35e4-fdf1-4675-a36f-6206d6fb72cb][Asking for user input]] +- [[id:46115263-ed3d-4acc-9ec5-523d7acf87b8][Commandline arguments processing]] -* Usage -Instructions to embed svjatoslav-commons in your project as a library: +** Ask for user input +:PROPERTIES: +:ID: 4fca35e4-fdf1-4675-a36f-6206d6fb72cb +:END: + +- askBoolean() :: Asks the user to enter a boolean value (yes/no). +- askLong() :: Asks the user to enter an integer. +- askString() :: Asks the user to enter a string. + +* Alternatives and further reading + +- [[https://clig.dev/][Command Line Interface Guidelines]] + +* Getting the library +Instructions to embed svjatoslav-commons library in your project: Maven pom.xml file snippet: @@ -41,7 +63,7 @@ Maven pom.xml file snippet: eu.svjatoslav cli-helper - 1.0 + 1.2 ... @@ -52,8 +74,30 @@ Maven pom.xml file snippet: svjatoslav.eu Svjatoslav repository - http://www2.svjatoslav.eu/maven/ + http://www3.svjatoslav.eu/maven/ ... #+END_SRC +* TODO: + +List of improvement suggestions: + +- Add more concrete examples of how to use the library in JavaDoc + comments. This will help developers quickly get started and learn + the API. + +- Provide more comprehensive unit tests for CliHelper, + ParameterParser, Options and subclasses. This will ensure robustness + and stability. + +- Add JavaDoc comments to all classes and methods where + applicable. This will provide better visibility into the library's + functionality for developers. + +- Add more option types like date/time, regular expression etc. + +- Document best practices for using the library in a larger project. + +- Implement support for more complex CLI applications like option + dependencies and conflicts resolution.