Skip to content

Latest commit

 

History

History
67 lines (55 loc) · 10.7 KB

File metadata and controls

67 lines (55 loc) · 10.7 KB

3. Dependencies

By design, the Argparser only requires Bash ≥ 4.4 to run. However, for testing the Argparser, for creating the documentation and for comparing the different command-line parsers, several other tools are required, which you might need to install, should you want to contribute. Most of which (especially all programs for testing) should be pre-installed in any Unix-like environment. Note, however, that the scripts use long options, which may not be supported by your specific software version.

In the following table, "✔" marks the tools necessary for the respective task, "✘" those that aren't required. When no version number is given, any recent version is expected to work.

Tab. 1: Dependencies of the Argparser execution, tests, documentation, and feature comparison.

Tool Version Execution Tests Documentation Comparison
Bash ≥ 4.4
cat
cp
dash
diff
dirname
getopt
head
ls
readlink
sed
sort
tee
Docker
shFlags 1.3.0
docopts 0.6.4
Julia ≥ 1.11
Markdown Tools 25.10.1

The test scripts in the tests directory call dash, diff, dirname, readlink, sed, sort, and tee. Whenever you want to contribute a feature or fix a bug, you must make sure that the tests pass. This is most easily done by running run_tests.sh prior committing the changes, to make sure that everything works right from the start. Additionally, run_docker.sh needs Docker to containerize the test suite for execution in all Bash versions the Argparser shall support.

The Markdown Tools v25.10.1 are required to create the documentation. This does not necessarily apply for small changes, if you change both the source and the respective documentation chapter's file by hand. If you modify headings or want to include files, the Markdown Tools are indispensable, since, e.g., they automatically adjust the heading numbering and hyperlinks. The calls to the Markdown Tools within the documentation rely on cat, head, ls, and sed for file inclusion. Note that the Markdown Tools require Bash ≥ 5.1 to run.

For comparing the Argparser to other command-line parsers, cat, getopt, shFlags, and docopts must be installed and added to your PATH. Within the invoked process_html_template.sh, cp and sed are called.

Finally, Julia and its libraries are used to benchmark the scripts. Unless contributing an entirely new feature to the Argparser, you don't need to bother about executing the comparison scripts, and thus don't need to install these dependencies.

For Julia, the following external packages are needed:

🡄 2. Installation           4. License 🡆