You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by rf...@apache.org on 2021/04/30 10:47:13 UTC

[maven-javadoc-plugin] 06/07: Use compiled module descriptor to read exports for the package list

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 <rf...@apache.org>
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;
             }