summaryrefslogtreecommitdiff
path: root/Rakefile
diff options
context:
space:
mode:
authorGarrett Honeycutt <code@garretthoneycutt.com>2013-11-30 11:18:43 -0500
committerGarrett Honeycutt <code@garretthoneycutt.com>2013-11-30 11:18:43 -0500
commit9226037e4e1a3648f8b6809726612acae3046d74 (patch)
tree5d6f633e676860ae6e2a7ffaa0c78e229b1d5ba3 /Rakefile
parent44c181ec0e230768b8dce10de57f9b32638e66e1 (diff)
downloadpuppet-stdlib-9226037e4e1a3648f8b6809726612acae3046d74.tar.gz
puppet-stdlib-9226037e4e1a3648f8b6809726612acae3046d74.tar.bz2
Add rake tasks to validate and lint files and check with Travis
This patch adds the ability to validate syntax of manifests, templates, and ruby files in lib/ via `rake validate` and the linting of manifests with puppet-lint via `rake lint`. These two commands are chained with running the spec tests in Travis to ensure there are no syntax or style issues.
Diffstat (limited to 'Rakefile')
-rw-r--r--Rakefile16
1 files changed, 16 insertions, 0 deletions
diff --git a/Rakefile b/Rakefile
index 14f1c24..4ed1327 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