Class: Buildr::ResourcesTask

Inherits:
Rake::Task show all
Defined in:
lib/buildr/core/compile.rb

Overview

The resources task is executed by the compile task to copy resource files over to the target directory. You can enhance this task in the normal way, but mostly you will use the task’s filter.

For example:

resources.filter.using 'Copyright'=>'Acme Inc, 2007'

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods inherited from Rake::Task

#invoke, #invoke_with_call_chain

Constructor Details

#initialize(*args) ⇒ ResourcesTask

:nodoc:



423
424
425
426
427
428
429
430
# File 'lib/buildr/core/compile.rb', line 423

def initialize(*args) #:nodoc:
  super
  @filter = Buildr::Filter.new
  @filter.using Buildr.settings.profile['filter'] if Hash === Buildr.settings.profile['filter']
  enhance do
    target.invoke if target
  end
end

Instance Attribute Details

#filterObject (readonly)

Returns the filter used to copy resources over. See Buildr::Filter.



421
422
423
# File 'lib/buildr/core/compile.rb', line 421

def filter
  @filter
end

Instance Method Details

#exclude(*files) ⇒ Object

:call-seq:

exclude(*files) => self

Excludes the specified files in the filter and returns self.



445
446
447
448
# File 'lib/buildr/core/compile.rb', line 445

def exclude(*files)
  filter.exclude *files
  self
end

#from(*sources) ⇒ Object

:call-seq:

from(*sources) => self

Adds additional directories from which to copy resources.

For example:

resources.from _('src/etc')


457
458
459
460
# File 'lib/buildr/core/compile.rb', line 457

def from(*sources)
  filter.from *sources
  self
end

#include(*files) ⇒ Object

:call-seq:

include(*files) => self

Includes the specified files in the filter and returns self.



436
437
438
439
# File 'lib/buildr/core/compile.rb', line 436

def include(*files)
  filter.include *files
  self
end

#prerequisitesObject

:nodoc:



476
477
478
# File 'lib/buildr/core/compile.rb', line 476

def prerequisites #:nodoc:
  super + filter.sources.flatten
end

#sourcesObject

Returns the list of source directories (each being a file task).



463
464
465
# File 'lib/buildr/core/compile.rb', line 463

def sources
  filter.sources
end

#targetObject

:call-seq:

target => task

Returns the filter’s target directory as a file task.



471
472
473
474
# File 'lib/buildr/core/compile.rb', line 471

def target
  filter.into @project.path_to(:target, @usage, :resources) unless filter.target || sources.empty?
  filter.target
end