Tasks do MSBuild com o msbuildtasks

segunda-feira, 9 de junho de 2008.

(Comente)


Ainda sobre o MSBuild, para quem está planejando utilizar integração contínua em seus projetos e utilizará o MSBuild como ferramenta de geração de builds, recomendo dar uma olhada no projeto msbuildtracks, que é um repósitrório open source de tasks para o MSBuild.

Existem tasks bastante úteis, como por exemplo, para o SVN (SvnCheckout, SvnClient, SvnCommit, SvnCopy, SvnInfo, SvnExport, SvnUpdate, SvnVersion) manipulação de arquivos XML (Xml.XmlMassUpdate, Xml.XmlQuery, Xml.XmlQuery, XmlWrite) e etc…

A implementação destas tasks, é feita como falei em Executando Testes com o MSbuild, utilizando o arquivo do projeto.

No caso do Subversion (SVN) segue um exemplo retirado do projeto que mencionei acima

<Target Name="Checkout">
<RemoveDir Directories="$(TestWorkingFolder)" />

<SvnCheckout RepositoryPath="$(TestRepositoryPath)"
LocalPath="$(TestWorkingFolder)">
<Output TaskParameter="Revision" PropertyName="Revision" />
</SvnCheckout>

<Message Text="Revision: $(Revision)" />
</Target>

<Target Name="Update" DependsOnTargets="Checkout">
<Delete Files="$(TestWorkingFolder)\SvnClientTest.cs" />
<SvnUpdate LocalPath="$(TestWorkingFolder)">
<Output TaskParameter="Revision" PropertyName="Revision" />
</SvnUpdate>
<Message Text="Revision: $(Revision)" />
</Target>

<ItemGroup>
<CommitFiles Include="$(TestWorkingFolder)\test.txt" />
<CommitFiles Include="$(TestWorkingFolder)\Blah.txt" />
</ItemGroup>

<Target Name="Commit">
<RemoveDir Directories="$(TestWorkingFolder)" />
<SvnCheckout RepositoryPath="$(LocalTestRepositoryPath)"
LocalPath="$(TestWorkingFolder)">
<Output TaskParameter="Revision" PropertyName="Revision" />
</SvnCheckout>
<Message Text="Checked out revision: $(Revision)" />

<WriteLinesToFile File="%(CommitFiles.FullPath)" Lines="This is a test append." />

<SvnCommit Targets="@(CommitFiles)" Message="Auto commit from MSBuild.">
<Output TaskParameter="Revision" PropertyName="Revision" />
</SvnCommit>

<Message Text="Committed revision: $(Revision)" />
</Target>

Note as tasks Checkout > Update > Commit que realizam as operações do SVN.


    


Gostou? assine o feed | Discordou? opine! ou entre em contato



Opine!




Caso possua um site, preencha este campo que ele sera exibido na pagina inicial na aba "+ leitores".

Clique nos smileys abaixo para adicionar ao seu texto.

:! ≈pirate≈ ≈oops≈ ≈$≈ ≈vangry≈ ≈eek≈ ≈neutral≈ ≈halo≈ ≈down≈ ≈roll≈ ≈cry≈ ≈???≈ :/ ::15 ≈twisted≈ >>> ≈angel≈ ≈!≈ ≈up≈ ≈mrgreen≈ ≈cool≈ :P :D :( ≈mad≈ ≈shock≈ ≈kiss≈ ;) ≈XO≈ :)