2010-01-17 7 views
5

Angenommen, ich habe zwei Top-Level-Aufgaben:Rake Aufgabe Bestellung

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

Für die internalBuild Aufgabe, ich will nicht Quellcode zip - Ich will nur den privaten Schlüssel. Aber für eine publicBuild, möchte ich beides tun. Aber ich brauche zu gewährleisten, dass für die publicBuild, die zipSourceCode Aufgabe vor der copyPrivateKey Aufgabe ausgeführt wird (ich will nicht den Quellcode ZIP den öffentlichen Schlüssel enthalten).

Eine Abhängigkeit wie copyPrivateKey => zipSourceCode würde nicht funktionieren, weil es bedeuten würde, dass für internalBuild würde aufrufen, die ich nicht möchte.

Was ich will, Harke sagen ist, „wenn diese beiden Aufgaben ausgeführt werden sollen, sollten Sie diese ein erstes tun, aber sie sind beide optional“. Ist das möglich?

+3

Es läuft sie nicht in der Reihenfolge, die Sie in dem Array angeben? Das ist überraschend, da Arrays in Ruby geordnet sind ... und ich kann keine Fragen wie diese im Netz finden, was ebenso überraschend ist, da es völlig unglaubwürdig erscheint, dass niemand sonst auf dieses Problem gestoßen wäre ... – tfwright

+0

Es führt sie in der Reihenfolge - ich habe nicht erwartet, dass ich mich auf diesen Befehl verlassen könnte. Vielleicht hätte ich die Dokumentation genauer lesen sollen. Vielen Dank! –

Antwort

4

Wie floyd gesagt ... die Aufgaben sollten in der Reihenfolge ausgeführt werden, in dem sie in der Abhängigkeits Array erscheinen.

+1

... solange ': zipSourceCode' nicht von einer Aufgabe abhängt, die wiederum von': copyPrivateKey' abhängt. Das würde dazu führen, sie laufen in der falschen Reihenfolge zu erhalten, wenn Rake die Abhängigkeiten aufgelöst wird. –

+0

ah ja. wahr. Danke James :) –

Verwandte Themen