2121
2222help "Run shellcheck on all examples"
2323action :shellcheck do
24+ allowed_skips = 1
2425 Example.executables.each do |example|
2526 if File.exist? example
2627 success = system "shellcheck #{example}"
@@ -29,15 +30,26 @@ action :shellcheck do
2930 exit 1 unless success
3031 else
3132 say "- skip !txtcyn!#{example}"
33+ allowed_skips -= 1
34+ if allowed_skips < 0
35+ say "- aborted: too many skips"
36+ exit 1
37+ end
3238 end
3339 end
3440end
3541
3642help "Run shfmt checks on all examples"
3743action :shfmt do
44+ allowed_skips = 2
3845 Example.executables.each do |example|
3946 if example == 'examples/heredoc/cli' || !File.exist?(example)
4047 say "- skip !txtcyn!#{example}"
48+ allowed_skips -= 1
49+ if allowed_skips < 0
50+ say "- aborted: too many skips"
51+ exit 1
52+ end
4153 next
4254 end
4355
@@ -58,9 +70,22 @@ action :changelog do
5870 File.write "CHANGELOG.md", File.read("CHANGELOG.md").gsub('repeatableflags', 'repeatable flags')
5971end
6072
73+ command :examples
74+
75+ help "Regenerate example scripts"
76+ action :regen do
77+ # Patch the PATH to allow the extensible example to run properly
78+ ENV['PATH']="#{Dir.pwd}/examples/extensible:#{ENV['PATH']}"
79+ Example.all.each do |example|
80+ say example.dir
81+ Dir.chdir example.dir do
82+ system 'bash test.sh >/dev/null 2>&1'
83+ end
84+ end
85+ end
86+
6187help "Append the content of bashly.yml to all example READMEs"
62- action :examples do
63- # Disable color output (for the color examples)
88+ action :readme do
6489 ENV['NO_COLOR']='1'
6590
6691 # Patch the PATH to allow the extensible example to run properly
@@ -71,5 +96,7 @@ action :examples do
7196 end
7297end
7398
99+ endcommand
100+
74101require_relative 'helpers/release'
75102require './debug.rb' if File.exist? 'debug.rb'
0 commit comments