From 6b4bd1e75afe4b1d0aa765844a5da4e4d5936ae2 Mon Sep 17 00:00:00 2001 From: Stefan Bodewig Date: Tue, 18 Feb 2003 15:19:05 +0000 Subject: [PATCH] says the second arg to linkoffline must be an URL. The docs for JDK 1.3 and later say URL or file, but comments in PR: 10964 indicate it doesn't work that way. git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@274129 13f79535-47bb-0310-9956-ffa450edef68 --- .../apache/tools/ant/taskdefs/Javadoc.java | 30 ++++++++++++------- 1 file changed, 20 insertions(+), 10 deletions(-) diff --git a/src/main/org/apache/tools/ant/taskdefs/Javadoc.java b/src/main/org/apache/tools/ant/taskdefs/Javadoc.java index d1025d9fd..ea4612f87 100644 --- a/src/main/org/apache/tools/ant/taskdefs/Javadoc.java +++ b/src/main/org/apache/tools/ant/taskdefs/Javadoc.java @@ -1661,18 +1661,28 @@ public class Javadoc extends Task { File packageListLocation = la.getPackagelistLoc(); if (packageListLocation == null) { throw new BuildException("The package list " - + " location for link " + la.getHref() - + " must be provided because the link is " - + "offline"); + + " location for link " + la.getHref() + + " must be provided because the link is " + + "offline"); } File packageListFile = new File(packageListLocation, "package-list"); if (packageListFile.exists()) { - toExecute.createArgument().setValue("-linkoffline"); - toExecute.createArgument().setValue(la.getHref()); - toExecute.createArgument() - .setValue(packageListLocation - .getAbsolutePath()); + try { + String packageListURL = + fileUtils.getFileURL(packageListLocation) + .toExternalForm(); + toExecute.createArgument() + .setValue("-linkoffline"); + toExecute.createArgument() + .setValue(la.getHref()); + toExecute.createArgument() + .setValue(packageListURL); + } catch (MalformedURLException ex) { + log("Warning: Package list location was " + + "invalid " + packageListLocation, + Project.MSG_WARN); + } } else { log("Warning: No package list was found at " + packageListLocation, Project.MSG_VERBOSE); @@ -1776,8 +1786,8 @@ public class Javadoc extends Task { .setValue("@" + tmpList.getAbsolutePath()); } srcListWriter = new PrintWriter( - new FileWriter(tmpList.getAbsolutePath(), - true)); + new FileWriter(tmpList.getAbsolutePath(), + true)); } Enumeration enum = packagesToDoc.elements();