1*16467b97STreehugger Robot<?xml version="1.0"?> 2*16467b97STreehugger Robot<project name="ANTLR C# Runtime Library" default="build"> 3*16467b97STreehugger Robot <tstamp/> 4*16467b97STreehugger Robot <property name="base.dir" value="${path::get-full-path( project::get-base-directory() )}" /> 5*16467b97STreehugger Robot 6*16467b97STreehugger Robot <include buildfile="../../antlr3.runtime.net.common.inc" /> 7*16467b97STreehugger Robot 8*16467b97STreehugger Robot <property name="antlr3.runtime.test" value="true" unless="${property::exists('antlr3.runtime.test')}" /> 9*16467b97STreehugger Robot <property name="enabletest" value="ALLOWTEST" unless="${property::exists('enabletest')}" /> 10*16467b97STreehugger Robot 11*16467b97STreehugger Robot <property name="name" value="Antlr3.Runtime" /> 12*16467b97STreehugger Robot <property name="test.name" value="${name}.Tests" /> 13*16467b97STreehugger Robot 14*16467b97STreehugger Robot <property name="assembly.name" value="${name}.dll" /> 15*16467b97STreehugger Robot <property name="test.assembly.name" value="${test.name}.exe" /> 16*16467b97STreehugger Robot 17*16467b97STreehugger Robot <property name="src.dir" value="${base.dir}/" /> 18*16467b97STreehugger Robot <property name="test.src.dir" value="${base.dir}/../Antlr3.Runtime.Tests" /> 19*16467b97STreehugger Robot 20*16467b97STreehugger Robot <property name="debug" value="true" unless="${property::exists('debug')}" /> 21*16467b97STreehugger Robot 22*16467b97STreehugger Robot <echo message="Building project: '${name}' version ${version} ==> '${assembly.name}'"/> 23*16467b97STreehugger Robot 24*16467b97STreehugger Robot <target name="build" depends="init, compile, test" description="compiles the source code"> 25*16467b97STreehugger Robot </target> 26*16467b97STreehugger Robot 27*16467b97STreehugger Robot <target name="init" depends="clean, copy_build_dependencies"> 28*16467b97STreehugger Robot <mkdir dir="${build.working.dir}/tests" /> 29*16467b97STreehugger Robot </target> 30*16467b97STreehugger Robot 31*16467b97STreehugger Robot <target name="copy_build_dependencies"> 32*16467b97STreehugger Robot <!-- Copy Antlr3.Runtime.Tests dependencies --> 33*16467b97STreehugger Robot <copy todir="${build.working.dir}" overwrite="true"> 34*16467b97STreehugger Robot <fileset basedir="${sharedlibrary.dir}/MbUnit"> 35*16467b97STreehugger Robot <include name="MbUnit.Framework.dll" /> 36*16467b97STreehugger Robot <include name="QuickGraph.Algorithms.dll" /> 37*16467b97STreehugger Robot <include name="QuickGraph.dll" /> 38*16467b97STreehugger Robot </fileset> 39*16467b97STreehugger Robot </copy> 40*16467b97STreehugger Robot <copy todir="${build.working.dir}" overwrite="true"> 41*16467b97STreehugger Robot <fileset basedir="${sharedlibrary.dir}/StringTemplate.NET/${target.clr}"> 42*16467b97STreehugger Robot <include name="StringTemplate.dll" /> 43*16467b97STreehugger Robot <include name="antlr.runtime.dll" /> 44*16467b97STreehugger Robot </fileset> 45*16467b97STreehugger Robot </copy> 46*16467b97STreehugger Robot </target> 47*16467b97STreehugger Robot 48*16467b97STreehugger Robot <target name="clean"> 49*16467b97STreehugger Robot </target> 50*16467b97STreehugger Robot 51*16467b97STreehugger Robot <target name="clean.vsnet" description="cleans up VS.NET build artifacts and output"> 52*16467b97STreehugger Robot <!-- delete VS.NET project artifacts directory --> 53*16467b97STreehugger Robot <echo message="Deleting VS.NET artifacts directory '${base.dir}/bin'" /> 54*16467b97STreehugger Robot <delete dir="${base.dir}/bin" failonerror="false" /> 55*16467b97STreehugger Robot <echo message="Deleting VS.NET artifacts directory '${base.dir}/obj'" /> 56*16467b97STreehugger Robot <delete dir="${base.dir}/obj" failonerror="false" /> 57*16467b97STreehugger Robot 58*16467b97STreehugger Robot <!-- delete VS.NET project artifacts directory for Tests projects--> 59*16467b97STreehugger Robot <echo message="Deleting VS.NET artifacts directory '${base.dir}/../Antlr3.Runtime.Tests/bin'" /> 60*16467b97STreehugger Robot <delete dir="${base.dir}/../Antlr3.Runtime.Tests/bin" failonerror="false" /> 61*16467b97STreehugger Robot <echo message="Deleting VS.NET artifacts directory '${base.dir}/../Antlr3.Runtime.Tests/obj'" /> 62*16467b97STreehugger Robot <delete dir="${base.dir}/../Antlr3.Runtime.Tests/obj" failonerror="false" /> 63*16467b97STreehugger Robot </target> 64*16467b97STreehugger Robot 65*16467b97STreehugger Robot <target name="test" depends="tests.run" if="${antlr3.runtime.test}"> 66*16467b97STreehugger Robot </target> 67*16467b97STreehugger Robot 68*16467b97STreehugger Robot <target name="tests.run" depends="tests.compile"> 69*16467b97STreehugger Robot <loadtasks assembly="${sharedlibrary.dir}/MbUnit/MbUnit.Tasks.dll" /> 70*16467b97STreehugger Robot <mbunit 71*16467b97STreehugger Robot report-types="Html" 72*16467b97STreehugger Robot report-filename-format="antlr3-runtime-report-{0}-{1}" 73*16467b97STreehugger Robot report-output-directory="${build.working.dir}" 74*16467b97STreehugger Robot halt-on-failure="true" 75*16467b97STreehugger Robot > 76*16467b97STreehugger Robot <assemblies> 77*16467b97STreehugger Robot <include name="${build.working.dir}/${test.assembly.name}" /> 78*16467b97STreehugger Robot </assemblies> 79*16467b97STreehugger Robot </mbunit> 80*16467b97STreehugger Robot </target> 81*16467b97STreehugger Robot 82*16467b97STreehugger Robot <target name="compile" depends="init"> 83*16467b97STreehugger Robot <csc 84*16467b97STreehugger Robot define="${strong_name};${dotnet_define}" 85*16467b97STreehugger Robot target="library" 86*16467b97STreehugger Robot debug="${debug}" 87*16467b97STreehugger Robot optimize="${optimize}" 88*16467b97STreehugger Robot output="${build.working.dir}/${assembly.name}" 89*16467b97STreehugger Robot doc="${build.working.dir}/${name}.xml"> 90*16467b97STreehugger Robot 91*16467b97STreehugger Robot <nowarn> 92*16467b97STreehugger Robot <warning number="1591" /> 93*16467b97STreehugger Robot <warning number="1572" /> 94*16467b97STreehugger Robot </nowarn> 95*16467b97STreehugger Robot 96*16467b97STreehugger Robot <sources basedir="${src.dir}" defaultexcludes="true"> 97*16467b97STreehugger Robot <include name="**/*.cs" /> 98*16467b97STreehugger Robot <exclude name="**/*.Designer.cs" 99*16467b97STreehugger Robot if="${framework::get-target-framework()=='net-1.1' or framework::get-target-framework()=='mono-1.0'}" 100*16467b97STreehugger Robot /> 101*16467b97STreehugger Robot </sources> 102*16467b97STreehugger Robot 103*16467b97STreehugger Robot <references> 104*16467b97STreehugger Robot <!-- <include name="${build.working.dir}/antlr.runtime.dll" /> --> 105*16467b97STreehugger Robot </references> 106*16467b97STreehugger Robot </csc> 107*16467b97STreehugger Robot </target> 108*16467b97STreehugger Robot 109*16467b97STreehugger Robot <target name="tests.compile" depends="init"> 110*16467b97STreehugger Robot <csc 111*16467b97STreehugger Robot define="${dotnet_define}" 112*16467b97STreehugger Robot target="exe" 113*16467b97STreehugger Robot debug="${debug}" 114*16467b97STreehugger Robot output="${build.working.dir}/${test.assembly.name}"> 115*16467b97STreehugger Robot 116*16467b97STreehugger Robot <sources basedir="${test.src.dir}" defaultexcludes="true"> 117*16467b97STreehugger Robot <include name="**/*.cs" /> 118*16467b97STreehugger Robot <exclude name="**/*.Designer.cs" 119*16467b97STreehugger Robot if="${framework::get-target-framework()=='net-1.1' or framework::get-target-framework()=='mono-1.0'}" 120*16467b97STreehugger Robot /> 121*16467b97STreehugger Robot </sources> 122*16467b97STreehugger Robot 123*16467b97STreehugger Robot <references> 124*16467b97STreehugger Robot <include name="${build.working.dir}/${assembly.name}" /> 125*16467b97STreehugger Robot <include name="${build.working.dir}/MbUnit.Framework.dll" /> 126*16467b97STreehugger Robot <include name="${build.working.dir}/QuickGraph.Algorithms.dll" /> 127*16467b97STreehugger Robot <include name="${build.working.dir}/QuickGraph.dll" /> 128*16467b97STreehugger Robot </references> 129*16467b97STreehugger Robot </csc> 130*16467b97STreehugger Robot </target> 131*16467b97STreehugger Robot 132*16467b97STreehugger Robot</project> 133