1

タスクを追加して、 NAntContribの一連のPERFORCEタスクを拡張したいと思いp4 labelsます。

タスクは、p4labelsラベルのコレクション、または理想的には、ラベル情報のコレクション(名前、日付/時刻、説明)を返す必要があります。

p4info他の呼び出し(たとえば)のNAntContribのコードを調べると、タスクから単純な文字列を返すのはかなり簡単なようですが、ラベルのコレクションを返す方法を見つけることができませんでした。潜在的な用途は、後でこのコレクションを関数に渡してコレクション内の最新のラベルを取得したり、foreachタスクに渡してコレクション内のそれぞれを処理するために反復したりすることです。

これはNAntでも可能ですか?私が見てきたすべてのことから、セットとコレクションを宣言することはできるようですが、タスクまたは関数からそれらを返すことはできません。

記録のために、私はLabelInfoNAntタイプとを宣言しましたLabelInfoCollectionが、実際には、タスクから1つを返す方法がわかりません。

ヒントは大歓迎です。

4

1 に答える 1

1

値のセットを返すことを処理するNAntContribsqlタスクの戦略を見ると、解決策はデータをファイルに格納し、そのファイルをデータを必要とする関数またはタスクに渡すことであるように思われます。

次に、これをファイルに渡して、ファイル内のを反復処理できる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>
于 2011-02-03T00:10:25.253 に答える