xref: /aosp_15_r20/external/antlr/runtime/CSharp2/Sources/Antlr3.Runtime/default.build (revision 16467b971bd3e2009fad32dd79016f2c7e421deb)
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