diff options
Diffstat (limited to 'tasks/spellcheck.rb')
-rw-r--r-- | tasks/spellcheck.rb | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/tasks/spellcheck.rb b/tasks/spellcheck.rb index 002518d9ee..5b185c1ed6 100644 --- a/tasks/spellcheck.rb +++ b/tasks/spellcheck.rb @@ -17,17 +17,31 @@ namespace :spellcheck do task :fetch_common do - sh "wget https://raw.githubusercontent.com/chef/chef_dictionary/master/chef.txt -O chef_dictionary.txt" + sh "wget -q https://raw.githubusercontent.com/chef/chef_dictionary/master/chef.txt -O chef_dictionary.txt" end - task run: :fetch_common do + task run: [:config_check, :fetch_common] do sh 'cspell "**/*"' end desc "List the unique unrecognized words in the project." - task unknown_words: :fetch_common do + task unknown_words: [:config_check, :fetch_common] do sh 'cspell "**/*" --wordsOnly --no-summary | sort | uniq' end + + task :config_check do + require 'json' + + config_file = 'cspell.json' + + unless File.readable?(config_file) + abort "Spellcheck config file '#{config_file}' not found, skipping spellcheck" + end + + unless (JSON.parse(File.read(config_file)) rescue false) + abort "Failed to parse config file '#{config_file}', skipping spellcheck" + end + end end desc "Run spellcheck on the project." |