@@ -14,50 +14,55 @@ def location_for(place_or_version, fake_version = nil)
1414end 
1515
1616group  :development  do 
17-   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 ) ) 
18-   gem  "json" ,  '= 2.3.0' ,                          require : false  if  Gem ::Requirement . create ( [ '>= 2.7.0' ,  '< 3.0.0' ] ) . satisfied_by? ( Gem ::Version . new ( RUBY_VERSION . dup ) ) 
19-   gem  "json" ,  '= 2.5.1' ,                          require : false  if  Gem ::Requirement . create ( [ '>= 3.0.0' ,  '< 3.0.5' ] ) . satisfied_by? ( Gem ::Version . new ( RUBY_VERSION . dup ) ) 
2017  gem  "json" ,  '= 2.6.1' ,                          require : false  if  Gem ::Requirement . create ( [ '>= 3.1.0' ,  '< 3.1.3' ] ) . satisfied_by? ( Gem ::Version . new ( RUBY_VERSION . dup ) ) 
2118  gem  "json" ,  '= 2.6.3' ,                          require : false  if  Gem ::Requirement . create ( [ '>= 3.2.0' ,  '< 4.0.0' ] ) . satisfied_by? ( Gem ::Version . new ( RUBY_VERSION . dup ) ) 
2219  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 ) ) 
2320  gem  "deep_merge" ,  '~> 1.2.2' ,                   require : false 
2421  gem  "voxpupuli-puppet-lint-plugins" ,  '~> 5.0' ,  require : false 
25-   gem  "facterdb" ,  '~> 2.1' ,                       require : false 
22+   gem  "facterdb" ,  '~> 2.1' ,                       require : false  if  Gem ::Requirement . create ( [ '< 3.0.0' ] ) . satisfied_by? ( Gem ::Version . new ( RUBY_VERSION . dup ) ) 
23+   gem  "facterdb" ,  '~> 3.0' ,                       require : false  if  Gem ::Requirement . create ( [ '>= 3.0.0' ] ) . satisfied_by? ( Gem ::Version . new ( RUBY_VERSION . dup ) ) 
2624  gem  "metadata-json-lint" ,  '~> 4.0' ,             require : false 
27-   gem  "rspec-puppet-facts" ,  '~> 4.0' ,             require : false 
25+   gem  "json-schema" ,  '< 5.1.1' ,                   require : false 
26+   gem  "rspec-puppet-facts" ,  '~> 4.0' ,             require : false  if  Gem ::Requirement . create ( [ '< 3.0.0' ] ) . satisfied_by? ( Gem ::Version . new ( RUBY_VERSION . dup ) ) 
27+   gem  "rspec-puppet-facts" ,  '~> 5.0' ,             require : false  if  Gem ::Requirement . create ( [ '>= 3.0.0' ] ) . satisfied_by? ( Gem ::Version . new ( RUBY_VERSION . dup ) ) 
2828  gem  "dependency_checker" ,  '~> 1.0.0' ,           require : false 
2929  gem  "parallel_tests" ,  '= 3.12.1' ,               require : false 
3030  gem  "pry" ,  '~> 0.10' ,                           require : false 
3131  gem  "simplecov-console" ,  '~> 0.9' ,              require : false 
32-   gem  "puppet-debugger" ,  '~> 1.0 ' ,                require : false 
32+   gem  "puppet-debugger" ,  '~> 1.6 ' ,                require : false 
3333  gem  "rubocop" ,  '~> 1.50.0' ,                     require : false 
3434  gem  "rubocop-performance" ,  '= 1.16.0' ,          require : false 
3535  gem  "rubocop-rspec" ,  '= 2.19.0' ,                require : false 
3636  gem  "rb-readline" ,  '= 0.5.5' ,                   require : false ,  platforms : [ :mswin ,  :mingw ,  :x64_mingw ] 
37-   gem  "rexml " ,  '>=  3.3.9 ' ,                         require :  false 
37+   gem  "bigdecimal " ,  '<  3.2.2 ' ,                    require :  false ,   platforms :  [ :mswin ,   :mingw ,   :x64_mingw ] 
3838end 
3939group  :development ,  :release_prep  do 
4040  gem  "puppet-strings" ,  '~> 4.0' ,          require : false 
41-   gem  "puppetlabs_spec_helper" ,  '~> 7.0' ,  require : false 
41+   gem  "puppetlabs_spec_helper" ,  '~> 8.0' ,  require : false 
42+   gem  "puppet-blacksmith" ,  '~> 7.0' ,       require : false 
4243end 
4344group  :system_tests  do 
44-   gem  "puppet_litmus" ,  '~> 1.0' ,    require : false ,  platforms : [ :ruby ,  :x64_mingw ] 
45+   gem  "puppet_litmus" ,  '~> 2.0' ,    require : false ,  platforms : [ :ruby ,  :x64_mingw ]  if  !ENV [ 'PUPPET_FORGE_TOKEN' ] . to_s . empty? 
46+   gem  "puppet_litmus" ,  '~> 1.0' ,    require : false ,  platforms : [ :ruby ,  :x64_mingw ]  if  ENV [ 'PUPPET_FORGE_TOKEN' ] . to_s . empty? 
4547  gem  "CFPropertyList" ,  '< 3.0.7' ,  require : false ,  platforms : [ :mswin ,  :mingw ,  :x64_mingw ] 
4648  gem  "serverspec" ,  '~> 2.41' ,      require : false 
4749end 
4850
49- puppet_version  =  ENV [ 'PUPPET_GEM_VERSION' ] 
50- facter_version  =  ENV [ 'FACTER_GEM_VERSION' ] 
51- hiera_version  =  ENV [ 'HIERA_GEM_VERSION' ] 
52- 
5351gems  =  { } 
52+ puppet_version  =  ENV . fetch ( 'PUPPET_GEM_VERSION' ,  nil ) 
53+ facter_version  =  ENV . fetch ( 'FACTER_GEM_VERSION' ,  nil ) 
54+ hiera_version  =  ENV . fetch ( 'HIERA_GEM_VERSION' ,  nil ) 
5455
55- gems [ 'puppet' ]  =  location_for ( puppet_version ) 
56- 
57- # If facter or hiera versions have been specified via the environment 
58- # variables 
56+ # If PUPPET_FORGE_TOKEN is set then use authenticated source for both puppet and facter, since facter is a transitive dependency of puppet 
57+ # Otherwise, do as before and use location_for to fetch gems from the default source 
58+ if  !ENV [ 'PUPPET_FORGE_TOKEN' ] . to_s . empty? 
59+   gems [ 'puppet' ]  =  [ '~> 8.11' ,  {  require : false ,  source : 'https://rubygems-puppetcore.puppet.com'  } ] 
60+   gems [ 'facter' ]  =  [ '~> 4.11' ,  {  require : false ,  source : 'https://rubygems-puppetcore.puppet.com'  } ] 
61+ else 
62+   gems [ 'puppet' ]  =  location_for ( puppet_version ) 
63+   gems [ 'facter' ]  =  location_for ( facter_version )  if  facter_version 
64+ end 
5965
60- gems [ 'facter' ]  =  location_for ( facter_version )  if  facter_version 
6166gems [ 'hiera' ]  =  location_for ( hiera_version )  if  hiera_version 
6267
6368gems . each  do  |gem_name ,  gem_params |
0 commit comments