Jim Weirich wrote:

> The way I think I would approach this is to let each of the 
> prerequisites vote on whether the xyz task should run or not.  The 
> prereqs would register the voting with in some central location (e.g. a 
> global or maybe some central voting object).  I would then write the xyz 
> task like this:
> 
>    task :xyz => [:abc?, :acb?] do
>      if XYZ_SHOULD_RUN.ok?
>        do_xyz_stuff
>      end
>    end
> 
> This way all the prerequisites get a chance to run and the xyz task is 
> responsible for detecting the vote.
> 
> -- Jim Weirich

That's one step in the right direction but I have a few dozen of these. 
I'd like to inherit and extend the Rake::Task so I could write all my 
tasks as:

task_failable :xyz => [...]

Each action would be attempted only if no dependency had failed. BUT all 
the failures would be reported.

This would be most important in a long build process.  You walk away 
hoping it will complete. The next morning, most of it has completed and 
you can follow up on the errors.  I suspect that's what file_tasks do 
but I have some non-file based testing to do.

On the other hand, I may have just talked myself out of this approach. 
It may be easier to create files to represent the completion of these 
actions.

Thanks,
Larry Fast

-- 
Posted via http://www.ruby-forum.com/.