我正在使用Cake0.23.0,并且很高兴地看到任务依赖关系已经扩展了。不幸的是,即使是最新的版本也解决不了我的问题。还是我做错了什么?
我想要实现的
当前行为结果序列是Task x86 -> Task -> Task -> Task C -> Task x64
似乎Cake只尊重任务依赖一次。我将其定义如下:
Task("Compile-All-Platforms")
.IsDependentOn("Init-86")
.IsDependentOn("A")
.IsDependentOn("B")
.IsDependentOn("C")
.IsDependentOn("Init-x64")
.IsDependentOn("A")
.IsDependentOn("B")
.IsDependentOn("C");发布于 2017-10-16 16:55:42
如果您想要在两个大步骤中构建,那么简单的方法就是将A、B和C的构建逻辑封装在帮助函数中,然后将它们封装到x86或x64任务中。这里的想法是利用Cake能够为您创建的依赖树,而不是在所有编译中记录所有依赖项。实际上,这是您想要使用构建协调器的主要原因。
当然,这是一种简单的方法,可以让它在3个任务和2个平台上工作。一个更可伸缩的解决方案是创建和加载项或一个接受"platform“参数并构建N个项目的助手脚本。
请注意,下面的代码仅仅显示了如何完成所要求的任务,但需要使用适当的WithCriteria指令进行改进。如果您认为是这样的话,您就不能只构建x64了。
Task("Compile-x86"){
BuildA();
BuildB();
BuildC();
};
Task("Init-x64")
.IsDependentOn("Compile-x86"){
//Your init code goes here
};
Task("Compile-x64")
.IsDependentOn("Init-x64"){
BuildA();
BuildB();
BuildC();
};
Task("Compile-All-Platforms")
.IsDependentOn("Compile-x64");https://stackoverflow.com/questions/46774963
复制相似问题