Как определить, определен ли набор файлов? - PullRequest
1 голос
/ 19 декабря 2011

Моя пользовательская задача NAnt зависит от определенного набора файлов.Он считается определенным ко времени выполнения задачи.Я хотел бы убедиться, что набор файлов был определен перед его использованием.Я думаю о чем-то похожем на property::exists('property').

Я не смог найти подходящую функцию.Это возможно с NAnt (или NAntContrib ) из коробки?

1 Ответ

1 голос
/ 19 декабря 2011

Как правило, задачи не должны зависеть от наборов файлов или свойств. Вместо этого они должны принимать явные параметры. Существующий набор файлов можно использовать повторно, используя refid, поэтому в результате этого не будет повторного объявления. Пример синтаксиса:

<myTask><filesetParameter refid="compileUs"/><myTask>

Если указанный набор файлов не определен, NAnt сгенерирует исключение - это правильное (ожидаемое) поведение, поскольку сборка не может быть продолжена в этот момент.

Внутри вашей задачи свойство будет определено следующим образом:

[TaskName("myTask")]
public class MyTask : Task
{
  [TaskAttribute("filesetParameter", Required = true)]
  public FileSet FilesetParamter
  { get; set; }
}
...