task
deve essere definito come parametro per l'attività blocco.
desc "Populate DB"
task :populate do |task|
puts task.comment # "Populate DB"
puts task.full_comment # "Populate DB"
puts task.name # "populate "
end
Edit: Questa soluzione funziona con il rastrello 0.8.7. Almeno il rake 0.9.2.2 ha bisogno di un ulteriore Rake::TaskManager.record_task_metadata = true
(ho controllato solo queste due versioni).
uno stand alone rubino script con adattamento:
gem 'rake' #'= 0.9.2.2'
require 'rake'
#Needed for rake/gem '= 0.9.2.2'
Rake::TaskManager.record_task_metadata = true
desc "Populate DB"
task :populate do |task|
p task.comment # "Populate DB"
p task.full_comment # "Populate DB"
p task.name # "populate "
end
if $0 == __FILE__
Rake.application['populate'].invoke() #all tasks
end
Motivo: nel rake/task_manager.rb
linea 30 (rake 0.9.2.2) è un controllo
if Rake::TaskManager.record_task_metadata
add_location(task)
task.add_description(get_description(task))
end
Il valore di default è impostato false
in linea 305
'task.comment' sembra essere il ritorno' quelle negative per me. Qualche idea? –
L'esempio funziona bene per me. Quale versione usi? Ho ruby 1.9.2 e 'RAKEVERSION = '0.8.7'' – knut
Ho aggiornato il mio rake a' 0.9.2.2' - ora ho 'nil' per' task.comment' e 'task.full_comment'. – knut