63 lines
1.6 KiB
Ruby
63 lines
1.6 KiB
Ruby
require 'rubygems'
|
|
require 'bundler/setup'
|
|
|
|
require 'puppetlabs_spec_helper/rake_tasks'
|
|
require 'puppet/version'
|
|
require 'puppet-lint/tasks/puppet-lint'
|
|
require 'puppet-syntax/tasks/puppet-syntax'
|
|
require 'metadata-json-lint/rake_task'
|
|
require 'rubocop/rake_task'
|
|
|
|
if Puppet.version.to_f >= 4.9
|
|
require 'semantic_puppet'
|
|
elsif Puppet.version.to_f >= 3.6 && Puppet.version.to_f < 4.9
|
|
require 'puppet/vendor/semantic/lib/semantic'
|
|
end
|
|
|
|
# These gems aren't always present, for instance
|
|
# on Travis with --without development
|
|
begin
|
|
require 'puppet_blacksmith/rake_tasks'
|
|
rescue LoadError # rubocop:disable Lint/HandleExceptions
|
|
end
|
|
|
|
#RuboCop::RakeTask.new
|
|
|
|
exclude_paths = [
|
|
"bundle/**/*",
|
|
"pkg/**/*",
|
|
"vendor/**/*",
|
|
"spec/**/*",
|
|
]
|
|
|
|
# Coverage from puppetlabs-spec-helper requires rcov which
|
|
# doesn't work in anything since 1.8.7
|
|
#Rake::Task[:coverage].clear
|
|
|
|
Rake::Task[:lint].clear
|
|
|
|
PuppetLint.configuration.relative = true
|
|
PuppetLint.configuration.disable_80chars
|
|
PuppetLint.configuration.disable_class_inherits_from_params_class
|
|
PuppetLint.configuration.disable_class_parameter_defaults
|
|
PuppetLint.configuration.fail_on_warnings = true
|
|
|
|
PuppetLint::RakeTask.new :lint do |config|
|
|
config.ignore_paths = exclude_paths
|
|
end
|
|
|
|
PuppetSyntax.exclude_paths = exclude_paths
|
|
|
|
desc "Run acceptance tests"
|
|
RSpec::Core::RakeTask.new(:acceptance) do |t|
|
|
t.pattern = 'spec/acceptance'
|
|
end
|
|
|
|
desc "Populate CONTRIBUTORS file"
|
|
task :contributors do
|
|
system("git log --format='%aN' | sort -u > CONTRIBUTORS")
|
|
end
|
|
|
|
desc "Run syntax, lint, and spec tests."
|
|
task :test => %i(metadata_lint syntax lint rubocop spec)
|