在蛋糕脚本中,使用load指令(#load)时这可以是可选的吗?如果引用的文件不存在,我不希望CAKE脚本返回异常。
documentation引用了'?'使它尝试加载,但即使这样,如果文件不存在我也会得到例外。
#load "local:?path=properties.cake";
但是在执行中我得到错误:
Analyzing build script...
Error: Could not find script 'C:/projects/my-project/properties.cake'.
CAKE脚本在许多项目中都很常见,其中只有一些项目会有附加文件,因此存在问题。
由于
答案 0 :(得分:4)
目前还没有一种可选择加载脚本的方法,但可以https://github.com/cake-build/cake为此创建问题。
?
并未表示尝试加载,它只是一个查询字符串分隔符。 #load
预处理器值是一个URI,可选择回退到一个路径,以便向后兼容旧版本的Cake。
答案 1 :(得分:0)
您可以通过在build.ps1脚本中设置空白/默认properties.cake来解决此问题。
if (!(Test-Path "properties.cake")) {
Write-Host "First run! Generating properties.cake..."
Copy-Item "properties.cake.default" -Destination ".\properties.cake"
}
# Build Cake arguments
$cakeArguments = @("$Script");
(...)
然后,您需要使用蛋糕脚本来提交properties.cake.default文件!
答案 2 :(得分:0)