require 'puppetlabs_spec_helper/rake_tasks' require 'puppet/version' require 'puppet/vendor/semantic/lib/semantic' unless Puppet.version.to_f < 3.6 require 'puppet-lint/tasks/puppet-lint' require 'puppet-syntax/tasks/puppet-syntax' Rake::Task[:lint].clear PuppetLint.configuration.relative = true PuppetLint.configuration.send("disable_80chars") PuppetLint.configuration.log_format = "%{path}:%{linenumber}:%{check}:%{KIND}:%{message}" PuppetLint.configuration.fail_on_warnings = true # Forsake support for Puppet 2.6.2 for the benefit of cleaner code. # http://puppet-lint.com/checks/class_parameter_defaults/ PuppetLint.configuration.send('disable_class_parameter_defaults') # http://puppet-lint.com/checks/class_inherits_from_params_class/ PuppetLint.configuration.send('disable_class_inherits_from_params_class') exclude_paths = [ "bundle/**/*", "pkg/**/*", "vendor/**/*", "spec/**/*", ] PuppetLint.configuration.ignore_paths = exclude_paths PuppetSyntax.exclude_paths = exclude_paths desc "Populate CONTRIBUTORS file" task :contributors do system("git log --format='%aN' | sort -u > CONTRIBUTORS") end task :metadata do sh "metadata-json-lint metadata.json" end desc "Run syntax, lint, and spec tests." task :test => [ :syntax, :lint, :spec, :metadata, ]