octocatalog-diff/octocatalog-diff.gemspec

53 строки
2.4 KiB
Ruby

require 'json'
DEFAULT_PUPPET_VERSION = '7.32.1'.freeze
Gem::Specification.new do |s|
s.required_ruby_version = '>= 2.6.0'
puppet_version = ENV['PUPPET_VERSION'] || DEFAULT_PUPPET_VERSION
s.name = 'octocatalog-diff'
s.version = ENV['OCTOCATALOG_DIFF_VERSION'] || File.read(File.join(File.dirname(__FILE__), '.version')).strip
s.license = 'MIT'
s.authors = ['GitHub, Inc.', 'Kevin Paulisse']
s.email = 'opensource+octocatalog-diff@github.com'
s.files = Dir.glob('doc/**/*.md') \
+ Dir.glob('lib/**/*') \
+ Dir.glob('scripts/**/*') \
+ %w(LICENSE README.md .version bin/octocatalog-diff)
s.executables = 'octocatalog-diff'
s.homepage = 'https://github.com/github/octocatalog-diff'
s.summary = 'Compile Puppet catalogs from 2 branches, versions, etc., and compare them.'
s.description = <<-EOF
Octocatalog-Diff assists with Puppet development and testing by enabling the user to
compile 2 Puppet catalogs and compare them. It is possible to compare different
branches, different versions, and different fact values. This is intended to be run
from a local development environment or in CI.
EOF
s.add_runtime_dependency 'diffy', '>= 3.1.0'
s.add_runtime_dependency 'httparty', '>= 0.21.0'
s.add_runtime_dependency 'hashdiff', '>= 0.3.0'
s.add_runtime_dependency 'parallel', '>= 1.12.0'
s.add_runtime_dependency 'rugged', '>= 0.25.0b2'
s.add_runtime_dependency 'puppet', '>= 5.5.0'
s.add_development_dependency 'puppet', '>= 5.5.0'
s.add_development_dependency 'rspec', '~> 3.4.0'
s.add_development_dependency 'rake', '12.3.3'
s.add_development_dependency 'parallel_tests', '2.7.1'
s.add_development_dependency 'rspec-retry', '0.5.0'
s.add_development_dependency 'rubocop', '= 0.49.0'
s.add_development_dependency 'simplecov', '~> 0.14.1'
s.add_development_dependency 'simplecov-erb', '~> 0.1.1'
puppet_v = Gem::Version.new(puppet_version)
version_config = JSON.parse(File.read(File.join(File.dirname(__FILE__), 'config', 'puppet-versions.json')))
version_config.each do |data|
next unless puppet_v >= Gem::Version.new(data['minimum_version'])
next unless puppet_v <= Gem::Version.new(data['maximum_version'])
data['additional_gems'].each do |additional_gem|
s.add_development_dependency additional_gem['name'], additional_gem['version']
end
end
end