Skip to content

Commit f037c41

Browse files
authored
Merge pull request #213 from ekohl/soft-puppet-dependency
Make Puppet a soft dependency
2 parents bb04227 + 55def35 commit f037c41

File tree

3 files changed

+19
-4
lines changed

3 files changed

+19
-4
lines changed

Gemfile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,5 +14,6 @@ end
1414
# openvox on Ruby 3.3 / 3.4 has some missing dependencies
1515
# Will be fixed in a future openvox release
1616
gem 'base64', '~> 0.2' if RUBY_VERSION >= '3.4'
17+
gem 'puppet', '>= 7', '< 9'
1718
gem 'racc', '~> 1.8' if RUBY_VERSION >= '3.3'
1819
gem 'syslog', '~> 0.3' if RUBY_VERSION >= '3.4'

lib/rspec-puppet-facts.rb

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
# frozen_string_literal: true
22

3-
require 'puppet'
43
require 'facter'
54
require 'facterdb'
65
require 'json'
@@ -254,12 +253,21 @@ def self.spec_facts_strict?
254253
def self.common_facts
255254
return @common_facts if @common_facts
256255

256+
# from Facter itself
257257
@common_facts = {
258-
puppetversion: Puppet.version,
259258
rubysitedir: RbConfig::CONFIG['sitelibdir'],
260259
rubyversion: RUBY_VERSION,
261260
}
262261

262+
begin
263+
require 'puppet'
264+
rescue LoadError
265+
warning 'Could not load Puppet'
266+
else
267+
# from Puppet.initialize_facts
268+
@common_facts[:puppetversion] = Puppet.version.to_s
269+
end
270+
263271
@common_facts[:mco_version] = MCollective::VERSION if mcollective?
264272

265273
if augeas?
@@ -418,6 +426,13 @@ def self.facter_version_for_puppet_version(puppet_version)
418426
end
419427

420428
RSpec.configure do |c|
421-
c.add_setting :default_facter_version, default: RspecPuppetFacts.facter_version_for_puppet_version(Puppet.version)
429+
begin
430+
require 'puppet'
431+
rescue LoadError
432+
puppet_version = nil
433+
else
434+
puppet_version = Puppet.version
435+
end
436+
c.add_setting :default_facter_version, default: RspecPuppetFacts.facter_version_for_puppet_version(puppet_version)
422437
c.add_setting :facterdb_string_keys, default: false
423438
end

rspec-puppet-facts.gemspec

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,5 +28,4 @@ Gem::Specification.new do |s|
2828
s.add_dependency 'deep_merge', '~> 1.2'
2929
s.add_dependency 'facter', '< 5'
3030
s.add_dependency 'facterdb', '~> 3.1'
31-
s.add_dependency 'puppet', '>= 7', '< 9'
3231
end

0 commit comments

Comments
 (0)