我有一个Rakefile,它根据全局变量$build\u type以两种方式编译项目,可以是:debug或:release(结果放在单独的目录中):
任务:构建=>;[:一些其他任务]可以
终止
我希望创建一个任务,依次使用两种配置编译项目,如下所示:
任务:构建
[:debug,:release]。每个do | t|
$build\u type=t
#调用任务:使用它所依赖的所有任务生成(?)
终止
终止
有没有一种方法可以像调用方法一样调用任务?或者我怎样才能实现类似的目标
如果您需要将任务作为一种方法,那么使用实际的方法如何
任务:构建=>;[:一些其他任务]可以
建筑
终止
任务:构建你所做的一切
[:debug,:release]
终止
def生成(类型=:调试)
# ...
终止
如果您更愿意坚持使用rake的习惯用法,以下是您的可能性,这些是根据过去的答案编译而成的:
-
它始终执行任务,但不执行其依赖项:
Rake::Task[“build”]。执行 -
这一个执行依赖项,但它仅在以下情况下执行任务:
尚未调用它:Rake::Task[“build”]。调用 -
这首先重置任务的已调用状态,允许任务
然后再次执行,依赖项和所有:Rake::Task[“build”]。可重新启动 Rake::Task[“build”]。调用 -
请注意,除非重新启用依赖项,否则不会自动重新执行已调用的依赖项。在Rake>=10.3.2中,您还可以使用以下命令重新启用这些功能:
Rake::Task[“build”]。所有先决条件任务。每个(&;:可重入)