Skip to content

Commit 49a98e6

Browse files
committed
Because truffleruby now uses prism itself for its ripper implementation, the templates need to be created beforehand.
So, move the ripper require inside the tasks itself, after which the templates have been created. Example failure: https://github.com/ruby/prism/actions/runs/24358711087/job/71132405299 ``` LoadError: cannot load such file -- /home/runner/work/prism/prism/lib/prism/node (LoadError) /home/runner/work/prism/prism/lib/prism.rb:127:in '<top (required)>' /home/runner/work/prism/prism/rakelib/lex.rake:4:in '<top (required)>' /home/runner/work/prism/prism/vendor/bundle/truffleruby/34.0.0.1/gems/rake-13.3.1/exe/rake:27:in '<top (required)>' /home/runner/.rubies/truffleruby-34.0.0/bin/bundle:25:in '<main>' (See full trace by running task with --trace) ``` `lex.rake:4` is `require "ripper"`
1 parent 514afff commit 49a98e6

1 file changed

Lines changed: 4 additions & 2 deletions

File tree

rakelib/lex.rake

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
# frozen_string_literal: true
22
# typed: ignore
33

4-
require "ripper"
5-
64
module Prism
75
# This class is responsible for lexing files with both prism and
86
# ripper and ensuring they match up. It keeps track of the files which
@@ -150,6 +148,7 @@ TARGETS.each do |name, target|
150148
task "lex:#{name}" => [dirpath, :compile] do
151149
$:.unshift(File.expand_path("../lib", __dir__))
152150
require "prism"
151+
require "ripper"
153152

154153
plain_text = ENV.fetch("CI", false)
155154
warn_failing = ENV.fetch("VERBOSE", false)
@@ -192,6 +191,7 @@ desc "Lex files and compare with lex_compat"
192191
task lex: :compile do
193192
$:.unshift(File.expand_path("../lib", __dir__))
194193
require "prism"
194+
require "ripper"
195195

196196
plain_text = ENV.fetch("CI", false)
197197
warn_failing = ENV.fetch("VERBOSE", false)
@@ -225,6 +225,7 @@ task "lex:rubygems": [:compile, "tmp/failing"] do
225225
require "rubygems/package"
226226
require "tmpdir"
227227
require "prism"
228+
require "ripper"
228229

229230
items = []
230231
Gem::SpecFetcher.new.available_specs(:latest).first.each do |source, gems|
@@ -366,6 +367,7 @@ task "lex:topgems": ["download:topgems", :compile] do
366367
require "rubygems/package"
367368
require "tmpdir"
368369
require "prism"
370+
require "ripper"
369371

370372
gem_names = YAML.safe_load_file(TOP_100_GEM_FILENAME)
371373
failing_files = {}

0 commit comments

Comments
 (0)