diff options
Diffstat (limited to 'java/common/protocol-version.xml')
| -rw-r--r-- | java/common/protocol-version.xml | 123 |
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> |
