Domanda

Vorrei aumentare NantcontribSet di compiti di perforce aggiungendo il p4 labels compito.

Il p4labels L'attività dovrebbe restituire una raccolta di etichette, o anche idealmente, una raccolta di informazioni sull'etichetta: nome, data/ora, descrizione.

Guardando il codice di NantContrib per altre chiamate (p4info Ad esempio), sembra che sia piuttosto facile restituire stringhe semplici da un'attività, ma non sono riuscito a trovare un modo per restituire una raccolta di etichette. Un potenziale uso sarebbe quello di passare successivamente questa raccolta a una funzione per ottenere l'ultima etichetta nella collezione o a foreach compito di iterare per gestire ciascuno all'interno della raccolta, per esempio.

È anche possibile in Nant? Da tutto ciò che ho visto, sembra che tu possa dichiarare set e raccolte, ma non restituirli da un'attività o da una funzione.

Per il record, ho dichiarato un file LabelInfo Tipo nant e a LabelInfoCollection, ma davvero non so come ne restituirei uno da un'attività.

Eventuali suggerimenti sono benvenuti.

È stato utile?

Soluzione

Guardando Nantcontrib'S sql compitoStrategia per gestire il restituzione di una serie di valori, sembra che una soluzione sarebbe quella di archiviare i dati in un file e passare quel file a qualsiasi funzione o attività che richiede i dati.

Sarebbe quindi possibile passare questo per archiviare a un foreach compito che può iterare sul linee nel file. I dati memorizzati in formato CSV sono molto facili da analizzare:

<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>
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top