1
1
require_relative 'lib/octocatalog-diff/version'
2
+ require 'json'
2
3
3
4
DEFAULT_PUPPET_VERSION = '4.10.0' . freeze
4
5
@@ -10,9 +11,10 @@ Gem::Specification.new do |s|
10
11
s . license = 'MIT'
11
12
s . authors = [ 'GitHub, Inc.' , 'Kevin Paulisse' ]
12
13
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 )
16
18
s . executables = 'octocatalog-diff'
17
19
s . homepage = 'https://github.com/github/octocatalog-diff'
18
20
s . summary = 'Compile Puppet catalogs from 2 branches, versions, etc., and compare them.'
35
37
36
38
s . add_development_dependency 'rubocop' , '= 0.48.1'
37
39
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'
41
41
s . add_development_dependency 'simplecov-json'
42
42
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" ]
47
53
end
48
- else
49
- s . add_development_dependency 'puppet' , "~> #{ DEFAULT_PUPPET_VERSION } "
50
54
end
51
55
end
0 commit comments