NAnt: задача, которая возвращает / устанавливает коллекцию объектов? - PullRequest
1 голос
/ 03 февраля 2011

Я хотел бы увеличить набор NAntContrib задач Perforce, добавив задачу p4 labels.

Задача p4labels должна возвращать коллекцию меток или, в идеале, коллекцию информации о метках: имя, дата / время, описание.

Рассматривая код NAntContrib для другого вызова (например, p4info), кажется, что довольно просто вернуть простые строки из задачи, но мне не удалось найти способ возврата коллекция этикеток. Потенциальное использование может состоять в том, чтобы позже передать эту коллекцию в функцию, чтобы получить последнюю метку в коллекции, или в задачу foreach, чтобы выполнить итерацию, например, для работы с каждой в коллекции.

Возможно ли это даже в NAnt? Из всего, что я видел, кажется, что вы можете объявлять наборы и коллекции, но не возвращать их из задачи или функции.

Для справки, я объявил тип LabelInfo NAnt, а также LabelInfoCollection, но на самом деле я не знаю, как бы вернуть его из задачи.

Любые советы приветствуются.

1 Ответ

1 голос
/ 03 февраля 2011

Рассматривая стратегию NAntContrib * sql task по возвращению набора значений, кажется, что решением было бы сохранить данные в файлепередать этот файл любой функции или задаче, требующей данных.

Затем можно было бы передать это в файл в foreach задачу , которая может перебирать строки в файле.Данные, хранящиеся в формате CSV, очень легко анализировать:

<p4labels user="bob" filter="*VerifiedBuild*" max=100 output="myfile.csv" />
<foreach item="Line" in="myfile.csv" delim="," property="label,date,comment">
  <echo message="Label: ${label} Created on: ${date}   -   ${comment}" />
</foreach>
...