Ant build.xml: improved up-to-date checks, remove need to pass "-make" to the ANTLR 3 tool
This commit is contained in:
parent
01bc4f1ab7
commit
567baefa62
59
build.xml
59
build.xml
|
@ -16,6 +16,7 @@
|
||||||
<path id="cp.antlr3" path="${antlr3.jar}"/>
|
<path id="cp.antlr3" path="${antlr3.jar}"/>
|
||||||
|
|
||||||
<property name="build.antlr3.dir" value="${build.dir}/generated-sources/antlr3" />
|
<property name="build.antlr3.dir" value="${build.dir}/generated-sources/antlr3" />
|
||||||
|
<property name="antlr3.touch" value="${build.dir}/antlr3-${antlr3.version}.touch"/>
|
||||||
</target>
|
</target>
|
||||||
|
|
||||||
<target name="build-init" depends="basic-init">
|
<target name="build-init" depends="basic-init">
|
||||||
|
@ -34,6 +35,46 @@
|
||||||
<delete dir="${lib.dir}" includeemptydirs="true"/>
|
<delete dir="${lib.dir}" includeemptydirs="true"/>
|
||||||
</target>
|
</target>
|
||||||
|
|
||||||
|
<target name="antlr3-up-to-date" depends="basic-init,antlr3-init">
|
||||||
|
<uptodate targetfile="${antlr3.touch}" property="is.antlr3.uptodate">
|
||||||
|
<srcfiles dir="${basedir}/tool/src">
|
||||||
|
<include name="**/*.g"/>
|
||||||
|
<include name="**/*.tokens"/>
|
||||||
|
</srcfiles>
|
||||||
|
<srcfiles file="${antlr3.jar}"/>
|
||||||
|
</uptodate>
|
||||||
|
</target>
|
||||||
|
|
||||||
|
<target name="up-to-date" depends="antlr3-up-to-date,build-init">
|
||||||
|
<uptodate targetfile="${jar.file}" property="is.source.uptodate">
|
||||||
|
<srcfiles dir="${basedir}/tool/src">
|
||||||
|
<include name="**/*.java"/>
|
||||||
|
<include name="**/*.g"/>
|
||||||
|
<include name="**/*.tokens"/>
|
||||||
|
</srcfiles>
|
||||||
|
<srcfiles dir="${basedir}/tool/resources">
|
||||||
|
<include name="**/*.st"/>
|
||||||
|
<include name="**/*.stg"/>
|
||||||
|
</srcfiles>
|
||||||
|
<srcfiles dir="${basedir}/runtime/Java/src/">
|
||||||
|
<include name="**/*.java"/>
|
||||||
|
<include name="**/*.g"/>
|
||||||
|
<include name="**/*.st"/>
|
||||||
|
<include name="**/*.stg"/>
|
||||||
|
</srcfiles>
|
||||||
|
<srcfiles dir="${build.antlr3.dir}"/>
|
||||||
|
<srcfiles file="${basedir}/runtime/Java/lib/org.abego.treelayout.core.jar"/>
|
||||||
|
<srcfiles file="${antlr3.jar}"/>
|
||||||
|
</uptodate>
|
||||||
|
|
||||||
|
<condition property="is.jar.uptodate">
|
||||||
|
<and>
|
||||||
|
<istrue value="${is.source.uptodate}"/>
|
||||||
|
<istrue value="${is.antlr3.uptodate}"/>
|
||||||
|
</and>
|
||||||
|
</condition>
|
||||||
|
</target>
|
||||||
|
|
||||||
<macrodef name="antlr3">
|
<macrodef name="antlr3">
|
||||||
<attribute name="srcpath"/>
|
<attribute name="srcpath"/>
|
||||||
<element name="args" optional="true"/>
|
<element name="args" optional="true"/>
|
||||||
|
@ -41,7 +82,6 @@
|
||||||
<mkdir dir="${build.antlr3.dir}/@{srcpath}"/>
|
<mkdir dir="${build.antlr3.dir}/@{srcpath}"/>
|
||||||
<java classname="org.antlr.Tool" fork="true" failonerror="true" maxmemory="300m"
|
<java classname="org.antlr.Tool" fork="true" failonerror="true" maxmemory="300m"
|
||||||
dir="${basedir}/tool/src/@{srcpath}">
|
dir="${basedir}/tool/src/@{srcpath}">
|
||||||
<arg value="-make"/>
|
|
||||||
<arg value="-o"/>
|
<arg value="-o"/>
|
||||||
<arg value="${build.antlr3.dir}/@{srcpath}"/>
|
<arg value="${build.antlr3.dir}/@{srcpath}"/>
|
||||||
<args/>
|
<args/>
|
||||||
|
@ -54,13 +94,19 @@
|
||||||
</sequential>
|
</sequential>
|
||||||
</macrodef>
|
</macrodef>
|
||||||
|
|
||||||
<target name="antlr3" depends="build-init,antlr3-init">
|
<target name="antlr3" depends="build-init,antlr3-init,antlr3-up-to-date" unless="is.antlr3.uptodate">
|
||||||
<mkdir dir="${build.antlr3.dir}" />
|
<mkdir dir="${build.antlr3.dir}" />
|
||||||
|
|
||||||
<echo>parse grammars</echo>
|
<path id="sources.antlr3">
|
||||||
|
<fileset dir="${basedir}/tool/src" includes="**/*.g"/>
|
||||||
|
</path>
|
||||||
|
<pathconvert pathsep="${line.separator} " property="echo.sources.antlr3" refid="sources.antlr3">
|
||||||
|
<map from="${basedir}/tool/src" to="src"/>
|
||||||
|
</pathconvert>
|
||||||
|
<echo message="Generating ANTLR 3 grammars:${line.separator} ${echo.sources.antlr3}"/>
|
||||||
|
|
||||||
<antlr3 srcpath="org/antlr/v4/parse"/>
|
<antlr3 srcpath="org/antlr/v4/parse"/>
|
||||||
|
|
||||||
<echo>codegen grammars</echo>
|
|
||||||
<antlr3 srcpath="org/antlr/v4/codegen">
|
<antlr3 srcpath="org/antlr/v4/codegen">
|
||||||
<args>
|
<args>
|
||||||
<arg value="-lib"/>
|
<arg value="-lib"/>
|
||||||
|
@ -68,9 +114,10 @@
|
||||||
</args>
|
</args>
|
||||||
</antlr3>
|
</antlr3>
|
||||||
|
|
||||||
|
<touch file="${antlr3.touch}" mkdirs="true"/>
|
||||||
</target>
|
</target>
|
||||||
|
|
||||||
<target name="compile" depends="build-init,antlr3" description="Compile for generic OS">
|
<target name="compile" depends="build-init,antlr3,up-to-date" description="Compile for generic OS" unless="is.jar.uptodate">
|
||||||
<mkdir dir="${build.dir}/classes"/>
|
<mkdir dir="${build.dir}/classes"/>
|
||||||
<javac
|
<javac
|
||||||
destdir="${build.dir}/classes"
|
destdir="${build.dir}/classes"
|
||||||
|
@ -88,7 +135,7 @@
|
||||||
</javac>
|
</javac>
|
||||||
</target>
|
</target>
|
||||||
|
|
||||||
<target name="build-jar" depends="compile" description="Build ANTLR 4.jar">
|
<target name="build-jar" depends="up-to-date,compile" description="Build ANTLR 4.jar" unless="is.jar.uptodate">
|
||||||
<mkdir dir="${dist.dir}"/>
|
<mkdir dir="${dist.dir}"/>
|
||||||
|
|
||||||
<jar jarfile="${jar.file}">
|
<jar jarfile="${jar.file}">
|
||||||
|
|
Loading…
Reference in New Issue