summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKim van der Riet <kpvdr@apache.org>2007-01-02 18:19:58 +0000
committerKim van der Riet <kpvdr@apache.org>2007-01-02 18:19:58 +0000
commit7633f3fc440671eaa93ed0b2e25b49e5d795aa7d (patch)
tree7dd331b52a7c8f85ef002e2a8dac9918fd15d978
parent7362f3e824e5fbf40040180ef0d150cc40a90da2 (diff)
downloadqpid-python-7633f3fc440671eaa93ed0b2e25b49e5d795aa7d.tar.gz
Added automatic build of generator; added dependency check on source XML files that prevents generation if not needed
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@491879 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r--java/common/pom.xml4
-rw-r--r--java/common/protocol-version.xml19
2 files changed, 18 insertions, 5 deletions
diff --git a/java/common/pom.xml b/java/common/pom.xml
index f30d81f739..77f8cc9dff 100644
--- a/java/common/pom.xml
+++ b/java/common/pom.xml
@@ -39,6 +39,7 @@
<generated.path>${project.build.directory}/generated-sources/xsl</generated.path>
<generated.package>org/apache/qpid/framing</generated.package>
<generated.dir>${generated.path}/${generated.package}</generated.dir>
+ <generated.timestamp>${generated.dir}/timestamp</generated.timestamp>
<specs.dir>${topDirectoryLocation}/../specs</specs.dir>
<cluster.asl>${basedir}/src/main/xsl/cluster.asl</cluster.asl>
</properties>
@@ -57,6 +58,9 @@
<ant antfile="protocol-version.xml">
<property name="gentools.home" value="${gentools.home}"/>
<property name="generated.dir" value="${generated.dir}"/>
+ <property name="generated.timestamp" value="${generated.timestamp}"/>
+ <property name="xml.spec.dir" value="${specs.dir}"/>
+ <property name="xml.spec.deps" value="amqp.0-8.xml cluster.0-8.xml"/>
<property name="xml.spec.list" value="${specs.dir}/amqp.0-8.xml ${specs.dir}/cluster.0-8.xml"/>
</ant>
</tasks>
diff --git a/java/common/protocol-version.xml b/java/common/protocol-version.xml
index ff5e8b0f70..d318f07901 100644
--- a/java/common/protocol-version.xml
+++ b/java/common/protocol-version.xml
@@ -19,14 +19,23 @@
-
-->
<project name="Qpid Common Protocol Versions" default="generate">
-
- <target name="generate">
+
+ <target name="generate" depends="compile_generator,check_generate_deps" unless="generation.notRequired">
<mkdir dir="${generated.dir}"/>
- <exec dir="${gentools.home}/src" executable="pwd" />
- <echo>XML files to be processed: ${xml.spec.list}</echo>
<java classname="org.apache.qpid.gentools.Main" fork="true" dir="${gentools.home}/src">
- <arg line="-j -o ${generated.dir} -t ${gentools.home}/templ.java ${xml.spec.list}"/>
+ <arg line="-j -o ${generated.dir} -t ${gentools.home}/templ.java ${xml.spec.list}" />
</java>
+ <touch file="${generated.timestamp}" />
+ </target>
+
+ <target name="check_generate_deps">
+ <uptodate property="generation.notRequired" targetfile="${generated.timestamp}">
+ <srcfiles dir="${xml.spec.dir}" includes="${xml.spec.deps}" />
+ </uptodate>
+ </target>
+
+ <target name="compile_generator">
+ <ant dir="${gentools.home}" />
</target>
<target name="precompile" depends="generate"/>