Open
Description
Describe the Bug
puppet-strings relies on puppet. Running the strings:generate:reference
rake task fails with:
LoadError: cannot load such file -- racc/parser.rb (LoadError)
/home/runner/work/puppet-example/puppet-example/vendor/bundle/ruby/3.3.0/gems/puppet-8.10.0/lib/puppet/pops/parser/eparser.rb:7:in `<top (required)>'
/home/runner/work/puppet-example/puppet-example/vendor/bundle/ruby/3.3.0/gems/puppet-8.10.0/lib/puppet/pops.rb:86:in `require_relative'
/home/runner/work/puppet-example/puppet-example/vendor/bundle/ruby/3.3.0/gems/puppet-8.10.0/lib/puppet/pops.rb:86:in `<module:Parser>'
/home/runner/work/puppet-example/puppet-example/vendor/bundle/ruby/3.3.0/gems/puppet-8.10.0/lib/puppet/pops.rb:[85](https://github.com/voxpupuli/puppet-example/actions/runs/12453248817/job/34763447263#step:6:86):in `<module:Pops>'
/home/runner/work/puppet-example/puppet-example/vendor/bundle/ruby/3.3.0/gems/puppet-8.10.0/lib/puppet/pops.rb:14:in `<module:Puppet>'
/home/runner/work/puppet-example/puppet-example/vendor/bundle/ruby/3.3.0/gems/puppet-8.10.0/lib/puppet/pops.rb:3:in `<top (required)>'
/home/runner/work/puppet-example/puppet-example/vendor/bundle/ruby/3.3.0/gems/puppet-8.10.0/lib/puppet/parser/compiler.rb:10:in `require_relative'
/home/runner/work/puppet-example/puppet-example/vendor/bundle/ruby/3.3.0/gems/puppet-8.10.0/lib/puppet/parser/compiler.rb:10:in `<top (required)>'
/home/runner/work/puppet-example/puppet-example/vendor/bundle/ruby/3.3.0/gems/puppet-8.10.0/lib/puppet/parser.rb:8:in `require_relative'
/home/runner/work/puppet-example/puppet-example/vendor/bundle/ruby/3.3.0/gems/puppet-8.10.0/lib/puppet/parser.rb:8:in `<top (required)>'
/home/runner/work/puppet-example/puppet-example/vendor/bundle/ruby/3.3.0/gems/puppet-8.10.0/lib/puppet.rb:338:in `require_relative'
/home/runner/work/puppet-example/puppet-example/vendor/bundle/ruby/3.3.0/gems/puppet-8.10.0/lib/puppet.rb:338:in `<top (required)>'
/home/runner/work/puppet-example/puppet-example/vendor/bundle/ruby/3.3.0/gems/puppet-strings-4.1.3/lib/puppet-strings/yard/parsers/puppet/parser.rb:3:in `<top (required)>'
/home/runner/work/puppet-example/puppet-example/vendor/bundle/ruby/3.3.0/gems/puppet-strings-4.1.3/lib/puppet-strings/yard/parsers.rb:12:in `<module:Puppet>'
/home/runner/work/puppet-example/puppet-example/vendor/bundle/ruby/3.3.0/gems/puppet-strings-4.1.3/lib/puppet-strings/yard/parsers.rb:11:in `<module:Parsers>'
/home/runner/work/puppet-example/puppet-example/vendor/bundle/ruby/3.3.0/gems/puppet-strings-4.1.3/lib/puppet-strings/yard/parsers.rb:4:in `<top (required)>'
/home/runner/work/puppet-example/puppet-example/vendor/bundle/ruby/3.3.0/gems/puppet-strings-4.1.3/lib/puppet-strings/yard/handlers/json/task_handler.rb:4:in `<top (required)>'
/home/runner/work/puppet-example/puppet-example/vendor/bundle/ruby/3.3.0/gems/puppet-strings-4.1.3/lib/puppet-strings/yard/handlers.rb:17:in `<module:JSON>'
/home/runner/work/puppet-example/puppet-example/vendor/bundle/ruby/3.3.0/gems/puppet-strings-4.1.3/lib/puppet-strings/yard/handlers.rb:16:in `<module:Handlers>'
/home/runner/work/puppet-example/puppet-example/vendor/bundle/ruby/3.3.0/gems/puppet-strings-4.1.3/lib/puppet-strings/yard/handlers.rb:4:in `<top (required)>'
/home/runner/work/puppet-example/puppet-example/vendor/bundle/ruby/3.3.0/gems/puppet-strings-4.1.3/lib/puppet-strings/yard.rb:8:in `<module:Yard>'
/home/runner/work/puppet-example/puppet-example/vendor/bundle/ruby/3.3.0/gems/puppet-strings-4.1.3/lib/puppet-strings/yard.rb:6:in `<top (required)>'
/home/runner/work/puppet-example/puppet-example/vendor/bundle/ruby/3.3.0/gems/puppet-strings-4.1.3/lib/puppet-strings.rb:20:in `generate'
/home/runner/work/puppet-example/puppet-example/vendor/bundle/ruby/3.3.0/gems/puppet-strings-4.1.3/lib/puppet-strings/tasks/generate.rb:45:in `block (2 levels) in <top (required)>'
/home/runner/work/puppet-example/puppet-example/vendor/bundle/ruby/3.3.0/gems/puppet-strings-4.1.3/lib/puppet-strings/tasks/generate.rb:51:in `block (3 levels) in <top (required)>'
/home/runner/work/puppet-example/puppet-example/vendor/bundle/ruby/3.3.0/gems/voxpupuli-release-3.2.2/lib/voxpupuli/release/rake_tasks.rb:[106](https://github.com/voxpupuli/puppet-example/actions/runs/12453248817/job/34763447263#step:6:107):in `block (2 levels) in <top (required)>'
/home/runner/work/puppet-example/puppet-example/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/exe/rake:27:in `<top (required)>'
Expected Behavior
puppet depends on racc, but that's not listed in the gemspec. It should be listed there
Steps to Reproduce
- create a minimal gemfile with puppet-strings and puppet (because of List puppet as runtime dependency puppet-strings#404)
- require
require 'puppet-strings/tasks'
- run
bundle exec rake strings:generate:reference
Environment
- Version [e.g. 1.27.0]
- Platform [e.g. Ubuntu 18.04]
Additional Context
Add any other context about the problem here.
Metadata
Metadata
Assignees
Labels
Type
Projects
Milestone
Relationships
Development
No branches or pull requests
Activity
Add racc dependency
Add racc dependency
ekohl commentedon Dec 22, 2024
This is a Ruby 3.3 issue because it was changed from a default gem to a bundled gem (see https://stdgems.org/new-in/3.3/). That means it could previously count on it while now it needs to specify it.