1
1
source "https://rubygems.org"
2
2
3
- # Puppet 4.10.2 is the minimum version we support on Windows due to https://tickets.puppetlabs.com/browse/PUP-7383
4
- # On Linux we support down to 4.6
5
- gem "puppet" , "~> #{ ENV . fetch ( 'PUPPET_VERSION' , '4.10.2' ) } "
3
+ ruby_version = Gem ::Version . new ( RUBY_VERSION . dup )
6
4
7
- ruby_version_segments = Gem ::Version . new ( RUBY_VERSION . dup ) . segments
5
+ # Each version of Puppet recommends a specific version of Ruby. Try to fetch the Puppet version that
6
+ # matches our Ruby (unless PUPPET_VERSION is defined).
7
+ matching_puppet_version = ruby_version > Gem ::Version . new ( '2.5' ) ? ( ruby_version > Gem ::Version . new ( '2.7' ) ? '7.0.0' : '6.0.1' ) : '4.10.2'
8
+ gem "puppet" , "~> #{ ENV . fetch ( 'PUPPET_VERSION' , matching_puppet_version ) } "
9
+
10
+ ruby_version_segments = ruby_version . segments
8
11
minor_version = ruby_version_segments [ 0 ..1 ] . join ( '.' )
9
12
10
13
group :development do
11
- gem "rake" , "~> 12.3.3" if RUBY_VERSION < '2.6.0' # last version for ruby < 2.6
12
- gem "xmlrpc" if RUBY_VERSION >= '2.3'
14
+ gem "rake" , "~> 12.3.3" if ruby_version < Gem :: Version . new ( '2.6.0' ) # last version for ruby < 2.6
15
+ gem "xmlrpc" if ruby_version >= Gem :: Version . new ( '2.3' )
13
16
gem "ruby-pwsh" , '~> 0.3.0' , platforms : [ :mswin , :mingw , :x64_mingw ]
14
- gem "fast_gettext" , '1.1.0' , require : false if Gem :: Version . new ( RUBY_VERSION . dup ) < Gem ::Version . new ( '2.1.0' )
15
- gem "fast_gettext" , require : false if Gem :: Version . new ( RUBY_VERSION . dup ) >= Gem ::Version . new ( '2.1.0' )
16
- gem "json_pure" , '<= 2.0.1' , require : false if Gem :: Version . new ( RUBY_VERSION . dup ) < Gem ::Version . new ( '2.0.0' )
17
- gem "json" , '= 1.8.1' , require : false if Gem :: Version . new ( RUBY_VERSION . dup ) == Gem ::Version . new ( '2.1.9' )
18
- gem "json" , '= 2.0.4' , require : false if Gem ::Requirement . create ( '~> 2.4.2' ) . satisfied_by? ( Gem :: Version . new ( RUBY_VERSION . dup ) )
19
- gem "json" , '= 2.1.0' , require : false if Gem ::Requirement . create ( [ '>= 2.5.0' , '< 2.7.0' ] ) . satisfied_by? ( Gem :: Version . new ( RUBY_VERSION . dup ) )
17
+ gem "fast_gettext" , '1.1.0' , require : false if ruby_version < Gem ::Version . new ( '2.1.0' )
18
+ gem "fast_gettext" , require : false if ruby_version >= Gem ::Version . new ( '2.1.0' )
19
+ gem "json_pure" , '<= 2.0.1' , require : false if ruby_version < Gem ::Version . new ( '2.0.0' )
20
+ gem "json" , '= 1.8.1' , require : false if ruby_version == Gem ::Version . new ( '2.1.9' )
21
+ gem "json" , '= 2.0.4' , require : false if Gem ::Requirement . create ( '~> 2.4.2' ) . satisfied_by? ( ruby_version )
22
+ gem "json" , '= 2.1.0' , require : false if Gem ::Requirement . create ( [ '>= 2.5.0' , '< 2.7.0' ] ) . satisfied_by? ( ruby_version )
20
23
gem "rb-readline" , '= 0.5.5' , require : false , platforms : [ :mswin , :mingw , :x64_mingw ]
21
24
gem "librarian-puppet"
22
25
gem "kitchen-puppet"
23
26
gem "kitchen-docker"
24
27
gem "kitchen-verifier-serverspec"
25
28
gem "mixlib-shellout" , "~> 2.2.7" , platforms : [ :ruby ]
29
+ gem "rubocop-i18n" , "~> 1.2.0"
30
+ gem "rubocop-rspec" , "~> 1.16.0"
26
31
27
- if RUBY_VERSION >= '2.3'
32
+ if ruby_version >= Gem :: Version . new ( '2.3' )
28
33
gem "test-kitchen" , '~> 2.5.4'
29
- gem "puppet-module-posix-default-r#{ minor_version } " , '~> 0.3' , require : false , platforms : [ :ruby ]
30
- gem "puppet-module-posix-dev-r#{ minor_version } " , '~> 0.3' , require : false , platforms : [ :ruby ]
31
- gem "puppet-module-win-default-r#{ minor_version } " , '~> 0.3' , require : false , platforms : [ :mswin , :mingw , :x64_mingw ]
32
- gem "puppet-module-win-dev-r#{ minor_version } " , '~> 0.3' , require : false , platforms : [ :mswin , :mingw , :x64_mingw ]
34
+ gem "puppet-module-posix-default-r#{ minor_version } " , require : false , platforms : [ :ruby ]
35
+ gem "puppet-module-posix-dev-r#{ minor_version } " , require : false , platforms : [ :ruby ]
36
+ gem "puppet-module-win-default-r#{ minor_version } " , require : false , platforms : [ :mswin , :mingw , :x64_mingw ]
37
+ gem "puppet-module-win-dev-r#{ minor_version } " , require : false , platforms : [ :mswin , :mingw , :x64_mingw ]
33
38
else
34
39
gem "test-kitchen" , '~> 1.16.0'
35
40
gem "puppetlabs_spec_helper" , "~> 2.14.1"
@@ -38,8 +43,6 @@ group :development do
38
43
gem "puppet-syntax" , "~> 2.5.0"
39
44
gem "rspec-puppet" , "~> 2.6.9"
40
45
gem "rubocop" , "~> 0.49.1"
41
- gem "rubocop-i18n" , "~> 1.2.0"
42
- gem "rubocop-rspec" , "~> 1.16.0"
43
46
gem "artifactory" , "~> 2.8.2"
44
47
end
45
48
end
0 commit comments