I created a NAnt template for developing NAnt scripts. This template includes global variables, comments, different targets based on the deployment, job, action structure that I have talked about previously.
I have provided the entire text file listed below, and also a zip file with the template in a NAnt .build file for download.
Template
Template code:<project name="Killer.NAnt.Template" default="Deploy.Target" basedir="." ><!-- Ian Lintner --><!-- www.dotcodedump.com -->
<!-- GLOBALS SECTION --> <property name="Global.Debug" value="false" /> <property name="Global.Project" value="[Project Name]" /> <property name="Global.Email.From" value="[Email Address]" /> <property name="Global.Email.To" value="[Email Address]" /> <property name="Global.Email.Server" value="[Email Server]" />
<!-- DEPLOYMENT SECTION -->
<target name="Deploy.Target" description="A generic deployment target" > <echo message="**************************************************************" /> <echo message="* === Begin Deploy Target 1 ===" /> <echo message="**************************************************************" /> <echo message="* Time: ${datetime::now()}" /> <echo message="**************************************************************" />
<!--Put Deploy Specific Varaibles Here-->
<!-- Put Jobs Here --> <call target="Job.One" />
<echo message=""/> <echo message=""/> <echo message="**************************************************************" /> <echo message="* === End Deploy Target 1 ===" /> <echo message="**************************************************************" /> <echo message="* Time: ${datetime::now()}" /> <echo message="**************************************************************" /> </target>
<!-- JOB SECTION -->
<target name="Job.One" > <echo message="**************************************************************" /> <echo message="* -== Begin Task One==-" /> <echo message="* Time: ${datetime::now()}" /> <echo message="**************************************************************" />
<!--Put Job Specific Variables Here-->
<!-- Put Actions Here --> <call target="Action.One" /> <call target="Action.Two" />
<echo message=""/> <echo message=""/> <echo message="**************************************************************" /> <echo message="* -== End Task One==- " /> <echo message="* Time: ${datetime::now()}" /> <echo message="**************************************************************" /> </target>
<!-- ACTION SECTION -->
<target name="Action.One" > <echo message="**************************************************************" /> <echo message="* Begin Action One: ${datetime::now()}" /> <echo message="**************************************************************" />
<!-- put tasks here --> <echo message=" *** Task One ***"/>
<echo message="**************************************************************" /> <echo message="* End Action One: ${datetime::now()}" /> <echo message="**************************************************************" />
</target>
<target name="Action.Two" > <echo message="**************************************************************" /> <echo message="* Begin Action Two: ${datetime::now()}" /> <echo message="**************************************************************" />
<!-- put tasks here --> <echo message=" *** Task Two ***"/>
<echo message="**************************************************************" /> <echo message="* End Action Two: ${datetime::now()}" /> <echo message="**************************************************************" /> </target>
</project>












