blob: 6dcbbecd21795a91c9ba49821be75327b5b8109b [file] [log] [blame]
<?xml version="1.0"?>
<project name="groovyparser" default="default">
<!-- project generated by http://megg.sf.net -->
<!-- author Jeremy.Rayner@bigfoot.com -->
<!-- -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- -->
<!-- compile settings -->
<!-- -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- -->
<property name="build.debug" value="on"/>
<property name="version.number" value="0.0.2"/>
<!-- -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- -->
<!-- directories -->
<!-- -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- -->
<property name="src.dir" value="src"/>
<property name="generated.src.dir" value="srcgen"/>
<property name="build.dir" value="build"/>
<property name="build.classes.dir" value="${build.dir}/classes"/>
<property name="dist.dir" value="dist"/>
<property name="lib.dir" value="lib"/>
<property name="standalone.dir" value="standalone"/>
<property name="standalone.working.dir" value="temp"/>
<!-- TODO limit exposure to groovy classic -->
<property name="groovy.classic.dir" value="../../../../groovy-core/target/install"/>
<property name="groovy.classic.lib.dir" value="${groovy.classic.dir}/embeddable"/>
<property name="groovy.classic.ext.lib.dir" value="${groovy.classic.dir}/lib"/>
<!-- javadoc properties -->
<property name="javadoc.dir" value="doc"/>
<property name="javadoc.packages" value="org.*"/>
<!-- junit properties -->
<property name="test.src.dir" value="test"/>
<property name="test.classes.dir" value="${build.dir}/test/classes"/>
<property name="test.reports.dir" value="reports"/>
<!-- -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- -->
<!-- datatypes -->
<!-- -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- -->
<path id="compile.classpath">
<pathelement location="${build.classes.dir}"/>
<fileset dir="${lib.dir}">
<include name="**/*.jar" />
<include name="**/*.zip" />
</fileset>
<!-- TODO limit exposure to groovy classic -->
<fileset dir="${groovy.classic.lib.dir}">
<include name="**/*.jar" />
</fileset>
</path>
<path id="test.classpath">
<path refid="compile.classpath"/>
<pathelement location="${test.classes.dir}"/>
<fileset dir="${groovy.classic.ext.lib.dir}">
<include name="**/*.jar" />
</fileset>
</path>
<!-- -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- -->
<!-- targets -->
<!-- -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- -->
<target name="default"
depends="dist"
description="default: build everything"
/>
<target name="all"
depends="test,dist"
description="build and test everything"
/>
<target name="clean" description="remove all built files">
<delete dir="${test.reports.dir}"/>
<delete dir="${standalone.dir}"/>
<delete dir="${javadoc.dir}" />
<delete dir="${generated.src.dir}" />
<delete dir="${build.dir}" />
<delete dir="${dist.dir}" />
</target>
<target name="dist"
depends="compile"
description="create distributables (jars etc)">
<mkdir dir="${dist.dir}" />
<jar jarfile="${dist.dir}/groovy-jsr-${version.number}.jar"
manifest="${src.dir}/manifest.txt">
<fileset dir="${build.classes.dir}"/>
</jar>
</target>
<target name="docs" depends="generate" description="generate documentation">
<mkdir dir="${javadoc.dir}" />
<antlr target="${src.dir}/org/codehaus/groovy/antlr/groovy.g"
html="true"
outputdirectory="${javadoc.dir}">
<classpath>
<fileset dir="${lib.dir}">
<include name="**/*.jar"/>
</fileset>
</classpath>
</antlr>
<move file="doc/GroovyLexer.txt" tofile="doc/GroovyLexer.html" failonerror="No"/>
<copy todir="${generated.src.dir}">
<fileset dir="${src.dir}"/>
</copy>
<javadoc sourcepath="${generated.src.dir}"
destdir="${javadoc.dir}"
packagenames="${javadoc.packages}"
classpathref="compile.classpath"
use="true"
windowtitle="groovyc"
private="true"/>
</target>
<target name="test"
depends="test-compile"
description="run all test cases">
<junit haltonfailure="true" fork="yes">
<classpath refid="test.classpath"/>
<formatter type="plain" usefile="false"/>
<batchtest>
<fileset dir="${test.src.dir}">
<include name="**/*Test.java" />
</fileset>
</batchtest>
</junit>
</target>
<target name="test-classic"
depends="test-compile"
description="run all the classic test cases">
<junit haltonfailure="true" fork="yes">
<classpath refid="test.classpath"/>
<formatter type="plain" usefile="false"/>
<batchtest>
<fileset dir="${test.src.dir}">
<include name="**/AllTests.java" />
</fileset>
</batchtest>
</junit>
</target>
<target name="pretty-test"
depends="test-compile"
description="HTML output of test cases">
<mkdir dir="${test.reports.dir}"/>
<junit haltonfailure="false" fork="yes">
<classpath refid="test.classpath"/>
<formatter type="xml" usefile="true"/>
<batchtest todir="${test.reports.dir}">
<fileset dir="${test.src.dir}">
<include name="**/*Test.java" />
</fileset>
</batchtest>
</junit>
<junitreport todir="${test.reports.dir}">
<fileset dir="${test.reports.dir}">
<include name="TEST-*.xml"/>
</fileset>
<report format="frames" todir="${test.reports.dir}"/>
</junitreport>
</target>
<target name="standalone" depends="dist" description="merge all jars together">
<mkdir dir="${standalone.working.dir}"/>
<unzip dest="${standalone.working.dir}">
<fileset dir="${lib.dir}">
<include name="*.jar"/>
</fileset>
<fileset dir="${dist.dir}">
<include name="*.jar"/>
</fileset>
</unzip>
<copy todir="${standalone.working.dir}">
<fileset dir="licenses"/>
</copy>
<mkdir dir="standalone"/>
<jar jarfile="standalone/groovy-jsr-${version.number}.jar"
manifest="${src.dir}/manifest.txt">
<fileset dir="${standalone.working.dir}"/>
</jar>
<delete dir="${standalone.working.dir}"/>
</target>
<target name="generate" depends="init" description="generate sources from a grammar file">
<mkdir dir="${generated.src.dir}/org/codehaus/groovy/antlr"/>
<antlr target="${src.dir}/org/codehaus/groovy/antlr/groovy.g"
outputdirectory="${generated.src.dir}/org/codehaus/groovy/antlr">
<classpath>
<fileset dir="${lib.dir}">
<include name="**/*.jar"/>
</fileset>
</classpath>
</antlr>
</target>
<target name="compile" depends="generate" description="compile java">
<mkdir dir="${build.classes.dir}" />
<copy todir="${generated.src.dir}">
<fileset dir="${src.dir}"/>
</copy>
<javac srcdir="${generated.src.dir}"
destdir="${build.classes.dir}"
classpathref="compile.classpath"
debug="${build.debug}"
deprecation="on"/>
</target>
<target name="test-compile" depends="compile" description="compile tests">
<mkdir dir="${test.classes.dir}" />
<javac srcdir="${test.src.dir}"
destdir="${test.classes.dir}"
classpathref="test.classpath"
debug="${build.debug}"
deprecation="on"/>
</target>
<target name="init">
<tstamp />
<mkdir dir="${lib.dir}"/>
</target>
</project>