Author: bodewig
Date: Tue Oct 28 07:32:23 2008
New Revision: 708584
URL: http://svn.apache.org/viewvc?rev=708584&view=rev
Log:
At least try to log the real reason of an error. PR 26086
Modified:
ant/core/trunk/WHATSNEW
ant/core/trunk/src/main/org/apache/tools/ant/Main.java
Modified: ant/core/trunk/WHATSNEW
URL:
http://svn.apache.org/viewvc/ant/core/trunk/WHATSNEW?rev=708584&r1=708583&r2=708584&view=diff
==============================================================================
--- ant/core/trunk/WHATSNEW (original)
+++ ant/core/trunk/WHATSNEW Tue Oct 28 07:32:23 2008
@@ -278,6 +278,10 @@
some setups.
Bugzilla Report 46063.
+ * if an error occurs while logging the buildFinished event, the
+ original error is now logged to System.err.
+ Bugzilla Report 25086.
+
Other changes:
--------------
Modified: ant/core/trunk/src/main/org/apache/tools/ant/Main.java
URL:
http://svn.apache.org/viewvc/ant/core/trunk/src/main/org/apache/tools/ant/Main.java?rev=708584&r1=708583&r2=708584&view=diff
==============================================================================
--- ant/core/trunk/src/main/org/apache/tools/ant/Main.java (original)
+++ ant/core/trunk/src/main/org/apache/tools/ant/Main.java Tue Oct 28 07:32:23
2008
@@ -792,7 +792,21 @@
throw e;
} finally {
if (!projectHelp) {
- project.fireBuildFinished(error);
+ try {
+ project.fireBuildFinished(error);
+ } catch (Throwable t) {
+ // yes, I know it is bad style to catch Throwable,
+ // but if we don't, we lose valuable information
+ System.err.println("Caught an exception while logging the"
+ + " end of the build. Exception was:");
+ t.printStackTrace();
+ if (error != null) {
+ System.err.println("There has been an error prior to"
+ + " that:");
+ error.printStackTrace();
+ }
+ throw new BuildException(t);
+ }
} else if (error != null) {
project.log(error.toString(), Project.MSG_ERR);
}