Class: Rake::Delphi::Project
- Inherits:
-
Task
- Object
- Task
- Rake::Delphi::Project
show all
- Defined in:
- lib/rake/delphi/project.rb
Instance Attribute Summary collapse
Attributes inherited from Task
#logger
Instance Method Summary
collapse
Methods inherited from Task
#execute, #execute_base, #initialize_base, #out, #shortname, #trace?
Constructor Details
#initialize(name, app) ⇒ Project
Returns a new instance of Project.
16
17
18
19
20
21
22
23
|
# File 'lib/rake/delphi/project.rb', line 16
def initialize(name, app)
super
initvars
@dcc = application.define_task(Dcc32Task, shortname + ':dcc32')
@libs = LibsTask.define('all-delphi-libs', application)
@level = 1
enhance([@libs, @dcc])
end
|
Instance Attribute Details
#properties ⇒ Object
Returns the value of attribute properties.
14
15
16
|
# File 'lib/rake/delphi/project.rb', line 14
def properties
@properties
end
|
Instance Method Details
#[](key) ⇒ Object
62
63
64
|
# File 'lib/rake/delphi/project.rb', line 62
def [](key)
return @properties[key]
end
|
#[]=(key, value) ⇒ Object
58
59
60
|
# File 'lib/rake/delphi/project.rb', line 58
def []=(key, value)
@properties[key.to_sym] = value
end
|
#init(module_name, rake_file, vars, level = 1) ⇒ Object
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
|
# File 'lib/rake/delphi/project.rb', line 41
def init(module_name, rake_file, vars, level = 1)
@level = level
module_name = module_name.dup.pop.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, :alldebuginfo, :map, :defines, :releaseCandidate].each do |k|
self[k] = vars[k] if vars.has_key?(k)
end if vars
@dcc.init(@properties)
end
|
#init_libs ⇒ Object
35
36
37
38
39
|
# File 'lib/rake/delphi/project.rb', line 35
def init_libs
self[:includepaths] = ['.'] unless self[:includepaths]
self[:includepaths] |= @libs.libs_relative(@level)
@dcc.init_libs(self[:includepaths])
end
|
#initvars ⇒ Object
25
26
27
28
29
30
31
32
33
|
# File 'lib/rake/delphi/project.rb', line 25
def initvars
@properties = {
:build => true,
:warnings => false,
:hints => false,
:includepaths => nil
}
@cdir = ''
end
|