【发布时间】:2011-12-19 10:30:11
【问题描述】:
我的自定义 NAnt 任务依赖于某个文件集。它被认为是由任务执行的时间定义的。我想确保在使用之前定义文件集。我在想类似于property::exists('property') 的东西。
我找不到合适的功能。 NAnt(或NAntContrib)是否可以开箱即用?
【问题讨论】:
-
通常,任务不应“依赖”文件集/属性,而应采用显式参数。文件集不需要重新声明,因为它可以通过简单的 refid 引用来包含。
-
不确定我是否理解正确。我使用 refid 引用文件集,但如果文件集未在某处定义,则会出现“未定义”错误。
-
顺便说一句,我在尝试将文件集作为参数传递时遇到问题 - 似乎 NAnt 无法将其扩展回任务中的文件集,将其视为字符串文字。它是已知的吗?还是我只是掉进了所有新手都会掉进的坑里? :)
-
我的意思是:
<myTask><filesetParameter refid="compileUs"/><myTask>。如果此处未定义引用的文件集,则异常是正确的行为,因为构建无法继续。 -
因此,您的建议是向自定义任务添加一个“文件集”类型的参数,并在文件集未通过时失败时按照预期的行为进行处理。对?而且我认为没有办法在失败之前找出文件集是否已定义,对吧?
标签: nant fileset nantcontrib