diff --git a/examples/command-private/README.md b/examples/command-private/README.md index 670b0757..64531cd0 100644 --- a/examples/command-private/README.md +++ b/examples/command-private/README.md @@ -67,7 +67,7 @@ Usage: cli --version | -v Commands: - connect Connect to the metaverse + connect Connect to the metaverse @@ -84,7 +84,7 @@ Usage: cli --version | -v Commands: - connect Connect to the metaverse + connect Connect to the metaverse Options: --help, -h diff --git a/examples/dependencies-alt/README.md b/examples/dependencies-alt/README.md index aad10ddd..fcd9fd57 100644 --- a/examples/dependencies-alt/README.md +++ b/examples/dependencies-alt/README.md @@ -60,7 +60,7 @@ args: none deps: - ${deps[git]} = /usr/bin/git - ${deps[http_client]} = /usr/bin/curl -- ${deps[ruby]} = /home/vagrant/.rbenv/versions/3.3.0/bin/ruby +- ${deps[ruby]} = /home/vagrant/.rbenv/versions/3.3.6/bin/ruby ```` diff --git a/examples/dependencies/README.md b/examples/dependencies/README.md index 52c02ff3..a5e871da 100644 --- a/examples/dependencies/README.md +++ b/examples/dependencies/README.md @@ -31,7 +31,8 @@ commands: dependencies: - git - curl - - shmurl + - dos + - netscape - name: upload help: Upload something @@ -40,6 +41,7 @@ commands: # The message can use colors from the colors library (bashly add colors). dependencies: mini-docker: install with $(green gem install mini-docker) + multi-docker: install with $(blue gem install multi-docker) docker: visit https://docker.com for more information ```` @@ -50,7 +52,8 @@ commands: ### `$ ./cli download` ````shell -missing dependency: shmurl +missing dependency: dos +missing dependency: netscape ```` @@ -61,6 +64,10 @@ missing dependency: shmurl missing dependency: mini-docker install with gem install mini-docker +missing dependency: multi-docker +install with gem install multi-docker + + ```` diff --git a/examples/dependencies/src/bashly.yml b/examples/dependencies/src/bashly.yml index c535df01..489be04d 100644 --- a/examples/dependencies/src/bashly.yml +++ b/examples/dependencies/src/bashly.yml @@ -12,7 +12,8 @@ commands: dependencies: - git - curl - - shmurl + - dos + - netscape - name: upload help: Upload something @@ -21,4 +22,5 @@ commands: # The message can use colors from the colors library (bashly add colors). dependencies: mini-docker: install with $(green gem install mini-docker) + multi-docker: install with $(blue gem install multi-docker) docker: visit https://docker.com for more information diff --git a/examples/render-mandoc/README.md b/examples/render-mandoc/README.md index 08109e37..a414d90b 100644 --- a/examples/render-mandoc/README.md +++ b/examples/render-mandoc/README.md @@ -102,7 +102,7 @@ ISSUE TRACKER AUTHORS Lana Lang. -Version 0.1.0 August 2024 download(1) +Version 0.1.0 December 2024 download(1) ```` diff --git a/lib/bashly/views/command/dependencies_filter.gtx b/lib/bashly/views/command/dependencies_filter.gtx index 279c4f02..16b5a46a 100644 --- a/lib/bashly/views/command/dependencies_filter.gtx +++ b/lib/bashly/views/command/dependencies_filter.gtx @@ -1,7 +1,12 @@ if dependencies.any? = view_marker + > missing_deps= dependencies.each do |dependency| = dependency.render :filter end + + > if [[ -n $missing_deps ]]; then + > exit 1 + > fi end diff --git a/lib/bashly/views/dependency/filter.gtx b/lib/bashly/views/dependency/filter.gtx index 7aa46e7b..9affd144 100644 --- a/lib/bashly/views/dependency/filter.gtx +++ b/lib/bashly/views/dependency/filter.gtx @@ -3,9 +3,9 @@ > if ! command -v {{ commands.join(' ') }} >/dev/null 2>&1; then > printf "{{ strings[:missing_dependency] % { dependency: name } }}\n" >&2 if help - > printf "%s\n" "{{ help.sanitize_for_print }}" >&2 + > printf "%s\n\n" "{{ help.sanitize_for_print }}" >&2 end -> exit 1 +> missing_deps=1 if Settings.enabled? :deps_array > else > deps['{{ label }}']="$(command -v {{ commands.join(' ') }} | head -n1)" diff --git a/spec/approvals/examples/dependencies b/spec/approvals/examples/dependencies index ff1a25d4..434b4f25 100644 --- a/spec/approvals/examples/dependencies +++ b/spec/approvals/examples/dependencies @@ -7,7 +7,12 @@ created src/upload_command.sh created ./cli run ./cli --help to test your bash script + ./cli download -missing dependency: shmurl +missing dependency: dos +missing dependency: netscape + ./cli upload missing dependency: mini-docker install with gem install mini-docker + +missing dependency: multi-docker +install with gem install multi-docker +