summaryrefslogtreecommitdiff
path: root/qpid/java/common/build.xml
diff options
context:
space:
mode:
Diffstat (limited to 'qpid/java/common/build.xml')
-rw-r--r--qpid/java/common/build.xml102
1 files changed, 102 insertions, 0 deletions
diff --git a/qpid/java/common/build.xml b/qpid/java/common/build.xml
new file mode 100644
index 0000000000..f2f85fc634
--- /dev/null
+++ b/qpid/java/common/build.xml
@@ -0,0 +1,102 @@
+<!--
+ -
+ - 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="AMQ Common" default="build">
+
+ <property name="module.genpom" value="true"/>
+
+ <import file="../module.xml"/>
+
+ <property name="generated.package" value="org/apache/qpid/framing" />
+ <property name="framing.generated.dir" location="${module.precompiled}/${generated.package}" />
+ <property name="qpidbuildversion.java" location="${module.precompiled}/org/apache/qpid/QpidBuildVersion.java" />
+ <property name="xml.spec.dir" location="${project.root}/../specs" />
+ <property name="xml.spec.deps" value="amqp.0-8.xml amqp.0-9.xml amqp0-9-1.stripped.xml" />
+ <property name="xml.spec.list" value='"${xml.spec.dir}/amqp.0-8.xml" "${xml.spec.dir}/amqp.0-9.xml" "${xml.spec.dir}/amqp0-9-1.stripped.xml"' />
+ <property name="gentools.timestamp" location="${framing.generated.dir}/gentools.timestamp" />
+ <property name="jython.timestamp" location="${framing.generated.dir}/jython.timestamp" />
+
+ <target name="check_jython_deps">
+ <uptodate property="jython.notRequired" targetfile="${jython.timestamp}">
+ <srcfiles dir="${xml.spec.dir}" includes="amqp.0-10-qpid-errata.xml" />
+ </uptodate>
+ </target>
+
+ <target name="jython" depends="check_jython_deps" unless="jython.notRequired">
+ <jython path="${mllib.dir}">
+ <args>
+ <arg value="${basedir}/codegen"/>
+ <arg value="${module.precompiled}"/>
+ <arg value="${xml.spec.dir}/amqp.0-10-qpid-errata.xml"/>
+ <arg value="${basedir}"/>
+ </args>
+ </jython>
+ <touch file="${jython.timestamp}" />
+ </target>
+
+ <target name="compile_gentools">
+ <ant dir="${gentools.home}" />
+ </target>
+
+ <target name="check_gentool_deps">
+ <uptodate property="gentools.notRequired" targetfile="${gentools.timestamp}">
+ <srcfiles dir="${xml.spec.dir}" includes="${xml.spec.deps}" />
+ </uptodate>
+ </target>
+
+ <target name="gentools" depends="compile_gentools,check_gentool_deps" unless="gentools.notRequired">
+ <mkdir dir="${framing.generated.dir}"/>
+ <java classname="org.apache.qpid.gentools.Main" fork="true" dir="${gentools.home}/src" failonerror="true">
+ <arg line='-j -o "${framing.generated.dir}" -t "${project.root}/common/templates" ${xml.spec.list}'/>
+ <classpath>
+ <pathelement path="${gentools.home}/src" />
+ <fileset dir="${gentools.home}/lib">
+ <include name="**/*.jar"/>
+ </fileset>
+ <pathelement path="${gentools.home}/lib/velocity-1.4.jar" />
+ <pathelement path="${gentools.home}/lib/velocity-dep-1.4.jar" />
+ </classpath>
+ </java>
+ <touch file="${gentools.timestamp}" />
+ </target>
+
+ <target name="build-version" depends="create-version" if="version-stale">
+ <tstamp>
+ <format property="build.time" pattern="yyyy-MM-dd HH:mm:ss z" timezone="UTC"/>
+ </tstamp>
+
+ <echo file="${qpidbuildversion.java}" append="false">package org.apache.qpid;
+
+public class QpidBuildVersion
+{
+ public static final String VERSION = "${project.version}";
+ public static final String SVN_VERSION = "${svnversion.output}";
+ public static final String BUILD_PROJECT = "${project.name}";
+ public static final String BUILD_TIME = "${build.time}";
+
+}
+</echo>
+
+ </target>
+
+ <target name="precompile" depends="gentools,jython,create-version,build-version"/>
+
+ <target name="bundle" depends="bundle-tasks"/>
+</project>