From 21ceb241b45dfc379b1ea6b6a4e301c822750b60 Mon Sep 17 00:00:00 2001 From: Michael Bayne Date: Sat, 11 Jul 2009 21:26:33 +0000 Subject: [PATCH] Throw a BuildException if Velocity fails so that we don't write bogus data back out to the source file. --- src/java/com/samskivert/depot/tools/GenRecordTask.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/java/com/samskivert/depot/tools/GenRecordTask.java b/src/java/com/samskivert/depot/tools/GenRecordTask.java index 8a6337e..46f67a5 100644 --- a/src/java/com/samskivert/depot/tools/GenRecordTask.java +++ b/src/java/com/samskivert/depot/tools/GenRecordTask.java @@ -125,6 +125,7 @@ public class GenRecordTask extends Task name = readClassName(source); } catch (Exception e) { System.err.println("Failed to parse " + source + ": " + e.getMessage()); + return; } try { @@ -389,14 +390,13 @@ public class GenRecordTask extends Task /** Helper function for generating our boilerplate code. */ protected String mergeTemplate (String tmpl, VelocityContext ctx) { - StringWriter writer = new StringWriter(); try { + StringWriter writer = new StringWriter(); _velocity.mergeTemplate(tmpl, "UTF-8", ctx, writer); + return writer.toString(); } catch (Exception e) { - System.err.println("Failed processing template [tmpl=" + tmpl + "]"); - e.printStackTrace(System.err); + throw new BuildException("Failed processing template [tmpl=" + tmpl + "]", e); } - return writer.toString(); } protected static boolean hasAnnotation (Field field, Class annotation)