src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/DocFilesHandlerImpl.java
--- a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/DocFilesHandlerImpl.java Wed Feb 07 09:48:43 2018 -0800
+++ b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/DocFilesHandlerImpl.java Wed Feb 07 11:28:23 2018 -0800
@@ -74,12 +74,18 @@
switch (element.getKind()) {
case MODULE:
- location = configuration.utils.getLocationForModule((ModuleElement)element);
+ ModuleElement mdle = (ModuleElement)element;
+ location = configuration.utils.getLocationForModule(mdle);
source = DocPaths.DOC_FILES;
break;
case PACKAGE:
- location = configuration.utils.getLocationForPackage((PackageElement)element);
- source = DocPath.forPackage((PackageElement)element).resolve(DocPaths.DOC_FILES);
+ PackageElement pkg = (PackageElement)element;
+ location = configuration.utils.getLocationForPackage(pkg);
+ // Note, given that we have a module-specific location,
+ // we want a module-relative path for the source, and not the
+ // standard path that may include the module directory
+ source = DocPath.create(pkg.getQualifiedName().toString().replace('.', '/'))
+ .resolve(DocPaths.DOC_FILES);
break;
default:
throw new AssertionError("unsupported element " + element);
@@ -103,10 +109,10 @@
DocPath path = null;
switch (this.element.getKind()) {
case MODULE:
- path = DocPath.forModule((ModuleElement)this.element);
+ path = DocPaths.forModule((ModuleElement)this.element);
break;
case PACKAGE:
- path = DocPath.forPackage((PackageElement)this.element);
+ path = configuration.docPaths.forPackage((PackageElement)this.element);
break;
default:
throw new AssertionError("unknown kind:" + this.element.getKind());