使用Cake中止构建的正确方法是什么?

时间:2015-10-08 11:27:48

标签: cakebuild

使用Error()方法仅记录错误。但是,如果我想中止构建怎么办?我可以抛出异常来中止构建,但它似乎不对。那么有一种正确的中止方式吗?

var releaseNotes = ParseReleaseNotes("./ReleaseNotes.md");

if(releaseNotes.Version.ToString() != nugetVersion)
{
    Error("Release notes are missing an entry for v{0}. Latest release notes are for v{1}", nugetVersion, releaseNotes.Version);
    throw new Exception();
}

2 个答案:

答案 0 :(得分:3)

Error方法只是记录错误的便捷方法。我理解这种困惑。

如果出现无法恢复的错误,则应抛出异常以表明错误。然后,Cake脚本运行器将记录错误(使用Error方法)并返回退出代码1以指示出现问题。

答案 1 :(得分:1)

好的,所以答案是抛出一个异常而不是像这样使用Error()方法:

var releaseNotes = ParseReleaseNotes("./ReleaseNotes.md");

if(releaseNotes.Version.ToString() != nugetVersion)
{
    throw new Exception("Release notes are missing an entry for v{0}. Latest release notes are for v{1}", nugetVersion, releaseNotes.Version);        
}