require 'rubygems' require 'puppetlabs_spec_helper/rake_tasks' require 'puppet-lint/tasks/puppet-lint' begin require 'puppet_blacksmith/rake_tasks' rescue LoadError end exclude_paths = [ "pkg/**/*", "vendor/**/*", "spec/**/*", ] PuppetLint.configuration.fail_on_warnings = true PuppetLint.configuration.ignore_paths = exclude_paths PuppetLint.configuration.log_format = "%{path}:%{linenumber}:%{check}:%{KIND}:%{message}" PuppetSyntax.exclude_paths = exclude_paths desc "Validate manifests, templates, and ruby files" task :validate do Dir['manifests/**/*.pp'].each do |manifest| sh "puppet parser validate --noop #{manifest}" end Dir['spec/**/*.rb','lib/**/*.rb'].each do |ruby_file| sh "ruby -c #{ruby_file}" unless ruby_file =~ /spec\/fixtures/ end Dir['templates/**/*.erb'].each do |template| sh "erb -P -x -T '-' #{template} | ruby -c" end end task :tests do Rake::Task[:lint].invoke Rake::Task[:validate].invoke Rake::Task[:spec].invoke end