[Rant] Constructing dependency chains.

Xavier Shay xavier.shay at advatel.com.au
Sun Oct 1 19:23:33 EDT 2006


I think I'm missing something here. Consider the following:

file :a do |t|
  sys.touch "a"
end

file :b do |t|
  sys.touch "b"
end

file :c => [:b, :a] do |t|
  sys.touch "c"
end

For me, executing task c causes b then a to be called, in that order. If
I reverse the dependency array, a is called before b. Could you please
give a more detailed example of how to reproduce your problem?

Cheers,
Xavier

> -----Original Message-----
> From: make-cafe-bounces at rubyforge.org 
> [mailto:make-cafe-bounces at rubyforge.org] On Behalf Of Russel Winder
> Sent: Saturday, 30 September 2006 2:33 AM
> To: Rant Users
> Subject: [Rant] Constructing dependency chains.
> 
> In SCons, you can build a dependency chain and on execution 
> SCons ensures that the dependencies are build in the correct 
> order to so intermediate generated files always exist when 
> they are needed.  The building of the dependency tree happens 
> completely before the dependencies are analysed so dependency 
> tree building has no ordering property.
> 
> In Rant, it appears that the ordering of the:
> 
> 	file X => d1
> 	file X => d2
> 
> etc. lines is crucial, i.e. actions are enacted in the order 
> of the file lines independent of any dependency chain.  This 
> was a complete surprise to me, I would have thought that the 
> transitive dependencies would have been taken into account as 
> they are in SCons.
> 
> --
> Russel.
> ====================================================
> Dr Russel Winder                +44 20 7585 2200
> 41 Buckmaster Road              +44 7770 465 077
> London SW11 1EN, UK             russel at russel.org.uk
> 
> 


More information about the make-cafe mailing list