class PuppetSyntax::RakeTask
Public Class Methods
new(*_args)
click to toggle source
# File lib/puppet-syntax/tasks/puppet-syntax.rb, line 28 def initialize(*_args) desc 'Syntax check for Puppet manifests, templates and Hiera' task syntax: [ 'syntax:manifests', 'syntax:templates', 'syntax:hiera', ] namespace :syntax do desc 'Syntax check Puppet manifests' task :manifests do |t| warn "---> #{t.name}" c = PuppetSyntax::Manifests.new output, has_errors = c.check(filelist_manifests) $stdout.puts "#{output.join("\n")}\n" unless output.empty? exit 1 if has_errors || (output.any? && PuppetSyntax.fail_on_deprecation_notices) end desc 'Syntax check Puppet templates' task :templates do |t| warn "---> #{t.name}" c = PuppetSyntax::Templates.new result = c.check(filelist_templates) unless result[:warnings].empty? $stdout.puts 'WARNINGS:' $stdout.puts result[:warnings].join("\n") end unless result[:errors].empty? warn 'ERRORS:' warn result[:errors].join("\n") exit 1 end end desc 'Syntax check Hiera config files' task hiera: [ 'syntax:hiera:yaml', ] namespace :hiera do task :yaml do |t| warn "---> #{t.name}" warn "#{t.name} was called, but PuppetSyntax.check_hiera_keys is false. hiera syntax won't be checked" unless PuppetSyntax.check_hiera_keys c = PuppetSyntax::Hiera.new errors = c.check(filelist_hiera_yaml) $stdout.puts "#{errors.join("\n")}\n" unless errors.empty? exit 1 unless errors.empty? end end end end
Public Instance Methods
filelist(paths)
click to toggle source
# File lib/puppet-syntax/tasks/puppet-syntax.rb, line 7 def filelist(paths) excludes = PuppetSyntax.exclude_paths excludes.push('pkg/**/*') excludes.push('vendor/**/*') files = FileList[paths] files.reject! { |f| File.directory?(f) } files.exclude(*excludes) end
filelist_hiera_yaml()
click to toggle source
# File lib/puppet-syntax/tasks/puppet-syntax.rb, line 24 def filelist_hiera_yaml filelist(PuppetSyntax.hieradata_paths) end
filelist_manifests()
click to toggle source
# File lib/puppet-syntax/tasks/puppet-syntax.rb, line 16 def filelist_manifests filelist(PuppetSyntax.manifests_paths) end
filelist_templates()
click to toggle source
# File lib/puppet-syntax/tasks/puppet-syntax.rb, line 20 def filelist_templates filelist(PuppetSyntax.templates_paths) end