From ec8358d87b350ae1b0b18a5ca128b35c2a0a3ada Mon Sep 17 00:00:00 2001 From: Stephane Bailliez Date: Sat, 1 Dec 2001 00:00:46 +0000 Subject: [PATCH] - Fixed some case issues related to JProbe directories under Solaris. - SourceFile attribute does not always exists in the bytecode, so take care of it. PR: 5217 Submitted by: garrick.olson@aceva.com (Garrick Olson) git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@270060 13f79535-47bb-0310-9956-ffa450edef68 --- .../tools/ant/taskdefs/optional/sitraka/CovMerge.java | 7 ++++--- .../tools/ant/taskdefs/optional/sitraka/CovReport.java | 2 +- .../tools/ant/taskdefs/optional/sitraka/Coverage.java | 2 +- .../tools/ant/taskdefs/optional/sitraka/XMLReport.java | 7 +++++-- 4 files changed, 11 insertions(+), 7 deletions(-) diff --git a/src/main/org/apache/tools/ant/taskdefs/optional/sitraka/CovMerge.java b/src/main/org/apache/tools/ant/taskdefs/optional/sitraka/CovMerge.java index b3f862ae8..306e265f6 100644 --- a/src/main/org/apache/tools/ant/taskdefs/optional/sitraka/CovMerge.java +++ b/src/main/org/apache/tools/ant/taskdefs/optional/sitraka/CovMerge.java @@ -160,7 +160,7 @@ public class CovMerge extends Task { if (home == null || !home.isDirectory()) { throw new BuildException("Invalid home directory. Must point to JProbe home directory"); } - home = new File(home, "Coverage"); + home = new File(home, "coverage"); File jar = new File(home, "coverage.jar"); if (!jar.exists()) { throw new BuildException("Cannot find Coverage directory: " + home); @@ -207,16 +207,17 @@ public class CovMerge extends Task { // last file is the output snapshot pw.println(project.resolveFile(tofile.getPath())); pw.flush(); - return file; } catch (IOException e) { + throw new BuildException("I/O error while writing to " + file, e); + } finally { if (fw != null) { try { fw.close(); } catch (IOException ignored) { } } - throw new BuildException("I/O error while writing to " + file, e); } + return file; } /** create a temporary file in the current dir (For JDK1.1 support) */ diff --git a/src/main/org/apache/tools/ant/taskdefs/optional/sitraka/CovReport.java b/src/main/org/apache/tools/ant/taskdefs/optional/sitraka/CovReport.java index ed87658e2..3969f9f98 100644 --- a/src/main/org/apache/tools/ant/taskdefs/optional/sitraka/CovReport.java +++ b/src/main/org/apache/tools/ant/taskdefs/optional/sitraka/CovReport.java @@ -256,7 +256,7 @@ public class CovReport extends Task { if (home == null) { throw new BuildException("'home' attribute must be set to JProbe home directory"); } - home = new File(home, "Coverage"); + home = new File(home, "coverage"); File jar = new File(home, "coverage.jar"); if (!jar.exists()) { throw new BuildException("Cannot find Coverage directory: " + home); diff --git a/src/main/org/apache/tools/ant/taskdefs/optional/sitraka/Coverage.java b/src/main/org/apache/tools/ant/taskdefs/optional/sitraka/Coverage.java index 0cb883926..140ac087d 100644 --- a/src/main/org/apache/tools/ant/taskdefs/optional/sitraka/Coverage.java +++ b/src/main/org/apache/tools/ant/taskdefs/optional/sitraka/Coverage.java @@ -297,7 +297,7 @@ public class Coverage extends Task { if (home == null || !home.isDirectory()) { throw new BuildException("Invalid home directory. Must point to JProbe home directory"); } - home = new File(home, "Coverage"); + home = new File(home, "coverage"); File jar = new File(home, "coverage.jar"); if (!jar.exists()) { throw new BuildException("Cannot find Coverage directory: " + home); diff --git a/src/main/org/apache/tools/ant/taskdefs/optional/sitraka/XMLReport.java b/src/main/org/apache/tools/ant/taskdefs/optional/sitraka/XMLReport.java index cb54e3f51..f5e537262 100644 --- a/src/main/org/apache/tools/ant/taskdefs/optional/sitraka/XMLReport.java +++ b/src/main/org/apache/tools/ant/taskdefs/optional/sitraka/XMLReport.java @@ -210,7 +210,7 @@ public class XMLReport { DocumentBuilder dbuilder = newBuilder(); InputSource is = new InputSource(new FileInputStream(file)); if (jprobeHome != null) { - File dtdDir = new File(jprobeHome, "Dtd"); + File dtdDir = new File(jprobeHome, "dtd"); is.setSystemId("file:///" + dtdDir.getAbsolutePath() + "/"); } report = dbuilder.parse(is); @@ -324,7 +324,10 @@ public class XMLReport { // create the class element Element classElem = report.createElement("class"); classElem.setAttribute("name", classFile.getName()); - classElem.setAttribute("source", classFile.getSourceFile()); + // source file possibly does not exist in the bytecode + if ( null != classFile.getSourceFile() ){ + classElem.setAttribute("source", classFile.getSourceFile()); + } // create the cov.data elem Element classData = report.createElement("cov.data"); classElem.appendChild(classData);