Module: Burke
- Defined in:
- lib/burke.rb,
lib/burke.rb,
lib/burke/holder.rb,
lib/burke/tasks/docs.rb,
lib/burke/tasks/gems.rb,
lib/burke/tasks/rdoc.rb,
lib/burke/tasks/test.rb,
lib/burke/tasks/yard.rb,
lib/burke/tasks/clean.rb,
lib/burke/tasks/rspec.rb,
lib/burke/tasks/release.rb
Defined Under Namespace
Classes: DependencySettings, DocSettings, GemTaskManager, GlobalGemSettings, Holder, IndividualGemSettings, RCovSettings, RSpecSettings, Settings, TaskDefinition, TestSettings
Constant Summary
collapse
- VERSION =
File.read(File.join(File.dirname(File.dirname(__FILE__)), 'VERSION'))
Class Method Summary
collapse
Class Method Details
.base_gemspec ⇒ Object
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
|
# File 'lib/burke.rb', line 219
def base_gemspec
if @base_gemspec.nil?
@base_gemspec = Gem::Specification.new
attrs = Gem::Specification.attribute_names
attrs -= [:dependencies, :development_dependencies]
attrs += [:author]
attrs.each do |attr|
value = settings.send(attr)
@base_gemspec.send("#{attr}=", value) if value
end
settings.dependencies.each do |gem, requirements|
@base_gemspec.add_dependency gem.to_s, *requirements
end
settings.development_dependencies.each do |gem, requirements|
@base_gemspec.add_development_dependency gem.to_s, *requirements
end
end
@base_gemspec
end
|
.build_spec_task(task, rspec_settings) ⇒ Object
47
48
49
50
51
|
# File 'lib/burke/tasks/rspec.rb', line 47
def self.build_spec_task task, rspec_settings
t = task
r = rspec_settings
t.ruby_opts = r.ruby_opts if r.ruby_opts
end
|
.define_task(*args, &block) ⇒ Object
45
46
47
|
# File 'lib/burke.rb', line 45
def self.define_task *args, &block
TaskDefinition.new *args, &block
end
|
.disable(*args) ⇒ Object
150
151
152
153
|
# File 'lib/burke.rb', line 150
def disable *args
dis = [*args].map {|t| String(t)}
@enabled_tasks.reject! {|t| dis.include? t}
end
|
.disable_all(opts = {}) ⇒ Object
140
141
142
143
|
# File 'lib/burke.rb', line 140
def disable_all opts={}
@enabled_tasks = []
enable *opts[:except] if opts[:except]
end
|
.enable(*args) ⇒ Object
145
146
147
148
|
# File 'lib/burke.rb', line 145
def enable *args
@enabled_tasks.concat([*args].map {|t| String(t)})
@enabled_tasks.uniq!
end
|
.enable_all(opts = {}) ⇒ Object
135
136
137
138
|
# File 'lib/burke.rb', line 135
def enable_all opts={}
@enabled_tasks = TaskDefinition::ALL.keys
disable *opts[:except] if opts[:except]
end
|
155
156
157
|
# File 'lib/burke.rb', line 155
def settings
@settings ||= Settings.new
end
|
.setup(&block) ⇒ Object
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
|
# File 'lib/burke.rb', line 159
def setup &block
settings.instance_exec settings, &block
if task_enabled? :gems and GemTaskManager::TASKS.empty?
settings.gems.add_platform 'ruby'
end
enabled = []
disabled = []
TaskDefinition::ALL.each do |name, td|
if task_enabled? name
begin
td.prerequisites.each do |prereq|
raise "prerequisite '#{prereq}' is disabled" unless task_enabled? prereq
end
td.execute(settings)
enabled << [name, nil]
rescue Exception => ex
disabled << [name, ex.message.strip]
end
else
disabled << [name, "disabled by project developer(s)"]
end
end
desc 'List Burke task groups'
task 'burke:tasks' do
unless enabled.empty?
puts ' ---------'
puts ' Enabled '
puts ' ---------'
width = enabled.map {|a| a[0].length}.sort.last
enabled.sort_by {|a| a[0]}.each do |name, _|
line = "+ #{name.ljust(width)}"
puts line
end
puts
end
unless disabled.empty?
puts ' ----------'
puts ' Disabled '
puts ' ----------'
width = disabled.map {|a| a[0].length}.sort.last
disabled.sort_by {|a| a[0]}.each do |name, reason|
line = "- #{name.ljust(width)}"
line << " (#{reason})" if reason
puts line
end
end
end
return settings
end
|
.task_enabled?(name) ⇒ Boolean
215
216
217
|
# File 'lib/burke.rb', line 215
def task_enabled? name
@enabled_tasks.include? String(name)
end
|