diff options
author | Kim van der Riet <kpvdr@apache.org> | 2007-01-08 15:22:05 +0000 |
---|---|---|
committer | Kim van der Riet <kpvdr@apache.org> | 2007-01-08 15:22:05 +0000 |
commit | 61350c8523e2edca63d8a9ab2c970ad8607d4c0a (patch) | |
tree | 63fe167aeb497b15ab8240abab384ea7df04b710 | |
parent | e5d2186d7a9fb2d161c80c18e417f462b7f4d177 (diff) | |
download | qpid-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.java | 32 | ||||
-rw-r--r-- | java/common/pom.xml | 12 | ||||
-rw-r--r-- | java/common/protocol-version.xml | 19 |
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> |