blob: 6172a680ecc3084fd59e96f8fa2f869757e6ec81 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
|
<!--
-
- 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>
|