Sha256: ba39efeb89b7524ac72910539c168e524a5625e70eb3d31a4cb54b4b862f7a5c

Contents?: true

Size: 1.26 KB

Versions: 90

Compression:

Stored size: 1.26 KB

Contents

require "rake/task.rb"
require "rake/early_time"

module Rake

  # A FileTask is a task that includes time based dependencies.  If any of a
  # FileTask's prerequisites have a timestamp that is later than the file
  # represented by this task, then the file must be rebuilt (using the
  # supplied actions).
  #
  class FileTask < Task

    # Is this file task needed?  Yes if it doesn't exist, or if its time stamp
    # is out of date.
    def needed?
      ! File.exist?(name) || out_of_date?(timestamp) || @application.options.build_all
    end

    # Time stamp for file task.
    def timestamp
      if File.exist?(name)
        File.mtime(name.to_s)
      else
        Rake::LATE
      end
    end

    private

    # 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 }
    end

    # ----------------------------------------------------------------
    # Task class methods.
    #
    class << self
      # Apply the scope to the task name according to the rules for this kind
      # of task.  File based tasks ignore the scope when creating the name.
      def scope_name(scope, task_name)
        Rake.from_pathname(task_name)
      end
    end
  end
end

Version data entries

90 entries across 83 versions & 19 rubygems

Version Path
vagrant-unbundled-1.9.8.1 vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/lib/rake/file_task.rb
logstash-filter-cache-redis-0.3.1 vendor/bundle/jruby/1.9/gems/rake-12.0.0/lib/rake/file_task.rb
logstash-filter-cache-redis-0.3.0 vendor/bundle/jruby/1.9/gems/rake-12.0.0/lib/rake/file_task.rb
logstash-filter-cache-redis-0.2.0 vendor/bundle/jruby/1.9/gems/rake-12.0.0/lib/rake/file_task.rb
logstash-filter-cache-redis-0.1.0 vendor/bundle/jruby/1.9/gems/rake-12.0.0/lib/rake/file_task.rb
tdiary-5.0.5 vendor/bundle/gems/tdiary-5.0.4/vendor/bundle/gems/rake-12.0.0/lib/rake/file_task.rb
tdiary-5.0.5 vendor/bundle/gems/rake-12.0.0/lib/rake/file_task.rb
logstash-filter-csharp-0.1.0 vendor/bundle/jruby/2.3.0/gems/rake-12.0.0/lib/rake/file_task.rb
logstash-filter-htmlentities-0.1.0 vendor/bundle/jruby/1.9/gems/rake-12.0.0/lib/rake/file_task.rb
logstash-output-icinga-1.0.0 vendor/jruby/1.9/gems/rake-12.0.0/lib/rake/file_task.rb
enju_leaf-1.2.1 vendor/bundle/ruby/2.3/gems/rake-12.0.0/lib/rake/file_task.rb
tdiary-5.0.4 vendor/bundle/gems/rake-12.0.0/lib/rake/file_task.rb
logstash-filter-zabbix-0.1.2 vendor/bundle/jruby/1.9/gems/rake-12.0.0/lib/rake/file_task.rb
logstash-filter-zabbix-0.1.1 vendor/bundle/jruby/1.9/gems/rake-12.0.0/lib/rake/file_task.rb
logstash-input-fifo-0.9.1 vendor/bundle/jruby/1.9/gems/rake-12.0.0/lib/rake/file_task.rb
logstash-input-fifo-0.9.0 vendor/bundle/jruby/1.9/gems/rake-12.0.0/lib/rake/file_task.rb
autocompl-0.2.2 test/dummy/vendor/bundle/ruby/2.3.0/gems/rake-12.0.0/lib/rake/file_task.rb
autocompl-0.2.1 test/dummy/vendor/bundle/ruby/2.3.0/gems/rake-12.0.0/lib/rake/file_task.rb
autocompl-0.2.0 test/dummy/vendor/bundle/ruby/2.3.0/gems/rake-12.0.0/lib/rake/file_task.rb
autocompl-0.1.2 test/dummy/vendor/bundle/ruby/2.3.0/gems/rake-12.0.0/lib/rake/file_task.rb