Note that there are some explanatory texts on larger screens.

plurals
  1. PO.NET projects build automation with NAnt/MSBuild + SVN
    text
    copied!<p>for quite a while now, I've been trying to figure out how to setup an automated build process at our shop. I've read many posts and guides on this matter and none of them really fits my specifics needs.</p> <p>My SVN repository is laid out as follows</p> <pre><code>\projects \projectA (a product) \tags \1.0.0.1 \1.0.0.2 ... \trunk \src \proj1 (a VS C# project) \proj2 \documentation </code></pre> <p>Then I have a network share, with a folder for each project (product), which in turn contains the binaries, written documentation and the generated API documentation (via NDoc - each project may have an .ndoc file in the repository) for <strong>every historical version</strong> (from the <em>tags</em> SVN folder) and for the <strong>latest version</strong> as well (from the <em>trunk</em>).</p> <p>Basically, what I want to do in a scheduled batch build are these steps:</p> <ol> <li>examine the project's SVN folder and identify <em>tag</em>s <strong>not present in the network share</strong></li> <li>for <strong>each of these tags</strong> <ol> <li>check out the tag folder</li> <li><strong>build</strong> (with Release config)</li> <li><strong>copy the resulting binaries</strong> to the network share</li> <li>search for .ndoc files</li> <li><strong>generate CHM files</strong> via NDoc</li> <li><strong>copy the resulting CHM files</strong> to the network share</li> </ol></li> <li>do the same as in 2., but for the HEAD revision of <em>trunk</em></li> </ol> <p>Now, the trouble is, I have no idea where to start. I do not keep .sln files in the repository, but I am able to replace these with MSBuild files which in turn build the C# projects belonging to the specific product.</p> <p>I guess the most troubling part is the examination of the repository for tags which have not been processed yet - i.e. searching the tags and comparing them to a project's directory structure on the network share. I have no idea how to do that in any of the build tools (NAnt, MSBuild).</p> <p>Could you please provide me with some pointers on how to approach this task as a whole and in detail as well? I do not care if I use NAnt, MSBuild, or both. I am aware that this might be rather complex, but every idea and NAnt/MSBuild snippet will be a great help.</p> <p>Thanks in advance.</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload