| <!-- |
| - |
| - 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" /> |
| <property name="selector.output.dir" value="${module.precompiled}/org/apache/qpid/filter/selector"/> |
| |
| <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"> |
| <mkdir dir="${gentools.build}/classes"/> |
| <javac srcdir="${gentools.home}/src" destdir="${gentools.build}/classes" source="${java.source}" target="${java.target}" fork="true" includeantruntime="false"> |
| <classpath> |
| <fileset dir="${project.root}"> |
| <include name="${velocity.jar}"/> |
| <include name="${velocity-dep.jar}"/> |
| </fileset> |
| </classpath> |
| </javac> |
| </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.build}/classes" failonerror="true"> |
| <arg line='-j -o "${framing.generated.dir}" -t "${project.root}/common/templates" ${xml.spec.list}'/> |
| <classpath> |
| <pathelement path="${gentools.build}/classes" /> |
| <pathelement path="${project.root}/${velocity.jar}" /> |
| <pathelement path="${project.root}/${velocity-dep.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="jms-selector"> |
| <copy tofile="${module.build}/javacc.jar" failonerror="true"> |
| <fileset dir="${project.root}/lib/required"> |
| <include name="javacc-*.jar"/> |
| </fileset> |
| </copy> |
| <mkdir dir="${selector.output.dir}"/> |
| <javacc target="src/main/grammar/SelectorParser.jj" |
| outputdirectory="${selector.output.dir}" |
| javacchome="${module.build}"/> |
| </target> |
| |
| <target name="precompile" depends="gentools,jython,create-version,build-version,jms-selector"/> |
| |
| <target name="bundle" depends="bundle-tasks"/> |
| |
| </project> |