summaryrefslogtreecommitdiff
path: root/java/common/protocol-version.xml
diff options
context:
space:
mode:
authorStephen Vinoski <vinoski@apache.org>2006-11-18 03:48:15 +0000
committerStephen Vinoski <vinoski@apache.org>2006-11-18 03:48:15 +0000
commitbe9f473e274d6cfe4cf8d8b04dd3f5a171ba9de4 (patch)
tree5f155aab31fc2f3871c0b7421d4d7c56e80f3b0a /java/common/protocol-version.xml
parent1db5a8a2329ec064d1683294ee1a3d8d233de42d (diff)
downloadqpid-python-be9f473e274d6cfe4cf8d8b04dd3f5a171ba9de4.tar.gz
complete bringing initial maven work to trunk
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@476431 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'java/common/protocol-version.xml')
-rw-r--r--java/common/protocol-version.xml123
1 files changed, 123 insertions, 0 deletions
diff --git a/java/common/protocol-version.xml b/java/common/protocol-version.xml
new file mode 100644
index 0000000000..59e83d7f8f
--- /dev/null
+++ b/java/common/protocol-version.xml
@@ -0,0 +1,123 @@
+<!--
+ -
+ - 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.
+ -
+ -->
+<project name="Qpid Common Protocol Versions" default="generate">
+
+ <property name="saxon.jar" value="lib/saxon/saxon8.jar"/>
+
+ <macrodef name="saxon">
+ <attribute name="out"/>
+ <attribute name="src"/>
+ <attribute name="xsl"/>
+ <element name="args" implicit="true" optional="true"/>
+ <sequential>
+ <java jar="${saxon.jar}" fork="true">
+ <arg value="-o"/>
+ <arg value="@{out}"/>
+ <arg value="@{src}"/>
+ <arg value="@{xsl}"/>
+ <args/>
+ </java>
+ </sequential>
+ </macrodef>
+
+ <macrodef name="amqp">
+ <attribute name="ver"/>
+ <sequential>
+ <!-- Check for the existence of the AMQP specification file -->
+ <property name="amqpspecfile-@{ver}" value="${specs.dir}/amqp-@{ver}.xml"/>
+ <available file="${specs.dir}/amqp-@{ver}.xml"
+ property="amqpspecfile.present-@{ver}"/>
+ <fail unless="amqpspecfile.present-@{ver}"
+ message="ERROR: AMQP specification file ${specs.dir}/amqp-@{ver}.xml not found."/>
+
+ <!-- Read in the file as a set of properties; extract the amqp version -->
+ <xmlproperty prefix="@{ver}" file="${specs.dir}/amqp-@{ver}.xml"/>
+ <echo>Found AMQP specification file "${specs.dir}/amqp-@{ver}.xml"; major=${@{ver}.amqp(major)} minor=${@{ver}.amqp(minor)}</echo>
+
+ <!-- Add the version to the ProtocolVersionList.java file -->
+ <replaceregexp file="${proto_version}" match=" // !VER!"
+ replace=",${line.separator} {${@{ver}.amqp(major)}, ${@{ver}.amqp(minor)}} // !VER!"
+ flags="s" byline="true"/>
+ <replaceregexp file="${proto_version}" match=" // !VER1!"
+ replace="{${@{ver}.amqp(major)}, ${@{ver}.amqp(minor)}} // !VER!"
+ flags="s" byline="true"/>
+
+ <!-- Create directory; generate from specification file -->
+ <mkdir dir="${generated.dir}_${@{ver}.amqp(major)}_${@{ver}.amqp(minor)}"/>
+ <saxon out="${generated.dir}_${@{ver}.amqp(major)}_${@{ver}.amqp(minor)}/results.out"
+ src="${specs.dir}/amqp-@{ver}.xml"
+ xsl="${spec.stylesheet}">
+ <arg value="major=${@{ver}.amqp(major)}"/>
+ <arg value="minor=${@{ver}.amqp(minor)}"/>
+ <arg value="registry_name=MainRegistry"/>
+ </saxon>
+ <!-- -->
+ <saxon out="${generated.dir}_${@{ver}.amqp(major)}_${@{ver}.amqp(minor)}/cluster.out"
+ src="${cluster.asl}"
+ xsl="${spec.stylesheet}">
+ <arg value="major=${@{ver}.amqp(major)}"/>
+ <arg value="minor=${@{ver}.amqp(minor)}"/>
+ <arg value="registry_name=ClusterRegistry"/>
+ </saxon>
+ <saxon out="${generated.dir}_${@{ver}.amqp(major)}_${@{ver}.amqp(minor)}/registry.out"
+ src="${registry.template}"
+ xsl="${registry.stylesheet}">
+ <arg value="major=${@{ver}.amqp(major)}"/>
+ <arg value="minor=${@{ver}.amqp(minor)}"/>
+ </saxon>
+ </sequential>
+ </macrodef>
+
+<!-- <uptodate property="generated" targetfile="${generated.dir}/results.out"
+ srcfile="${amqp.xml}"/> -->
+
+<!-- <target name="generate" unless="generated"> -->
+ <target name="generate">
+ <mkdir dir="${generated.dir}"/>
+ <copy file="src/main/versions/ProtocolVersionList.java.tmpl" tofile="${proto_version}"
+ overwrite="true"/>
+ <!--
+ NOTE: Set the AMQP version numbers to be supported in this build here.
+ The last version in this list will be the version returned when a protocol
+ ProtocolInitiation NAK frame is returned by the broker. Usually this is the
+ highest or most recent version.
+ -->
+ <!-- <amqp ver="0.8"/>
+ <amqp ver="0.9"/>
+ <amqp ver="0.10"/> -->
+ <amqp ver="8.0"/>
+
+<!-- <saxon out="${generated.dir}/results.out" src="${amqp.xml}"
+ xsl="${stylesheet}">
+ <arg value="asl_base=${asl.base}"/>
+ <arg value="registry_name=MainRegistry"/>
+ </saxon>
+ <saxon out="${generated.dir}/cluster.out" src="${cluster.asl}"
+ xsl="${stylesheet}">
+ <arg value="registry_name=ClusterRegistry"/>
+ </saxon>
+ <saxon out="${generated.dir}/registry.out" src="${registry_template}"
+ xsl="${registry_stylesheet}"/> -->
+ </target>
+
+ <target name="precompile" depends="generate"/>
+
+</project>