@@ -21,20 +21,18 @@ def gem_type(place_or_version)
21
21
end
22
22
23
23
ruby_version_segments = Gem ::Version . new ( RUBY_VERSION . dup ) . segments
24
- #minor_version = ruby_version_segments[0..1].join('.')
25
- minor_version = "#{ ruby_version_segments [ 0 ] } .#{ ruby_version_segments [ 1 ] } "
26
-
24
+ minor_version = ruby_version_segments [ 0 ..1 ] . join ( '.' )
27
25
28
26
group :development do
29
27
gem "fast_gettext" , '1.1.0' , require : false if Gem ::Version . new ( RUBY_VERSION . dup ) < Gem ::Version . new ( '2.1.0' )
30
28
gem "fast_gettext" , require : false if Gem ::Version . new ( RUBY_VERSION . dup ) >= Gem ::Version . new ( '2.1.0' )
31
29
gem "json_pure" , '<= 2.0.1' , require : false if Gem ::Version . new ( RUBY_VERSION . dup ) < Gem ::Version . new ( '2.0.0' )
32
30
gem "json" , '= 1.8.1' , require : false if Gem ::Version . new ( RUBY_VERSION . dup ) == Gem ::Version . new ( '2.1.9' )
31
+ gem "json" , '<= 2.0.4' , require : false if Gem ::Version . new ( RUBY_VERSION . dup ) == Gem ::Version . new ( '2.4.4' )
33
32
gem "puppet-module-posix-default-r#{ minor_version } " , require : false , platforms : [ :ruby ]
34
33
gem "puppet-module-posix-dev-r#{ minor_version } " , require : false , platforms : [ :ruby ]
35
34
gem "puppet-module-win-default-r#{ minor_version } " , require : false , platforms : [ :mswin , :mingw , :x64_mingw ]
36
35
gem "puppet-module-win-dev-r#{ minor_version } " , require : false , platforms : [ :mswin , :mingw , :x64_mingw ]
37
- gem "puppet-blacksmith" , '~> 3.4' , require : false
38
36
end
39
37
group :system_tests do
40
38
gem "puppet-module-posix-system-r#{ minor_version } " , require : false , platforms : [ :ruby ]
@@ -51,73 +49,24 @@ puppet_type = gem_type(puppet_version)
51
49
facter_version = ENV [ 'FACTER_GEM_VERSION' ]
52
50
hiera_version = ENV [ 'HIERA_GEM_VERSION' ]
53
51
54
- def puppet_older_than? ( version )
55
- puppet_version = ENV [ 'PUPPET_GEM_VERSION' ]
56
- !puppet_version . nil? &&
57
- Gem ::Version . correct? ( puppet_version ) &&
58
- Gem ::Requirement . new ( "< #{ version } " ) . satisfied_by? ( Gem ::Version . new ( puppet_version . dup ) )
59
- end
60
-
61
52
gems = { }
62
53
63
54
gems [ 'puppet' ] = location_for ( puppet_version )
64
55
65
56
# If facter or hiera versions have been specified via the environment
66
- # variables, use those versions. If not, and if the puppet version is < 3.5.0,
67
- # use known good versions of both for puppet < 3.5.0.
68
- if facter_version
69
- gems [ 'facter' ] = location_for ( facter_version )
70
- elsif puppet_type == :gem && puppet_older_than? ( '3.5.0' )
71
- gems [ 'facter' ] = [ '>= 1.6.11' , '<= 1.7.5' , require : false ]
72
- end
73
-
74
- if hiera_version
75
- gems [ 'hiera' ] = location_for ( ENV [ 'HIERA_GEM_VERSION' ] )
76
- elsif puppet_type == :gem && puppet_older_than? ( '3.5.0' )
77
- gems [ 'hiera' ] = [ '>= 1.0.0' , '<= 1.3.0' , require : false ]
78
- end
57
+ # variables
79
58
80
- if Gem . win_platform? && ( puppet_type != :gem || puppet_older_than? ( '3.5.0' ) )
81
- # For Puppet gems < 3.5.0 (tested as far back as 3.0.0) on Windows
82
- if puppet_type == :gem
83
- gems [ 'ffi' ] = [ '1.9.0' , require : false ]
84
- gems [ 'minitar' ] = [ '0.5.4' , require : false ]
85
- gems [ 'win32-eventlog' ] = [ '0.5.3' , '<= 0.6.5' , require : false ]
86
- gems [ 'win32-process' ] = [ '0.6.5' , '<= 0.7.5' , require : false ]
87
- gems [ 'win32-security' ] = [ '~> 0.1.2' , '<= 0.2.5' , require : false ]
88
- gems [ 'win32-service' ] = [ '0.7.2' , '<= 0.8.8' , require : false ]
89
- else
90
- gems [ 'ffi' ] = [ '~> 1.9.0' , require : false ]
91
- gems [ 'minitar' ] = [ '~> 0.5.4' , require : false ]
92
- gems [ 'win32-eventlog' ] = [ '~> 0.5' , '<= 0.6.5' , require : false ]
93
- gems [ 'win32-process' ] = [ '~> 0.6' , '<= 0.7.5' , require : false ]
94
- gems [ 'win32-security' ] = [ '~> 0.1' , '<= 0.2.5' , require : false ]
95
- gems [ 'win32-service' ] = [ '~> 0.7' , '<= 0.8.8' , require : false ]
96
- end
97
-
98
- gems [ 'win32-dir' ] = [ '~> 0.3' , '<= 0.4.9' , require : false ]
99
-
100
- if RUBY_VERSION . start_with? ( '1.' )
101
- gems [ 'win32console' ] = [ '1.3.2' , require : false ]
102
- # sys-admin was removed in Puppet 3.7.0 and doesn't compile under Ruby 2.x
103
- gems [ 'sys-admin' ] = [ '1.5.6' , require : false ]
104
- end
59
+ gems [ 'facter' ] = location_for ( facter_version ) if facter_version
60
+ gems [ 'hiera' ] = location_for ( hiera_version ) if hiera_version
105
61
106
- # Puppet < 3.7.0 requires these.
107
- # Puppet >= 3.5.0 gem includes these as requirements.
108
- # The following versions are tested to work with 3.0.0 <= puppet < 3.7.0.
109
- gems [ 'win32-api' ] = [ '1.4.8' , require : false ]
110
- gems [ 'win32-taskscheduler' ] = [ '0.2.2' , require : false ]
111
- gems [ 'windows-api' ] = [ '0.4.3' , require : false ]
112
- gems [ 'windows-pr' ] = [ '1.2.3' , require : false ]
113
- elsif Gem . win_platform?
62
+ if Gem . win_platform? && puppet_version =~ %r{^(file:///|git://)}
114
63
# If we're using a Puppet gem on Windows which handles its own win32-xxx gem
115
64
# dependencies (>= 3.5.0), set the maximum versions (see PUP-6445).
116
65
gems [ 'win32-dir' ] = [ '<= 0.4.9' , require : false ]
117
66
gems [ 'win32-eventlog' ] = [ '<= 0.6.5' , require : false ]
118
67
gems [ 'win32-process' ] = [ '<= 0.7.5' , require : false ]
119
68
gems [ 'win32-security' ] = [ '<= 0.2.5' , require : false ]
120
- gems [ 'win32-service' ] = [ '<= 0.8.8' , require : false ]
69
+ gems [ 'win32-service' ] = [ '0.8.8' , require : false ]
121
70
end
122
71
123
72
gems . each do |gem_name , gem_params |
0 commit comments