Former-commit-id:06a8b51d6d
[formerly9f19e3f712
[formerly 64fa9254b946eae7e61bbc3f513b7c3696c4f54f]] Former-commit-id:9f19e3f712
Former-commit-id:a02aeb236c
95 lines
3.6 KiB
XML
95 lines
3.6 KiB
XML
<!--
|
|
|
|
Licensed to the Apache Software Foundation (ASF) under one
|
|
or more contributor license agreements. See the NOTICE file
|
|
distributed with this work for additional information
|
|
regarding copyright ownership. The ASF licenses this file
|
|
to you 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.
|
|
|
|
-->
|
|
|
|
|
|
<!--
|
|
This sole purpose of this build script is to generate the framing layer for the .net client from the AMQ spec.
|
|
-->
|
|
<project name="AMQ Dot Net Framing Layer" default="generate">
|
|
|
|
<property name="amq.home" value="../.."/>
|
|
|
|
<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"/>
|
|
<property name="static.src" value="src"/>
|
|
<property name="resources" value="resources"/>
|
|
<property name="base.lib" value="lib"/>
|
|
|
|
<path id="amq.home.path">
|
|
<pathelement location="${amq.home}"/>
|
|
</path>
|
|
|
|
<pathconvert targetos="unix" property="amq.home.fixed" refid="amq.home.path"/>
|
|
|
|
<!-- Some spec changes break the build, reverting to private copy in Qpid.Common temporarily till this is fixed. -->
|
|
<property name="amq.asl" value="${amq.home.fixed}/specs/amqp.0-8.xml"/>
|
|
|
|
<target name="clean" description="Deletes the generated sources.">
|
|
<delete>
|
|
<fileset dir="${generated.src}" includes="**/*"/>
|
|
</delete>
|
|
</target>
|
|
|
|
<!--
|
|
Checks if the generation step needs to be performed. It will be skipped if the sources are up to date with the spec and provided that the
|
|
force flag has not been set.
|
|
-->
|
|
<target name="check-generate"
|
|
description="Checks if the generated sources are up-to-date. Use -Dforce=true or the 'forcegen' target to force generation.">
|
|
|
|
<condition property="generateNotRequired">
|
|
<and>
|
|
<uptodate targetfile="${generated.src}/results.out" srcfile="${amq.asl}"/>
|
|
<not><isset property="force"/></not>
|
|
</and>
|
|
</condition>
|
|
</target>
|
|
|
|
<!-- Applies a transformation to the AMQP spec to generate the framing layer. -->
|
|
<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}/registry.out"/>
|
|
<arg value="${registry_template}"/>
|
|
<arg value="${registry_stylesheet}"/>
|
|
</java>
|
|
</target>
|
|
|
|
<!-- Does a clean and forces re-generation of the sources. -->
|
|
<target name="forcegen" depends="clean, generate" description="Forces clean re-generation of the code.">
|
|
</target>
|
|
|
|
</project>
|