【问题标题】:NAnt: task that returns/set a collection of objects?NAnt:返回/设置对象集合的任务?
【发布时间】:2011-02-02 23:15:41
【问题描述】:

我想通过添加p4 labels 任务来扩充NAntContrib 的Perforce 任务集。

p4labels 任务必须返回标签集合,或者甚至理想情况下,返回标签信息集合:名称、日期/时间、描述。

查看 NAntContrib 的其他调用代码(例如p4info),看起来从任务返回简单字符串相当容易,但我还没有设法找到返回标签集合的方法。例如,一个潜在的用途是稍后将此集合传递给函数以获取集合中的最新标签,或者传递给 foreach 任务以迭代处理集合中的每个标签。

这在 NAnt 中是否可行?从我所见,您似乎可以声明集合和集合,但不能从任务或函数中返回它们。

为了记录,我已经声明了一个LabelInfo NAnt 类型以及一个LabelInfoCollection,但我真的不知道如何从任务中返回一个。

欢迎任何提示。

【问题讨论】:

    标签: perforce nant nantcontrib


    【解决方案1】:

    查看NAntContribsql task 处理返回一组值的策略,似乎解决方案是将数据存储在文件中并将该文件传递给需要数据的任何函数或任务.

    然后可以将其传递给文件到foreach task,该foreach task 可以迭代文件中的lines。以 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>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-05
      • 2021-04-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多