Ruby Rake任务排序

Ruby Rake任务排序,ruby,rake,Ruby,Rake,假设我有两个顶级任务: task :publicBuild => [:zipSourceCode, :copyPrivateKey] task :internalBuild => [:copyPrivateKey] 对于internalBuild任务,我不想压缩源代码-我只想要私钥。但是对于一个publicBuild,我想两者都做。但是我需要保证,对于publicBuild,在copyprovatekey任务之前执行zipSourceCode任务(我不希望源代码ZIP包含公钥) 像

假设我有两个顶级任务:

task :publicBuild => [:zipSourceCode, :copyPrivateKey]
task :internalBuild => [:copyPrivateKey]
对于
internalBuild
任务,我不想压缩源代码-我只想要私钥。但是对于一个
publicBuild
,我想两者都做。但是我需要保证,对于
publicBuild
,在
copyprovatekey
任务之前执行
zipSourceCode
任务(我不希望源代码ZIP包含公钥)

copyprovatekey=>zipSourceCode
这样的依赖项不起作用,因为这意味着对于
internalBuild
,它将调用
zipSourceCode
,这是我不想要的


我想告诉rake的是“如果要执行这两个任务,您应该先执行这一个,但它们都是可选的”。这可能吗?

正如弗洛伊德所说。。。任务应该按照它们在依赖项数组中出现的顺序执行

它没有按照您在数组中指定的顺序运行它们?这是令人惊讶的,因为数组是用Ruby排序的……我在网上找不到任何类似的问题,这同样令人惊讶,因为似乎没有其他人会遇到这个问题……它确实是按顺序运行的——我只是没想到我能依赖这个顺序。也许我应该更彻底地阅读文档。谢谢只要
:zipSourceCode
不依赖于反过来依赖于
:copyPrivateKey
的任务。当Rake解析依赖项时,这将导致它们以错误的顺序运行。