Merge branch '5-convert-module-to-pdk' into 'master'
Resolve "Convert module to pdk" Closes #5 See merge request adullact/puppet-freeipa!8
Showing
.pdkignore
0 → 100644
.rspec
0 → 100644
.rubocop.yml
0 → 100644
.sync.yml
0 → 100644
.travis.yml
deleted
100644 → 0
.yardopts
0 → 100644
source 'https://rubygems.org' | ||
source ENV['GEM_SOURCE'] || 'https://rubygems.org' | ||
group :development do | ||
# controlrepo is a helper tool to setup spec and integration testing inside of a | ||
# Puppet control repository. We're not using the rake rakes, but instead | ||
# directly invoking `rspec spec` in an effort to cut down on the amount of | ||
# implicit, magic behavior. The controlrepo gem provides value in the form of | ||
# an updated set of dependencies suitable for spec testing using rspec-puppet. | ||
# | ||
# https://github.com/jeffmccune/controlrepo_gem | ||
gem 'controlrepo' | ||
def location_for(place_or_version, fake_version = nil) | ||
if place_or_version =~ %r{\A(git[:@][^#]*)#(.*)} | ||
[fake_version, { git: Regexp.last_match(1), branch: Regexp.last_match(2), require: false }].compact | ||
elsif place_or_version =~ %r{\Afile:\/\/(.*)} | ||
['>= 0', { path: File.expand_path(Regexp.last_match(1)), require: false }] | ||
else | ||
[place_or_version, { require: false }] | ||
end | ||
end | ||
group :test, :development do | ||
gem 'facter' | ||
gem 'hiera' | ||
gem 'parallel_tests' | ||
# other testing gems we want | ||
gem 'rspec-puppet' | ||
gem 'puppetlabs_spec_helper' | ||
gem 'beaker-puppet' | ||
gem 'beaker-docker' | ||
gem 'beaker' | ||
gem 'beaker-rspec' | ||
gem 'beaker-puppet_install_helper' | ||
gem 'beaker-module_install_helper' | ||
gem 'metadata-json-lint' | ||
gem 'puppet-lint' | ||
gem 'rspec' | ||
gem 'rake' | ||
# net-telnet 0.2.0 requires Ruby version >= 2.3.0 | ||
# rubocop 0.58.0 requires Ruby version >= 2.2.0 | ||
if RUBY_VERSION == '2.1.9' | ||
gem 'net-telnet', '< 0.2.0' | ||
gem 'rubocop', '< 0.58.0' | ||
elsif RUBY_VERSION == '2.4.4' | ||
gem 'net-telnet', '>= 0.2.0' | ||
gem 'rubocop', '>= 0.58.0' | ||
def gem_type(place_or_version) | ||
if place_or_version =~ %r{\Agit[:@]} | ||
:git | ||
elsif !place_or_version.nil? && place_or_version.start_with?('file:') | ||
:file | ||
else | ||
:gem | ||
end | ||
end | ||
ruby_version_segments = Gem::Version.new(RUBY_VERSION.dup).segments | ||
minor_version = ruby_version_segments[0..1].join('.') | ||
group :development do | ||
gem "fast_gettext", '1.1.0', require: false if Gem::Version.new(RUBY_VERSION.dup) < Gem::Version.new('2.1.0') | ||
gem "fast_gettext", require: false if Gem::Version.new(RUBY_VERSION.dup) >= Gem::Version.new('2.1.0') | ||
gem "json_pure", '<= 2.0.1', require: false if Gem::Version.new(RUBY_VERSION.dup) < Gem::Version.new('2.0.0') | ||
gem "json", '= 1.8.1', require: false if Gem::Version.new(RUBY_VERSION.dup) == Gem::Version.new('2.1.9') | ||
gem "json", '<= 2.0.4', require: false if Gem::Version.new(RUBY_VERSION.dup) == Gem::Version.new('2.4.4') | ||
gem "puppet-module-posix-default-r#{minor_version}", require: false, platforms: [:ruby] | ||
gem "puppet-module-posix-dev-r#{minor_version}", require: false, platforms: [:ruby] | ||
gem "puppet-module-win-default-r#{minor_version}", require: false, platforms: [:mswin, :mingw, :x64_mingw] | ||
gem "puppet-module-win-dev-r#{minor_version}", require: false, platforms: [:mswin, :mingw, :x64_mingw] | ||
gem "facter", require: false | ||
gem "hiera", require: false | ||
gem "parallel_tests", require: false | ||
gem "rspec-puppet", require: false | ||
gem "puppetlabs_spec_helper", require: false | ||
gem "beaker", require: false | ||
gem "beaker-puppet", require: false | ||
gem "beaker-rspec", require: false | ||
gem "beaker-puppet_install_helper", require: false | ||
gem "beaker-module_install_helper", require: false | ||
gem "metadata-json-lint", require: false | ||
gem "puppet-lint", require: false | ||
gem "rspec", require: false | ||
gem "rake", require: false | ||
gem "beaker-vagrant", require: false | ||
gem "net-telnet", '< 0.2.0', require: false if Gem::Version.new(RUBY_VERSION.dup) == Gem::Version.new('2.1.9') | ||
gem "rubocop", '< 0.58.0', require: false if Gem::Version.new(RUBY_VERSION.dup) == Gem::Version.new('2.1.9') | ||
gem "net-telnet", '>= 0.2.0', require: false if Gem::Version.new(RUBY_VERSION.dup) == Gem::Version.new('2.4.4') | ||
gem "rubocop", '>= 0.58.0', require: false if Gem::Version.new(RUBY_VERSION.dup) == Gem::Version.new('2.4.4') | ||
end | ||
puppet_version = ENV['PUPPET_GEM_VERSION'] | ||
puppet_type = gem_type(puppet_version) | ||
facter_version = ENV['FACTER_GEM_VERSION'] | ||
hiera_version = ENV['HIERA_GEM_VERSION'] | ||
gems = {} | ||
gems['puppet'] = location_for(puppet_version) | ||
# If facter or hiera versions have been specified via the environment | ||
# variables | ||
gems['facter'] = location_for(facter_version) if facter_version | ||
gems['hiera'] = location_for(hiera_version) if hiera_version | ||
if Gem.win_platform? && puppet_version =~ %r{^(file:///|git://)} | ||
# If we're using a Puppet gem on Windows which handles its own win32-xxx gem | ||
# dependencies (>= 3.5.0), set the maximum versions (see PUP-6445). | ||
gems['win32-dir'] = ['<= 0.4.9', require: false] | ||
gems['win32-eventlog'] = ['<= 0.6.5', require: false] | ||
gems['win32-process'] = ['<= 0.7.5', require: false] | ||
gems['win32-security'] = ['<= 0.2.5', require: false] | ||
gems['win32-service'] = ['0.8.8', require: false] | ||
end | ||
gems.each do |gem_name, gem_params| | ||
gem gem_name, *gem_params | ||
end | ||
# Evaluate Gemfile.local and ~/.gemfile if they exist | ||
extra_gemfiles = [ | ||
"#{__FILE__}.local", | ||
File.join(Dir.home, '.gemfile'), | ||
] | ||
extra_gemfiles.each do |gemfile| | ||
if File.file?(gemfile) && File.readable?(gemfile) | ||
eval(File.read(gemfile), binding) | ||
end | ||
end | ||
# vim: syntax=ruby |