| <!-- |
| - |
| - 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"> |
| |
| <import file="../module.xml"/> |
| |
| <property name="gentools.home" location="${project.root}/../gentools" /> |
| <property name="generated.package" value="org/apache/qpid/framing" /> |
| <property name="generated.dir" location="${module.precompiled}/${generated.package}" /> |
| <property name="xml.spec.dir" location="${project.root}/../specs" /> |
| <property name="xml.spec.deps" value="amqp.0-8.xml amqp.0-9.xml" /> |
| <property name="xml.spec.list" value="${xml.spec.dir}/amqp.0-8.xml ${xml.spec.dir}/amqp.0-9.xml" /> |
| <property name="mllib.dir" value="${project.root}/../python" /> |
| <property name="gentools.timestamp" location="${generated.dir}/gentools.timestamp" /> |
| <property name="jython.timestamp" location="${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"> |
| <java classname="org.python.util.jython" fork="true" failonerror="true"> |
| <arg value="-Dpython.cachedir.skip=true"/> |
| <arg value="-Dpython.path=${basedir}/jython-lib.jar/Lib${path.separator}${mllib.dir}"/> |
| <arg value="${basedir}/codegen"/> |
| <arg value="${module.precompiled}"/> |
| <arg value="${xml.spec.dir}/amqp.0-10-qpid-errata.xml"/> |
| <arg value="${basedir}"/> |
| <classpath> |
| <pathelement location="jython-2.2-rc2.jar"/> |
| </classpath> |
| </java> |
| <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="${generated.dir}"/> |
| <java classname="org.apache.qpid.gentools.Main" fork="true" dir="${gentools.home}/src" failonerror="true"> |
| <arg line="-j -o ${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> |
| |
| <property name="version.file" location="${module.classes}/qpidversion.properties"/> |
| <property file="${version.file}" prefix="old."/> |
| |
| <target name="check-version"> |
| <exec executable="svnversion" spawn="false" failifexecutionfails="false" |
| dir="${project.root}" outputproperty="qpid.svnversion"> |
| <arg line="."/> |
| </exec> |
| <condition property="version.stale"> |
| <not> |
| <equals arg1="${qpid.svnversion}" arg2="${old.qpid.svnversion}"/> |
| </not> |
| </condition> |
| </target> |
| |
| <target name="version" depends="check-version" if="version.stale"> |
| <!-- Write the version.properties out. --> |
| <echo file="${version.file}" append="true"> |
| qpid.svnversion=${qpid.svnversion} |
| qpid.name=${project.name} |
| qpid.version=${project.version} |
| </echo> |
| </target> |
| |
| <target name="precompile" depends="gentools,jython,version"/> |
| |
| </project> |