This is an automated email from the ASF dual-hosted git repository. rfscholte pushed a commit to branch MJAVADOC-634 in repository https://gitbox.apache.org/repos/asf/maven-javadoc-plugin.git
commit 30b4755410b3d9f53c0c2f54b3bf6f3227e6f1bc Author: rfscholte <[email protected]> AuthorDate: Fri Apr 30 11:01:38 2021 +0200 Use compiled module descriptor to read exports for the package list --- .../maven/plugins/javadoc/AbstractJavadocMojo.java | 29 ++++++++++------------ 1 file changed, 13 insertions(+), 16 deletions(-) diff --git a/src/main/java/org/apache/maven/plugins/javadoc/AbstractJavadocMojo.java b/src/main/java/org/apache/maven/plugins/javadoc/AbstractJavadocMojo.java index bc75193..f44dab3 100644 --- a/src/main/java/org/apache/maven/plugins/javadoc/AbstractJavadocMojo.java +++ b/src/main/java/org/apache/maven/plugins/javadoc/AbstractJavadocMojo.java @@ -1844,10 +1844,14 @@ public abstract class AbstractJavadocMojo { return null; } - else if ( project.getArtifact() != null ) + else if ( project.getArtifact() != null && project.getArtifact().getFile() != null ) { return project.getArtifact().getFile(); } + else if ( project.getExecutionProject() != null && project.getExecutionProject().getArtifact() != null ) + { + return project.getExecutionProject().getArtifact().getFile(); + } return null; } @@ -4533,25 +4537,18 @@ public abstract class AbstractJavadocMojo Collection<Path> artifactSourcePaths = javadocModule.getSourcePaths(); Set<String> exportedPackages = new HashSet<>(); boolean exportAllPackages; - Path mainDescriptor = findMainDescriptor( artifactSourcePaths ); - if ( mainDescriptor != null && !isTest() ) + ResolvePathResult resolvedPath = getResolvePathResult( javadocModule.getArtifactFile() ); + if ( resolvedPath != null && resolvedPath.getModuleNameSource() == ModuleNameSource.MODULEDESCRIPTOR + && !isTest() ) { - try + Set<JavaModuleDescriptor.JavaExports> exports = resolvedPath.getModuleDescriptor().exports(); + if ( exports.isEmpty() ) { - Set<JavaModuleDescriptor.JavaExports> exports = - locationManager.parseModuleDescriptor( mainDescriptor ).getModuleDescriptor().exports(); - if ( exports.isEmpty() ) - { - continue; - } - for ( JavaModuleDescriptor.JavaExports export : exports ) - { - exportedPackages.add( export.source() ); - } + continue; } - catch ( IOException e ) + for ( JavaModuleDescriptor.JavaExports export : exports ) { - throw new MavenReportException( e.getMessage(), e ); + exportedPackages.add( export.source() ); } exportAllPackages = false; }
