diff --git a/.travis.yml b/.travis.yml index 1bb188991..8334d4287 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,6 +1,6 @@ language: ruby bundler_args: --without development -script: "bundle exec rake spec SPEC_OPTS='--color --format documentation'" +script: "bundle exec rake validate && bundle exec rake lint && bundle exec rake spec SPEC_OPTS='--color --format documentation'" rvm: - 1.8.7 - 1.9.3 diff --git a/Gemfile b/Gemfile index 1cf399f8f..75c7d853c 100644 --- a/Gemfile +++ b/Gemfile @@ -39,4 +39,6 @@ else gem 'puppet', :require => false end +gem 'puppet-lint', '>= 0.3.2' + # vim:ft=ruby diff --git a/Rakefile b/Rakefile index 14f1c2462..4ed1327a3 100644 --- a/Rakefile +++ b/Rakefile @@ -1,2 +1,18 @@ require 'rubygems' require 'puppetlabs_spec_helper/rake_tasks' +require 'puppet-lint/tasks/puppet-lint' +PuppetLint.configuration.send('disable_80chars') +PuppetLint.configuration.ignore_paths = ["spec/**/*.pp", "pkg/**/*.pp"] + +desc "Validate manifests, templates, and ruby files in lib." +task :validate do + Dir['manifests/**/*.pp'].each do |manifest| + sh "puppet parser validate --noop #{manifest}" + end + Dir['lib/**/*.rb'].each do |lib_file| + sh "ruby -c #{lib_file}" + end + Dir['templates/**/*.erb'].each do |template| + sh "erb -P -x -T '-' #{template} | ruby -c" + end +end