summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKim van der Riet <kpvdr@apache.org>2007-01-08 15:22:05 +0000
committerKim van der Riet <kpvdr@apache.org>2007-01-08 15:22:05 +0000
commit366b25ae136c83238e94ac6dfd670990fa1d8375 (patch)
treec66952e34e4d742adf67da9bc527806b7be04ce1
parent6c462407cb00bfe87737ee6ae99682eebb335090 (diff)
downloadqpid-python-366b25ae136c83238e94ac6dfd670990fa1d8375.tar.gz
Fixed: [QPID-253] Existing classpath breaks codegen; [QPID-254] Build failure does not prevent timestamp from being generated. Also moved all required properties into ant build file, allowing the generation to be completed independently of Maven from the common directory.
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk@494092 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r--qpid/gentools/src/org/apache/qpid/gentools/Main.java32
-rw-r--r--qpid/java/common/pom.xml12
-rw-r--r--qpid/java/common/protocol-version.xml19
3 files changed, 41 insertions, 22 deletions
diff --git a/qpid/gentools/src/org/apache/qpid/gentools/Main.java b/qpid/gentools/src/org/apache/qpid/gentools/Main.java
index 189d3eb5ae..7e6248817c 100644
--- a/qpid/gentools/src/org/apache/qpid/gentools/Main.java
+++ b/qpid/gentools/src/org/apache/qpid/gentools/Main.java
@@ -261,19 +261,30 @@ public class Main
public static void main(String[] args)
{
+ int exitCode = 1;
// TODO: This is a simple and klunky way of hangling command-line args, and could be improved upon.
if (args.length < 2)
+ {
usage();
- try { new Main().run(args); }
- catch (IOException e) { e.printStackTrace(); }
- catch (ParserConfigurationException e) { e.printStackTrace(); }
- catch (SAXException e) { e.printStackTrace(); }
- catch (AmqpParseException e) { e.printStackTrace(); }
- catch (AmqpTypeMappingException e) { e.printStackTrace(); }
- catch (AmqpTemplateException e) { e.printStackTrace(); }
- catch (TargetDirectoryException e) { e.printStackTrace(); }
- catch (IllegalAccessException e) { e.printStackTrace(); }
- catch (InvocationTargetException e) { e.printStackTrace(); }
+ }
+ else
+ {
+ try
+ {
+ new Main().run(args);
+ exitCode = 0;
+ }
+ catch (IOException e) { e.printStackTrace(); }
+ catch (ParserConfigurationException e) { e.printStackTrace(); }
+ catch (SAXException e) { e.printStackTrace(); }
+ catch (AmqpParseException e) { e.printStackTrace(); }
+ catch (AmqpTypeMappingException e) { e.printStackTrace(); }
+ catch (AmqpTemplateException e) { e.printStackTrace(); }
+ catch (TargetDirectoryException e) { e.printStackTrace(); }
+ catch (IllegalAccessException e) { e.printStackTrace(); }
+ catch (InvocationTargetException e) { e.printStackTrace(); }
+ }
+ System.exit(exitCode);
}
public static void usage()
@@ -287,7 +298,6 @@ public class Main
System.out.println(" Defaults: \"" + defaultCppTemplateDir + "\" for C++;");
System.out.println(" \"" + defaultJavaTemplateDir + "\" for java.");
System.out.println(" XMLfile is a space-separated list of AMQP XML files to be parsed.");
- System.exit(0);
}
public static String ListTemplateList(File[] list)
diff --git a/qpid/java/common/pom.xml b/qpid/java/common/pom.xml
index 77f8cc9dff..dc0db7f954 100644
--- a/qpid/java/common/pom.xml
+++ b/qpid/java/common/pom.xml
@@ -36,12 +36,11 @@
<properties>
<topDirectoryLocation>..</topDirectoryLocation>
<gentools.home>${topDirectoryLocation}/../gentools</gentools.home>
- <generated.path>${project.build.directory}/generated-sources/xsl</generated.path>
+ <generated.path>${project.build.directory}/generated-sources/gentools</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>
<build>
@@ -55,14 +54,7 @@
<phase>generate-sources</phase>
<configuration>
<tasks>
- <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>
+ <ant antfile="protocol-version.xml" />
</tasks>
<sourceRoot>${generated.path}</sourceRoot>
</configuration>
diff --git a/qpid/java/common/protocol-version.xml b/qpid/java/common/protocol-version.xml
index d318f07901..40331a8a84 100644
--- a/qpid/java/common/protocol-version.xml
+++ b/qpid/java/common/protocol-version.xml
@@ -19,11 +19,24 @@
-
-->
<project name="Qpid Common Protocol Versions" default="generate">
+ <property name="topDirectoryLocation" location=".." />
+ <property name="project.build.directory" location="target" />
+ <property name="gentools.home" location="${topDirectoryLocation}/../gentools" />
+ <property name="generated.path" location="${project.build.directory}/generated-sources/gentools" />
+ <property name="generated.package" value="org/apache/qpid/framing" />
+ <property name="generated.dir" location="${generated.path}/${generated.package}" />
+ <property name="generated.timestamp" location="${generated.dir}/timestamp" />
+ <property name="xml.spec.dir" location="${topDirectoryLocation}/../specs" />
+ <property name="xml.spec.deps" value="amqp.0-8.xml cluster.0-8.xml" />
+ <property name="xml.spec.list" value="${xml.spec.dir}/amqp.0-8.xml ${xml.spec.dir}/cluster.0-8.xml" />
<target name="generate" depends="compile_generator,check_generate_deps" unless="generation.notRequired">
<mkdir dir="${generated.dir}"/>
- <java classname="org.apache.qpid.gentools.Main" fork="true" dir="${gentools.home}/src">
+ <java classname="org.apache.qpid.gentools.Main" fork="true" dir="${gentools.home}/src" failonerror="true">
<arg line="-j -o ${generated.dir} -t ${gentools.home}/templ.java ${xml.spec.list}" />
+ <classpath>
+ <pathelement path="${gentools.home}/src" />
+ </classpath>
</java>
<touch file="${generated.timestamp}" />
</target>
@@ -39,5 +52,9 @@
</target>
<target name="precompile" depends="generate"/>
+
+ <target name="clean">
+ <delete dir="${generated.path}" />
+ </target>
</project>