Предположим, у меня есть две задачи верхнего уровня:
task :publicBuild => [:zipSourceCode, :copyPrivateKey]
task :internalBuild => [:copyPrivateKey]
Для задачи internalBuild
я не хочу архивировать исходный код - я просто хочу закрытый ключ. Но за publicBuild
я хочу сделать оба. Но я должен гарантировать, что для publicBuild
задача zipSourceCode
выполняется перед задачей copyPrivateKey
(я не хочу, чтобы исходный код ZIP содержал открытый ключ).
Зависимость, такая как copyPrivateKey => zipSourceCode
, не будет работать, потому что это будет означать, что для internalBuild
она будет вызывать zipSourceCode
, чего я не хочу.
Что я хочу сказать рейку, так это «если эти две задачи должны быть выполнены, сначала вы должны сделать это, но обе они необязательны». Это возможно?