@@ -22,27 +22,31 @@ group :development do
2222 gem "racc" , '~> 1.4.0' , require : false if Gem ::Requirement . create ( [ '>= 2.7.0' , '< 3.0.0' ] ) . satisfied_by? ( Gem ::Version . new ( RUBY_VERSION . dup ) )
2323 gem "deep_merge" , '~> 1.2.2' , require : false
2424 gem "voxpupuli-puppet-lint-plugins" , '~> 5.0' , require : false
25- gem "facterdb" , '~> 2.1' , require : false
25+ gem "facterdb" , '~> 2.1' , require : false if Gem ::Requirement . create ( [ '< 3.0.0' ] ) . satisfied_by? ( Gem ::Version . new ( RUBY_VERSION . dup ) )
26+ gem "facterdb" , '~> 3.0' , require : false if Gem ::Requirement . create ( [ '>= 3.0.0' ] ) . satisfied_by? ( Gem ::Version . new ( RUBY_VERSION . dup ) )
2627 gem "metadata-json-lint" , '~> 4.0' , require : false
27- gem "rspec-puppet-facts" , '~> 4.0' , require : false
28+ gem "json-schema" , '< 5.1.1' , require : false
29+ gem "rspec-puppet-facts" , '~> 4.0' , require : false if Gem ::Requirement . create ( [ '< 3.0.0' ] ) . satisfied_by? ( Gem ::Version . new ( RUBY_VERSION . dup ) )
30+ gem "rspec-puppet-facts" , '~> 5.0' , require : false if Gem ::Requirement . create ( [ '>= 3.0.0' ] ) . satisfied_by? ( Gem ::Version . new ( RUBY_VERSION . dup ) )
2831 gem "dependency_checker" , '~> 1.0.0' , require : false
2932 gem "parallel_tests" , '= 3.12.1' , require : false
3033 gem "pry" , '~> 0.10' , require : false
3134 gem "simplecov-console" , '~> 0.9' , require : false
32- gem "puppet-debugger" , '~> 1.0 ' , require : false
35+ gem "puppet-debugger" , '~> 1.6 ' , require : false
3336 gem "rubocop" , '~> 1.50.0' , require : false
3437 gem "rubocop-performance" , '= 1.16.0' , require : false
3538 gem "rubocop-rspec" , '= 2.19.0' , require : false
3639 gem "rb-readline" , '= 0.5.5' , require : false , platforms : [ :mswin , :mingw , :x64_mingw ]
37- gem "rexml " , '>= 3.3.9 ' , require : false
40+ gem "bigdecimal " , '< 3.2.2 ' , require : false , platforms : [ :mswin , :mingw , :x64_mingw ]
3841 gem "github_changelog_generator" , '= 1.15.2' , require : false
3942end
4043group :development , :release_prep do
4144 gem "puppet-strings" , '~> 4.0' , require : false
42- gem "puppetlabs_spec_helper" , '~> 7 .0' , require : false
45+ gem "puppetlabs_spec_helper" , '~> 8 .0' , require : false
4346end
4447group :system_tests do
45- gem "puppet_litmus" , '~> 1.0' , require : false , platforms : [ :ruby , :x64_mingw ]
48+ gem "puppet_litmus" , '~> 2.0' , require : false , platforms : [ :ruby , :x64_mingw ] if !ENV [ 'PUPPET_FORGE_TOKEN' ] . to_s . empty?
49+ gem "puppet_litmus" , '~> 1.0' , require : false , platforms : [ :ruby , :x64_mingw ] if ENV [ 'PUPPET_FORGE_TOKEN' ] . to_s . empty?
4650 gem "CFPropertyList" , '< 3.0.7' , require : false , platforms : [ :mswin , :mingw , :x64_mingw ]
4751 gem "serverspec" , '~> 2.41' , require : false
4852end
@@ -53,12 +57,20 @@ hiera_version = ENV['HIERA_GEM_VERSION']
5357
5458gems = { }
5559
56- gems [ 'puppet' ] = location_for ( puppet_version )
60+ puppet_version = ENV . fetch ( 'PUPPET_GEM_VERSION' , nil )
61+ facter_version = ENV . fetch ( 'FACTER_GEM_VERSION' , nil )
62+ hiera_version = ENV . fetch ( 'HIERA_GEM_VERSION' , nil )
5763
58- # If facter or hiera versions have been specified via the environment
59- # variables
64+ # If PUPPET_FORGE_TOKEN is set then use authenticated source for both puppet and facter, since facter is a transitive dependency of puppet
65+ # Otherwise, do as before and use location_for to fetch gems from the default source
66+ if !ENV [ 'PUPPET_FORGE_TOKEN' ] . to_s . empty?
67+ gems [ 'puppet' ] = [ '~> 8.11' , { require : false , source : 'https://rubygems-puppetcore.puppet.com' } ]
68+ gems [ 'facter' ] = [ '~> 4.11' , { require : false , source : 'https://rubygems-puppetcore.puppet.com' } ]
69+ else
70+ gems [ 'puppet' ] = location_for ( puppet_version )
71+ gems [ 'facter' ] = location_for ( facter_version ) if facter_version
72+ end
6073
61- gems [ 'facter' ] = location_for ( facter_version ) if facter_version
6274gems [ 'hiera' ] = location_for ( hiera_version ) if hiera_version
6375
6476gems . each do |gem_name , gem_params |
0 commit comments