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:



416
417
418
419
420
421
422
423
# File 'lib/buildr/core/compile.rb', line 416

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.



414
415
416
# File 'lib/buildr/core/compile.rb', line 414

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.



438
439
440
441
# File 'lib/buildr/core/compile.rb', line 438

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


450
451
452
453
# File 'lib/buildr/core/compile.rb', line 450

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.



429
430
431
432
# File 'lib/buildr/core/compile.rb', line 429

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

#prerequisitesObject

:nodoc:



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

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

#sourcesObject

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



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

def sources
  filter.sources
end

#targetObject

:call-seq:

target => task

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



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

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