On Wednesday 05 October 2005 17:54, Damphyr wrote:
> Stefan Lang wrote:
[...]
> Nope I hadn't, but at the rate I am reading these days something
> will happen to me (there's smoke coming out of my ears I think :)
> ). Will do. At the moment I have a different problem with Rake
> which I would also like to test with Rant:
> task A depends on task B
> task B runs and changes (i.e. adds C and D) the prerequisites of
> task A. Do tasks C and D run? With Rake they don't (well I say they
> don't, Jim might have a different opinion).
> I'm probably going to test it with rant, but I think this merrits a
> differnet thread :)
> Cheers,
> V.-

If I understand correctly, Rant does what you want:

    $ cat Rantfile
    @print = lambda { |t| puts t.name }

    task :A => :B, &@print
    task :B do |t|
        enhance :A => [:C, :D]
        @print[t]
    end
    task :C, &@print
    task :D, &@print
    $ rant A
    B
    C
    D
    A

A somewhat equivalent Rakefile could look like:
    $ cat Rakefile
    @print = lambda { |t| puts t.name }

    task :A => :B, &@print
    task :B do |t|
        file :A => [:C, :D]
        @print[t]
    end
    task :C, &@print
    task :D, &@print
    $ rake A
    (in /home/stefan/tmp/rant-dyn-dep.t)
    B
    A

Kind regards,
  Stefan