blob: ccf66af21d433a4b2ded61283c6dcb3d9db4229e [file] [log] [blame]
<!--
-
- Copyright (c) 2006 The Apache Software Foundation
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
-->
<project name="AMQ Java Framing Layer" default="build">
<property name="amq.home" value="../.."/>
<path id="amq.home.path">
<pathelement location="${amq.home}"/>
</path>
<pathconvert targetos="unix" property="amq.home.fixed" refid="amq.home.path"/>
<property name="amq.asl" value="${amq.home.fixed}/specs/amqp.xml"/>
<property name="cluster.asl" value="resources/cluster.asl"/>
<property name="stylesheet" value="stylesheets/framing.xsl"/>
<property name="registry_stylesheet" value="stylesheets/registry.xsl"/>
<property name="registry_template" value="resources/registry.template"/>
<property name="saxon.jar" value="lib/saxon/saxon8.jar"/>
<property name="generated.src" value="generated/java/org.apache.qpid/framing"/>
<property name="static.src" value="src"/>
<property name="resources" value="resources"/>
<property name="base.lib" value="lib"/>
<path id="project.classpath">
<fileset dir="${base.lib}">
<include name="**/*.jar"/>
</fileset>
</path>
<target name="prepare">
<mkdir dir="classes"/>
</target>
<target name="build" depends="regenerate, compile" description="re-generates and compiles static and generated source after cleaning">
</target>
<target name="compile" depends="prepare" description="compiles static and generated source">
<javac destdir="classes" debug="true" deprecation="true" source="1.5">
<src path="${generated.src}"/>
<src path="${static.src}"/>
<classpath refid="project.classpath"/>
</javac>
</target>
<target name="regenerate" depends="clean, generate" description="generates code">
</target>
<target name="check-generate">
<uptodate property="generateNotRequired" targetfile="${generated.src}/results.out" srcfile="${amq.asl}"/>
</target>
<target name="generate" depends="check-generate" unless="${generateNotRequired}" description="generates code">
<mkdir dir="${generated.src}"/>
<java jar="${saxon.jar}" fork="true">
<arg value="-o"/>
<arg value="${generated.src}/results.out"/>
<arg value="${amq.asl}"/>
<arg value="${stylesheet}"/>
<arg value="asl_base=${asl.base}"/>
<arg value="registry_name=MainRegistry"/>
</java>
<java jar="${saxon.jar}" fork="true">
<arg value="-o"/>
<arg value="${generated.src}/cluster.out"/>
<arg value="${cluster.asl}"/>
<arg value="${stylesheet}"/>
<arg value="registry_name=ClusterRegistry"/>
</java>
<java jar="${saxon.jar}" fork="true">
<arg value="-o"/>
<arg value="${generated.src}/registry.out"/>
<arg value="${registry_template}"/>
<arg value="${registry_stylesheet}"/>
</java>
</target>
<target name="clean" depends="prepare" description="deletes any products of the compile and generate tasks">
<delete quiet="true">
<fileset dir="classes" includes="**/*"/>
<fileset dir="${generated.src}" includes="**/*"/>
</delete>
<mkdir dir="${generated.src}"/>
</target>
</project>