You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Feb 7, 2024. It is now read-only.
Given: ruby 2.5.5p157 and puppetfile-resolver-0.2.0.
When I: run the following Ruby script called puppetfile-resolver against Puppetfile in the same directory.
#!/usr/bin/ruby
puppetfile_path = 'Puppetfile'
# Parse the Puppetfile into an object model
content = File.open(puppetfile_path, 'rb') { |f| f.read }
require 'puppetfile-resolver'
puppetfile = ::PuppetfileResolver::Puppetfile::Parser::R10KEval.parse(content)
# Make sure the Puppetfile is valid
unless puppetfile.valid?
puts 'Puppetfile is not valid'
puppetfile.validation_errors.each { |err| puts err }
exit 1
end
# Create the resolver
# - Use the document we just parsed (puppetfile)
# - Don't restrict by Puppet version (nil)
resolver = PuppetfileResolver::Resolver.new(puppetfile, nil)
# Configure the resolver
cache = nil # Use the default inmemory cache
ui = nil # Don't output any information
module_paths = [] # List of paths to search for modules on the local filesystem
allow_missing_modules = true # Allow missing dependencies to be resolved
opts = { cache: cache, ui: ui, module_paths: module_paths, allow_missing_modules: allow_missing_modules }
# Resolve
result = resolver.resolve(opts)
# Output resolution validation errors
result.validation_errors.each { |err| puts "Resolution Validation Error: #{err}\n"}
I get:
-> % ./puppetfile-resolver.rb
NOTE: Gem::Specification#rubyforge_project= is deprecated with no replacement. It will be removed on or after 2019-12-01.
Gem::Specification#rubyforge_project= called from /usr/share/rubygems-integration/all/specifications/erubis-2.7.0.gemspec:16.
Traceback (most recent call last):
23: from ./puppetfile-resolver.rb:30:in `<main>'
22: from /home/threepistons/.gem/ruby/2.5.0/gems/puppetfile-resolver-0.2.0/lib/puppetfile-resolver/resolver.rb:36:in `resolve'
21: from /home/threepistons/.gem/ruby/2.5.0/gems/molinillo-0.6.6/lib/molinillo/resolver.rb:43:in `resolve'
20: from /home/threepistons/.gem/ruby/2.5.0/gems/molinillo-0.6.6/lib/molinillo/resolution.rb:182:in `resolve'
19: from /home/threepistons/.gem/ruby/2.5.0/gems/molinillo-0.6.6/lib/molinillo/resolution.rb:254:in `process_topmost_state'
18: from /home/threepistons/.gem/ruby/2.5.0/gems/molinillo-0.6.6/lib/molinillo/resolution.rb:673:in `attempt_to_activate'
17: from /home/threepistons/.gem/ruby/2.5.0/gems/molinillo-0.6.6/lib/molinillo/resolution.rb:702:in `attempt_to_filter_existing_spec'
16: from /home/threepistons/.gem/ruby/2.5.0/gems/molinillo-0.6.6/lib/molinillo/resolution.rb:305:in `unwind_for_conflict'
15: from /home/threepistons/.gem/ruby/2.5.0/gems/molinillo-0.6.6/lib/molinillo/resolution.rb:335:in `build_details_for_unwind'
14: from /home/threepistons/.gem/ruby/2.5.0/gems/molinillo-0.6.6/lib/molinillo/resolution.rb:541:in `binding_requirements_for_conflict'
13: from /home/threepistons/.gem/ruby/2.5.0/gems/molinillo-0.6.6/lib/molinillo/resolution.rb:566:in `binding_requirement_in_set?'
12: from /home/threepistons/.gem/ruby/2.5.0/gems/molinillo-0.6.6/lib/molinillo/resolution.rb:566:in `any?'
11: from /home/threepistons/.gem/ruby/2.5.0/gems/molinillo-0.6.6/lib/molinillo/resolution.rb:567:in `block in binding_requirement_in_set?'
10: from /home/threepistons/.gem/ruby/2.5.0/gems/molinillo-0.6.6/lib/molinillo/resolution.rb:486:in `possibility_satisfies_requirements?'
9: from /home/threepistons/.gem/ruby/2.5.0/gems/molinillo-0.6.6/lib/molinillo/resolution.rb:486:in `all?'
8: from /home/threepistons/.gem/ruby/2.5.0/gems/molinillo-0.6.6/lib/molinillo/resolution.rb:486:in `each'
7: from /home/threepistons/.gem/ruby/2.5.0/gems/molinillo-0.6.6/lib/molinillo/resolution.rb:486:in `block in possibility_satisfies_requirements?'
6: from /home/threepistons/.gem/ruby/2.5.0/gems/molinillo-0.6.6/lib/molinillo/delegates/specification_provider.rb:24:in `requirement_satisfied_by?'
5: from /home/threepistons/.gem/ruby/2.5.0/gems/molinillo-0.6.6/lib/molinillo/delegates/specification_provider.rb:70:in `with_no_such_dependency_error_handling'
4: from /home/threepistons/.gem/ruby/2.5.0/gems/molinillo-0.6.6/lib/molinillo/delegates/specification_provider.rb:25:in `block in requirement_satisfied_by?'
3: from /home/threepistons/.gem/ruby/2.5.0/gems/puppetfile-resolver-0.2.0/lib/puppetfile-resolver/resolution_provider.rb:94:in `requirement_satisfied_by?'
2: from /home/threepistons/.gem/ruby/2.5.0/gems/puppetfile-resolver-0.2.0/lib/puppetfile-resolver/models/module_dependency.rb:43:in `satisified_by?'
1: from /home/threepistons/.gem/ruby/2.5.0/gems/puppetfile-resolver-0.2.0/lib/puppetfile-resolver/models/module_dependency.rb:51:in `semantic_requirement'
/home/threepistons/.gem/ruby/2.5.0/gems/semantic_puppet-1.0.2/lib/semantic_puppet/version_range.rb:66:in `parse': undefined method `gsub' for nil:NilClass (NoMethodError)
I expected: a report about the state of my Puppetfile.