| <!-- |
| |
| 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> |