bat/tests/syntax-tests/highlighted/NAnt Build File/Default.build

168 lines
40 KiB
Plaintext
Raw Normal View History

2021-05-29 06:16:38 +02:00
<?xml version="1.0" encoding="UTF-8"?>
<project name="Paraesthesia.Tools.NAntTasks" default="all" verbose="false">
 <!-- === ENVIRONMENT SETUP === -->
 <property name="nant.settings.currentframework" value="net-2.0"/>
 <tstamp />
 <sysinfo />
 <property name="build.config" value="Release" />
 <property name="build.version" value="2.0.0.0" />
 <property name="build.name" value="Paraesthesia.Tools.NAntTasks" />
 <property name="build.dir" value="${project::get-base-directory()}\build" />
 <property name="build.bin.dir" value="${build.dir}\bin" />
 <property name="build.doc.dir" value="${build.dir}\doc" />
 <property name="build.install.dir" value="${build.dir}\install" />
 <property name="build.log.dir" value="${build.dir}\log" />
 
 <!-- === STANDARD TARGETS === -->
 <target name="all" depends="build-tasks test" description="Builds all custom NAnt task projects."/>
 <target name="clean" description="Remove all compiled output folders.">
 <echo message="Removing build output folder..."/>
 <delete dir="${build.dir}" failonerror="false" verbose="false"/>
 <echo message="Removing compilation artifact folders..."/>
 <delete failonerror="false" verbose="false">
 <fileset>
 <exclude name="lib" />
 <exclude name="lib\**" />
 <include name="**\obj\**" />
 <include name="**\bin\**" />
 </fileset>
 </delete>
 <echo message="Clean complete."/>
 </target>
 <target name="test" description="Run unit tests on this project." depends="build-tests">
 <!-- TODO: Run the unit tests -->
 </target>
 <target name="doc" description="Generates NDoc documentation." depends="build-tasks">
 <ndoc>
 <assemblies basedir="${build.bin.dir}">
 <include name="Paraesthesia.Tools.*.dll"/>
 </assemblies>
 <summaries>
 <include name="NamespaceSummary.xml"/>
 </summaries>
 <documenters>
 <documenter name="MSDN">
 <property name="AutoDocumentConstructors" value="True" />
 <property name="AutoPropertyBackerSummaries" value="True" />
 <property name="CollectionNamespace" value="${build.name} v${build.version}" />
 <property name="CopyrightHref" value="http://www.paraesthesia.com" />
 <property name="CopyrightText" value="Copyright 2007 Travis Illig" />
 <property name="DefaultTOC" value="Empty" />
 <property name="DeleteCHM" value="False" />
 <property name="DocumentEmptyNamespaces" value="False" />
 <property name="DocumentInternals" value="False" />
 <property name="DocumentPrivates" value="False" />
 <property name="DocumentProtected" value="True" />
 <property name="GenerateCollectionFiles" value="True" />
 <property name="HtmlHelpCompilerFilename" value="hhc.exe" />
 <property name="HtmlHelpName" value="${build.name} v${build.version}" />
 <property name="IncludeAssemblyVersion" value="True" />
 <property name="IncludeFavorites" value="True" />
 <property name="IncludeHeirarchy" value="True" />
 <property name="LinkToSdkDocVersion" value="SDK_v1_1" />
 <property name="OmitObjectTags" value="False" />
 <property name="OutputDirectory" value="${build.doc.dir}" />
 <property name="PlugInNamespace" value="ms.vscc" />
 <property name="RootPageContainsNamespaces" value="True" />
 <property name="ShowMissingParams" value="True" />
 <property name="ShowMissingRemarks" value="False" />
 <property name="ShowMissingReturns" value="True" />
 <property name="ShowMissingSummaries" value="True" />
 <property name="ShowMissingValues" value="True" />
 <property name="ShowVisualBasic" value="False" />
 <property name="SortTOCByNamespace" value="True" />
 <property name="SplitTOCs" value="False" />
 <property name="Title" value="${build.name} v${build.version}" />
 </documenter>
 </documenters>
 </ndoc>
 <delete>
 <fileset basedir="${build.doc.dir}">
 <include name="**/**" />
 <exclude name="*.chm" />
 </fileset>
 </delete>
 </target>
 
 <target name="install" description="Creates distribution packages." depends="all">
 <mkdir dir="${build.install.dir}" />
 <zip verbose="true"
 zipfile="${build.install.dir}/${build.name}_${build.version}.zip"
 ziplevel="9">
 <fileset basedir="${build.dir}">
 <include name="**" />
 <exclude name="${build.install.dir}/**" />
 <exclude name="${build.log.dir}/**" />
 </fileset>
 <fileset basedir=".">
 <include name="readme.txt" />
 </fileset>
 </zip>
 <zip verbose="true"
 zipfile="${build.install.dir}/${build.name}_${build.version}_src.zip"
 ziplevel="9">
 <fileset basedir=".">
 <include name="**" />
 <exclude name="**/*.suo" />
 <exclude name="**/*.user" />
 <exclude name="**/*.cache" />
 <exclude name="**/bin/**" />
 <exclude name="**/build/**" />
 <exclude name="**/lib/*.dll" />
 <exclude name="**/obj/**" />
 </fileset>
 </zip>
 </target>
 
 <target name="production" description="Executes the production build." depends="clean set-version all test doc cleanup-build-output install">
 <echo message="Completed production build." />
 </target>
 
 <!-- === PREREQUISITE TASKS === -->
 <target name="build-tasks" description="Builds the custom NAnt task solution.">
 <!-- solution configuration="${build.config}" outputdir="${build.bin.dir}" solutionfile="Paraesthesia.Tools.NAntTasks.sln" / -->
 <exec program="MSBuild.exe">
 <arg value="Paraesthesia.Tools.NAntTasks.sln" />
 <arg line="/p:Configuration=${build.config}" />
 <arg line="/p:OutDir=&quot;${build.bin.dir}\\&quot;" />
 </exec>
 </target>
 
 <target name="build-tests" description="Builds the unit tests for the project.">
 <!-- TODO: When there are unit tests, build them. -->
 </target>
 <target name="cleanup-build-output" description="Cleans up the build output for archival.">
 <echo message="Cleaning up build output..." />
 <delete>
 <fileset basedir="${build.bin.dir}">
 <include name="*" />
 <exclude name="Paraesthesia.Tools.*" />
 </fileset>
 </delete>
 <echo message="Build output cleaned up. Only project output files remain." />
 </target>
 <target name="set-version" description="Updates the build assembly version.">
 <asminfo output="AssemblyVersion.cs" language="CSharp">
 <imports>
 <import namespace="System.Reflection" />
 </imports>
 <attributes>
 <attribute type="AssemblyVersionAttribute" value="${build.version}"/>
 <attribute type="AssemblyCompanyAttribute" value="Paraesthesia" />
 <attribute type="AssemblyCopyrightAttribute" value="(c) 2007 - ${datetime::get-year(datetime::now())} Travis Illig" />
 </attributes>
 <references>
 <include name="System.dll" />
 </references>
 </asminfo>
 </target>
</project>