class Rake::Delphi::Project

Attributes

properties[RW]

Public Class Methods

new(name, app) click to toggle source
Calls superclass method Rake::Task::new
# File lib/rake/delphi/project.rb, line 17
def initialize(name, app)
    super
    initvars
    @dcc = application.define_task(Dcc32Task, shortname + ':dcc32')
    @libs = LibsTask.define(shortname + ':all-delphi-libs', application)
    @post = application.define_task(PAClientTask, @dcc.shortname + ':post')
    @level = 1
    enhance([@libs, @dcc, @post])
end

Public Instance Methods

[](key) click to toggle source
# File lib/rake/delphi/project.rb, line 64
def [](key)
    return @properties[key]
end
[]=(key, value) click to toggle source
# File lib/rake/delphi/project.rb, line 60
def []=(key, value)
    @properties[key.to_sym] = value
end
init(module_name, rake_file, vars, level) click to toggle source
# File lib/rake/delphi/project.rb, line 43
def init(module_name, rake_file, vars, level)
    @level = level
    module_name = module_name.dup.shift.to_s
    self[:projectlabel] = eval("#{module_name}::PROJECT_NAME")
    projectfile = eval("#{module_name}::PROJECT_FILE")
    self[:projectfile] = File.dirname2(rake_file) + File.separator +  projectfile
    self[:sourcename] = File.dirname2(rake_file)
    @cdir = File.dirname(rake_file)
    self[:systempath] = @cdir + '/' + projectfile
    self[:altercfg].prepend(self[:sourcename] + '/') if self[:altercfg]
    [:version, :bin, :build, :dcu, :debug, :debuginfo, :map, :defines, :releaseCandidate].each do |k|
        self[k] = vars[k] if vars.has_key?(k)
    end if vars

    @dcc.init(@properties)
end
init_libs() click to toggle source
# File lib/rake/delphi/project.rb, line 37
def init_libs
    self[:includepaths] = ['.'] unless self[:includepaths]
    self[:includepaths] |= @libs.libs_relative(@level)
    @dcc.init_libs(self[:includepaths])
end
initvars() click to toggle source
# File lib/rake/delphi/project.rb, line 27
def initvars
    @properties = {
        :build => true,
        :warnings => false,
        :hints => false,
        :includepaths => nil
    }
    @cdir = ''
end