From: Jim Weirich Date: 2004-06-21T23:24:38+09:00 Subject: Re: Rake desc bug Jim Menard said: > I think I've found a minor bug in Rake with the "desc" method and -T flag. > > task :default => [:one] > > task :one do > puts 'one' > end > > desc "description of task one" > task :one => [:anything] > > desc "description of task two" > task :two do > puts 'two' > end > > % rake -T > (in c:/jmenard) > rake two # description of task two > > This only happens if "task :one" appears more than once and the > description > comes after the first "task :one". For example, reversing the tasks but > keeping the desc after the second one does the same thing: > > task :default => [:one] > > task :one do > puts 'one' > end > > desc "description of task one" > task :one => [:anything] > > desc "description of task two" > task :two do > puts 'two' > end > > % rake -T > (in c:/jmenard) > rake two # description of task two > > If I move the desc up before the first "task :one" then both descriptions > get > printed: > > task :default => [:one] > > desc "description of task one" > task :one => [:anything] > > task :one do > puts 'one' > end > > desc "description of task two" > task :two do > puts 'two' > end > > ~> rake -T > (in c:/jmenard) > rake one # description of task one > rake two # description of task two > > Looking at rake.rb, I think the problem is that $last_comment is only used > when a new task is created, not when an existing one is extended > (re-opened? > added to?). I don't know if using $last_comment inside Task.define_task > instead of in the initialize method makes sense or if that would break > something else. Thanks for the report. I think this is a case where it works as designed, but perhaps it could have been designed better. I think moving the check for $last_comment should be safe. I'll look at the code tonight when I get home. With that in mind, what should rake -T display for the following? desc "First Comment" task :one desc "Second Comment" task :one -- -- Jim Weirich jim@weirichhouse.org http://onestepback.org ----------------------------------------------------------------- "Beware of bugs in the above code; I have only proved it correct, not tried it." -- Donald Knuth (in a memo to Peter van Emde Boas)