blob: f9d3a9ddce295d258248847d675c132d14598134 [file] [log] [blame]
<?xml version="1.0"?>
<project name="antlr-test" basedir="." default="test1">
<property name="tmp.dir" location="antlr.tmp"/>
<target name="setup">
<mkdir dir="${tmp.dir}"/>
</target>
<target name="test1">
<antlr/>
</target>
<target name="test2">
<antlr target="antlr.g" outputdirectory="${tmp.dir}"/>
</target>
<target name="test3" depends="setup">
<antlr target="antlr.g" outputdirectory="${tmp.dir}"/>
<fail>
<condition>
<!-- to prove each of these files exists;
ANTLR >= 2.7.6 leaves behind new (.smap) files as well. -->
<resourcecount when="ne" count="5">
<fileset dir="${tmp.dir}">
<include name="CalcParserTokenTypes.txt" />
<include name="CalcParserTokenTypes.java" />
<include name="CalcLexer.java" />
<include name="CalcParser.java" />
<include name="CalcTreeWalker.java" />
</fileset>
</resourcecount>
</condition>
</fail>
</target>
<target name="test4" depends="setup">
<antlr target="java.g" outputdirectory="${tmp.dir}"/>
<antlr dir="${tmp.dir}" target="java.tree.g" outputdirectory="${tmp.dir}"/>
</target>
<target name="test5" depends="setup">
<antlr target="java.tree.g" outputdirectory="${tmp.dir}" fork="yes"/>
</target>
<target name="test6" depends="setup">
<antlr target="java.g" outputdirectory="${tmp.dir}" />
<antlr dir="${tmp.dir}"
target="java.tree.g"
outputdirectory="${tmp.dir}"
fork="yes"/>
</target>
<target name="test7">
<antlr target="antlr.xml"/>
</target>
<target name="test8" depends="setup">
<antlr target="extended.calc.g" outputdirectory="${tmp.dir}" glib="non-existant-file.g"/>
</target>
<target name="test9" depends="setup">
<!-- Note that I had to copy the grammars over to the temporary directory. -->
<!-- This is because ANTLR expects the super grammar and its generated java -->
<!-- files to be in the same directory, which won't be the case if I use -->
<!-- the output directory option. -->
<copy file="antlr.g" todir="${tmp.dir}"/>
<copy file="extended.calc.g" todir="${tmp.dir}"/>
<antlr target="${tmp.dir}/antlr.g"/>
<antlr target="${tmp.dir}/extended.calc.g" glib="${tmp.dir}/antlr.g"/>
</target>
<target name="test10" depends="setup">
<antlr target="antlr.g" outputdirectory="${tmp.dir}" html="yes"/>
</target>
<target name="test11" depends="setup">
<antlr target="antlr.g" outputdirectory="${tmp.dir}" diagnostic="yes"/>
</target>
<target name="test12" depends="setup">
<antlr target="antlr.g" outputdirectory="${tmp.dir}" trace="yes"/>
</target>
<target name="test13" depends="setup">
<antlr target="antlr.g" outputdirectory="${tmp.dir}" traceLexer="yes" traceParser="yes" traceTreeWalker="yes"/>
</target>
<!-- test9 will have been run before that -->
<target name="noRecompile">
<antlr target="${tmp.dir}/extended.calc.g" glib="${tmp.dir}/antlr.g"/>
</target>
<!-- test9 will have been run before that -->
<target name="normalRecompile">
<sleep seconds="2"/>
<touch file="${tmp.dir}/extended.calc.g"/>
<antlr target="${tmp.dir}/extended.calc.g" glib="${tmp.dir}/antlr.g"/>
</target>
<!-- test9 will have been run before that -->
<target name="supergrammarChangeRecompile">
<sleep seconds="2"/>
<touch file="${tmp.dir}/antlr.g"/>
<antlr target="${tmp.dir}/extended.calc.g" glib="${tmp.dir}/antlr.g"/>
</target>
<target name="cleanup">
<delete dir="${tmp.dir}" />
<delete file="../../../../../../CalcParserTokenTypes.txt"/>
</target>
</project>