我的自定义NAnt任务依赖于某个文件集。它被认为是由任务执行的时间定义的。我想确保在使用之前定义了文件集。我在考虑与property::exists('property')
类似的东西。
我找不到合适的功能。 是否可以开箱即用NAnt(或NAntContrib)?
答案 0 :(得分:1)
通常,任务不应依赖于文件集或属性。相反,他们应该采取明确的参数。可以使用refid
重用现有文件集,因此不会因此而重新声明。语法示例:
<myTask><filesetParameter refid="compileUs"/><myTask>
如果未定义引用的文件集,NAnt将抛出异常 - 这是正确的(预期的)行为,因为此时构建无法继续。
在您的任务中,该属性将定义如下:
[TaskName("myTask")]
public class MyTask : Task
{
[TaskAttribute("filesetParameter", Required = true)]
public FileSet FilesetParamter
{ get; set; }
}