From efe3f02964b38f5b4421cc5ac5f24700e77fde9a Mon Sep 17 00:00:00 2001
From: Gonzalo <grzuy0@gmail.com>
Date: Wed, 7 Feb 2018 11:45:26 -0300
Subject: [PATCH 1/2] Revert "Merge pull request #183 from
 aycabta/file-dryrun-bug-92"

This reverts commit 5ba97af855bcdbcbeccbcfc52a311454c04b45e0, reversing
changes made to bc5765f711082d7c068c1601ce8eb4041f28347d.

Fixes #246
---
 lib/rake/file_task.rb                |  9 +--------
 test/support/rakefile_definitions.rb | 18 ------------------
 test/test_rake_functional.rb         | 20 --------------------
 3 files changed, 1 insertion(+), 46 deletions(-)

diff --git a/lib/rake/file_task.rb b/lib/rake/file_task.rb
index 364d8e395..3130b5cfc 100644
--- a/lib/rake/file_task.rb
+++ b/lib/rake/file_task.rb
@@ -30,14 +30,7 @@ def timestamp
 
     # Are there any prerequisites with a later time than the given time stamp?
     def out_of_date?(stamp)
-      all_prerequisite_tasks.any? { |prereq|
-        prereq_task = application[prereq, @scope]
-        if prereq_task.instance_of?(Rake::FileTask)
-          prereq_task.timestamp > stamp || @application.options.build_all
-        else
-          prereq_task.timestamp > stamp
-        end
-      }
+      @prerequisites.any? { |n| application[n, @scope].timestamp > stamp }
     end
 
     # ----------------------------------------------------------------
diff --git a/test/support/rakefile_definitions.rb b/test/support/rakefile_definitions.rb
index 5dacd3783..71127aa5c 100644
--- a/test/support/rakefile_definitions.rb
+++ b/test/support/rakefile_definitions.rb
@@ -78,24 +78,6 @@ def rakefile_chains
     DEFAULT
   end
 
-  def rakefile_file_chains
-    rakefile <<-RAKEFILE
-file "fileA" do |t|
-  sh "echo contentA >\#{t.name}"
-end
-
-file "fileB" => "fileA" do |t|
-  sh "(cat fileA; echo transformationB) >\#{t.name}"
-end
-
-file "fileC" => "fileB" do |t|
-  sh "(cat fileB; echo transformationC) >\#{t.name}"
-end
-
-task default: "fileC"
-    RAKEFILE
-  end
-
   def rakefile_comments
     rakefile <<-COMMENTS
 # comment for t1
diff --git a/test/test_rake_functional.rb b/test/test_rake_functional.rb
index daf832254..33d4dc0b2 100644
--- a/test/test_rake_functional.rb
+++ b/test/test_rake_functional.rb
@@ -296,26 +296,6 @@ def test_rules_chaining_to_file_task
            "'play.app' file should exist"
   end
 
-  def dryrun_tasks
-    @err.split("\n").select { |line|
-      line.match(/^\*\* Execute/)
-    }.map { |line|
-      line.gsub(/^\*\* Execute \(dry run\) /, "")
-    }
-  end
-
-  def test_update_midway_through_chaining_to_file_task
-    rakefile_file_chains
-
-    rake "-n"
-    assert_equal(%w{fileA fileB fileC default}, dryrun_tasks)
-    rake
-    sleep 1 # Ensure the timestamp is on a new second
-    FileUtils.touch("fileA")
-    rake "-n"
-    assert_equal(%w{fileB fileC default}, dryrun_tasks)
-  end
-
   def test_file_creation_task
     rakefile_file_creation
 

From 76d2881b7cce402ae1ded7de8e871834d5b687d6 Mon Sep 17 00:00:00 2001
From: Gonzalo <grzuy0@gmail.com>
Date: Wed, 7 Feb 2018 14:47:17 -0300
Subject: [PATCH 2/2] Use shorthand #prerequisite_tasks

---
 lib/rake/file_task.rb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/rake/file_task.rb b/lib/rake/file_task.rb
index 3130b5cfc..f8cd57a25 100644
--- a/lib/rake/file_task.rb
+++ b/lib/rake/file_task.rb
@@ -30,7 +30,7 @@ def timestamp
 
     # Are there any prerequisites with a later time than the given time stamp?
     def out_of_date?(stamp)
-      @prerequisites.any? { |n| application[n, @scope].timestamp > stamp }
+      prerequisite_tasks.any? { |task| task.timestamp > stamp }
     end
 
     # ----------------------------------------------------------------