tags:

views:

83

answers:

1
+3  Q: 

Rake Task Ordering

Suppose I have two top-level tasks:

task :publicBuild => [:zipSourceCode, :copyPrivateKey]
task :internalBuild => [:copyPrivateKey]

For the internalBuild task, I don't want to zip source code - I just want the private key. But for a publicBuild, I want to do both. But I need to guarantee that for the publicBuild, the zipSourceCode task is executed before the copyPrivateKey task (I don't want the source code ZIP to contain the public key).

A dependency such as copyPrivateKey => zipSourceCode wouldn't work because it would mean that for internalBuild, it would call zipSourceCode, which I don't want.

What I want to tell rake is "if these two tasks are to be executed, you should do this one first, but they are both optional". Is this possible?

+1  A: 

As floyd said... the tasks should be performed in the order in which they appear in the dependency array.

Jim McKerchar
... so long as `:zipSourceCode` doesn't depend on a task that in turn depends on `:copyPrivateKey`. That would cause them to get run in the wrong order when Rake resolves the dependencies.
James A. Rosen
ah yes. true. thanks James :)
Jim McKerchar