From 88af89e890ada96db88c5ee02e50e1a81b48b397 Mon Sep 17 00:00:00 2001 From: Leo Arnold Date: Fri, 31 Jul 2026 02:08:43 +0200 Subject: [PATCH] Use fully qualified names when displaying task prerequsites Fixes #704. --- lib/rake/application.rb | 2 +- test/test_rake_application.rb | 22 ++++++++++++++++++++++ 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/lib/rake/application.rb b/lib/rake/application.rb index 39ee5e191..45137027a 100644 --- a/lib/rake/application.rb +++ b/lib/rake/application.rb @@ -406,7 +406,7 @@ def truncate(string, width) # :nodoc: def display_prerequisites # :nodoc: tasks.each do |t| puts "#{name} #{t.name}" - t.prerequisites.each { |pre| puts " #{pre}" } + t.prerequisite_tasks.each { |pre| puts " #{pre}" } end end diff --git a/test/test_rake_application.rb b/test/test_rake_application.rb index e661a3c3b..c5b36e682 100644 --- a/test/test_rake_application.rb +++ b/test/test_rake_application.rb @@ -528,6 +528,28 @@ def test_display_prereqs assert_match(/rake default\n( *(a|b)\n){2}/m, out) end + def test_display_prereqs_prepends_implicit_namespaces + @app.last_description = "COMMENT" + @app.define_task(Rake::Task, "setup") + @app.in_namespace(:tool) do + @app.define_task(Rake::Task, "setup") + nested_run = @app.define_task(Rake::Task, "run") + nested_run.enhance([:setup]) + nested_test = @app.define_task(Rake::Task, "test") + nested_test.enhance(["tool:setup"]) + end + out, = capture_output { @app.run %w[-f -s --prereqs --rakelib=""] } + assert @app.options.show_prereqs + assert_equal <<~OUTPUT, out + rake setup + rake tool:run + tool:setup + rake tool:setup + rake tool:test + tool:setup + OUTPUT + end + def test_bad_run @app.intern(Rake::Task, "default").enhance { fail } _, err = capture_output {