11source "https://rubygems.org"
22
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 )
64
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
811minor_version = ruby_version_segments [ 0 ..1 ] . join ( '.' )
912
1013group :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' )
1316 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 )
2023 gem "rb-readline" , '= 0.5.5' , require : false , platforms : [ :mswin , :mingw , :x64_mingw ]
2124 gem "librarian-puppet"
2225 gem "kitchen-puppet"
2326 gem "kitchen-docker"
2427 gem "kitchen-verifier-serverspec"
2528 gem "mixlib-shellout" , "~> 2.2.7" , platforms : [ :ruby ]
29+ gem "rubocop-i18n" , "~> 1.2.0"
30+ gem "rubocop-rspec" , "~> 1.16.0"
2631
27- if RUBY_VERSION >= '2.3'
32+ if ruby_version >= Gem :: Version . new ( '2.3' )
2833 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 ]
3338 else
3439 gem "test-kitchen" , '~> 1.16.0'
3540 gem "puppetlabs_spec_helper" , "~> 2.14.1"
@@ -38,8 +43,6 @@ group :development do
3843 gem "puppet-syntax" , "~> 2.5.0"
3944 gem "rspec-puppet" , "~> 2.6.9"
4045 gem "rubocop" , "~> 0.49.1"
41- gem "rubocop-i18n" , "~> 1.2.0"
42- gem "rubocop-rspec" , "~> 1.16.0"
4346 gem "artifactory" , "~> 2.8.2"
4447 end
4548end
0 commit comments