11require_relative 'lib/octocatalog-diff/version'
2+ require 'json'
23
34DEFAULT_PUPPET_VERSION = '4.10.0' . freeze
45
@@ -10,9 +11,10 @@ Gem::Specification.new do |s|
1011 s . license = 'MIT'
1112 s . authors = [ 'GitHub, Inc.' , 'Kevin Paulisse' ]
1213 s . email = 'opensource+octocatalog-diff@github.com'
13- # rubocop:disable LineLength
14- s . files = Dir . glob ( 'doc/**/*.md' ) + Dir . glob ( 'lib/**/*' ) + Dir . glob ( 'scripts/**/*' ) + %w( LICENSE README.md .version bin/octocatalog-diff )
15- # rubocop:enable LineLength
14+ s . files = Dir . glob ( 'doc/**/*.md' ) \
15+ + Dir . glob ( 'lib/**/*' ) \
16+ + Dir . glob ( 'scripts/**/*' ) \
17+ + %w( LICENSE README.md .version bin/octocatalog-diff )
1618 s . executables = 'octocatalog-diff'
1719 s . homepage = 'https://github.com/github/octocatalog-diff'
1820 s . summary = 'Compile Puppet catalogs from 2 branches, versions, etc., and compare them.'
3537
3638 s . add_development_dependency 'rubocop' , '= 0.48.1'
3739
38- s . add_development_dependency 'puppetdb-terminus' , '3.2.4'
39-
40- s . add_development_dependency 'simplecov' , '>= 0.14.1'
40+ s . add_development_dependency 'simplecov' , '~> 0.14.1'
4141 s . add_development_dependency 'simplecov-json'
4242
43- if ENV [ 'PUPPET_VERSION' ]
44- s . add_development_dependency 'puppet' , "~> #{ ENV [ 'PUPPET_VERSION' ] } "
45- if ENV [ 'PUPPET_VERSION' ] =~ /^3/
46- s . add_development_dependency 'safe_yaml' , '~> 1.0.4'
43+ puppet_version = ENV [ 'PUPPET_VERSION' ] || DEFAULT_PUPPET_VERSION
44+ s . add_development_dependency 'puppet' , "~> #{ puppet_version } "
45+
46+ puppet_v = Gem ::Version . new ( puppet_version )
47+ version_config = JSON . parse ( File . read ( File . join ( File . dirname ( __FILE__ ) , 'config' , 'puppet-versions.json' ) ) )
48+ version_config . each do |data |
49+ next unless puppet_v >= Gem ::Version . new ( data [ 'minimum_version' ] )
50+ next unless puppet_v <= Gem ::Version . new ( data [ 'maximum_version' ] )
51+ data [ 'additional_gems' ] . each do |additional_gem |
52+ s . add_development_dependency additional_gem [ "name" ] , additional_gem [ "version" ]
4753 end
48- else
49- s . add_development_dependency 'puppet' , "~> #{ DEFAULT_PUPPET_VERSION } "
5054 end
5155end
0 commit comments