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:



419
420
421
422
423
424
425
426
# File 'lib/buildr/core/compile.rb', line 419

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.



417
418
419
# File 'lib/buildr/core/compile.rb', line 417

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.



441
442
443
444
# File 'lib/buildr/core/compile.rb', line 441

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')


453
454
455
456
# File 'lib/buildr/core/compile.rb', line 453

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.



432
433
434
435
# File 'lib/buildr/core/compile.rb', line 432

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

#prerequisitesObject

:nodoc:



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

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

#sourcesObject

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



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

def sources
  filter.sources
end

#targetObject

:call-seq:

target => task

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



467
468
469
470
# File 'lib/buildr/core/compile.rb', line 467

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