Rakefile 970 B

1234567891011121314151617181920212223242526272829303132
  1. require 'puppetlabs_spec_helper/rake_tasks'
  2. require 'puppet-lint/tasks/puppet-lint'
  3. require 'metadata-json-lint/rake_task'
  4. if RUBY_VERSION >= '1.9'
  5. require 'rubocop/rake_task'
  6. RuboCop::RakeTask.new
  7. end
  8. PuppetLint.configuration.send('disable_80chars')
  9. PuppetLint.configuration.relative = true
  10. PuppetLint.configuration.ignore_paths = ['spec/**/*.pp', 'pkg/**/*.pp']
  11. desc 'Validate manifests, templates, and ruby files'
  12. task :validate do
  13. Dir['manifests/**/*.pp'].each do |manifest|
  14. sh "puppet parser validate --noop #{manifest}"
  15. end
  16. Dir['spec/**/*.rb', 'lib/**/*.rb'].each do |ruby_file|
  17. sh "ruby -c #{ruby_file}" unless ruby_file =~ %r{spec/fixtures}
  18. end
  19. Dir['templates/**/*.erb'].each do |template|
  20. sh "erb -P -x -T '-' #{template} | ruby -c"
  21. end
  22. end
  23. desc 'Run metadata_lint, lint, validate, rubocop, and spec tests.'
  24. task :test do
  25. [:metadata_lint, :lint, :validate, :rubocop, :spec].each do |test|
  26. Rake::Task[test].invoke
  27. end
  28. end