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
commit61350c8523e2edca63d8a9ab2c970ad8607d4c0a (patch)
tree63fe167aeb497b15ab8240abab384ea7df04b710
parente5d2186d7a9fb2d161c80c18e417f462b7f4d177 (diff)
downloadqpid-python-61350c8523e2edca63d8a9ab2c970ad8607d4c0a.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/qpid@494092 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r--gentools/src/org/apache/qpid/gentools/Main.java32
-rw-r--r--java/common/pom.xml12
-rw-r--r--java/common/protocol-version.xml19
3 files changed, 41 insertions, 22 deletions
diff --git a/gentools/src/org/apache/qpid/gentools/Main.java b/gentools/src/org/apache/qpid/gentools/Main.java
index 189d3eb5ae..7e6248817c 100644
--- a/gentools/src/org/apache/qpid/gentools/Main.java
+++ b/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/java/common/pom.xml b/java/common/pom.xml
index 77f8cc9dff..dc0db7f954 100644
--- a/java/common/pom.xml
+++ b/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/java/common/protocol-version.xml b/java/common/protocol-version.xml
index d318f07901..40331a8a84 100644
--- a/java/common/protocol-version.xml
+++ b/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>