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/08/29 10:35:35 UTC
[maven-javadoc-plugin] 01/02: Add moduleDescriptor and
moduleNameSource to JavadocModule
This is an automated email from the ASF dual-hosted git repository.
rfscholte pushed a commit to branch MJAVADOC-618
in repository https://gitbox.apache.org/repos/asf/maven-javadoc-plugin.git
commit 6df51ff7d987a2878fcdea08e2e3a94120c0f7df
Author: rfscholte <rf...@apache.org>
AuthorDate: Sat Aug 28 19:46:22 2021 +0200
Add moduleDescriptor and moduleNameSource to JavadocModule
---
.../maven/plugins/javadoc/AbstractJavadocMojo.java | 40 +++++++++++++---------
.../maven/plugins/javadoc/JavadocModule.java | 27 ++++++++++++++-
2 files changed, 50 insertions(+), 17 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 8f5a6d1..8901360 100644
--- a/src/main/java/org/apache/maven/plugins/javadoc/AbstractJavadocMojo.java
+++ b/src/main/java/org/apache/maven/plugins/javadoc/AbstractJavadocMojo.java
@@ -2427,10 +2427,7 @@ public abstract class AbstractJavadocMojo
}
if ( !sourcePaths.isEmpty() )
{
- mappedSourcePaths.add( new JavadocModule( ArtifactUtils.versionlessKey( project.getGroupId(),
- project.getArtifactId() ),
- getClassesFile( project ),
- sourcePaths ) );
+ mappedSourcePaths.add( buildJavadocModule( project, sourcePaths ) );
}
}
@@ -2471,11 +2468,7 @@ public abstract class AbstractJavadocMojo
if ( !additionalSourcePaths.isEmpty() )
{
- mappedSourcePaths.add( new JavadocModule(
- ArtifactUtils.versionlessKey( subProject.getGroupId(),
- subProject.getArtifactId() ),
- getClassesFile( subProject ),
- additionalSourcePaths ) );
+ mappedSourcePaths.add( buildJavadocModule( subProject , additionalSourcePaths ) );
}
}
}
@@ -2509,6 +2502,26 @@ public abstract class AbstractJavadocMojo
return mappedSourcePaths;
}
+
+ private JavadocModule buildJavadocModule( MavenProject project, Collection<Path> sourcePaths )
+ {
+ File classessFile = getClassesFile( project );
+ ResolvePathResult resolvePathResult = getResolvePathResult( classessFile );
+ if ( resolvePathResult == null )
+ {
+ return new JavadocModule( ArtifactUtils.versionlessKey( project.getGroupId(), project.getArtifactId() ),
+ classessFile,
+ sourcePaths );
+ }
+ else
+ {
+ return new JavadocModule( ArtifactUtils.versionlessKey( project.getGroupId(), project.getArtifactId() ),
+ classessFile,
+ sourcePaths,
+ resolvePathResult.getModuleDescriptor(),
+ resolvePathResult.getModuleNameSource() );
+ }
+ }
/**
* Recursively add the modules of the aggregatedProject to the set of aggregatedModules.
@@ -5161,7 +5174,6 @@ public abstract class AbstractJavadocMojo
Map<String, JavaModuleDescriptor> allModuleDescriptors = new HashMap<>();
-
boolean supportModulePath = javadocRuntimeVersion.isAtLeast( "9" );
if ( release != null )
{
@@ -5176,11 +5188,7 @@ public abstract class AbstractJavadocMojo
{
for ( JavadocModule entry : allSourcePaths )
{
- File artifactFile = entry.getArtifactFile();
-
- ResolvePathResult resolvePathResult = getResolvePathResult( artifactFile );
-
- if ( resolvePathResult == null || resolvePathResult.getModuleNameSource() == ModuleNameSource.FILENAME )
+ if ( entry.getModuleNameSource() == null || entry.getModuleNameSource() == ModuleNameSource.FILENAME )
{
Path moduleDescriptor = findMainDescriptor( entry.getSourcePaths() );
@@ -5199,7 +5207,7 @@ public abstract class AbstractJavadocMojo
}
else
{
- allModuleDescriptors.put( entry.getGa(), resolvePathResult.getModuleDescriptor() );
+ allModuleDescriptors.put( entry.getGa(), entry.getModuleDescriptor() );
}
}
}
diff --git a/src/main/java/org/apache/maven/plugins/javadoc/JavadocModule.java b/src/main/java/org/apache/maven/plugins/javadoc/JavadocModule.java
index 31c6cc6..1955e84 100644
--- a/src/main/java/org/apache/maven/plugins/javadoc/JavadocModule.java
+++ b/src/main/java/org/apache/maven/plugins/javadoc/JavadocModule.java
@@ -23,6 +23,9 @@ import java.io.File;
import java.nio.file.Path;
import java.util.Collection;
+import org.codehaus.plexus.languages.java.jpms.JavaModuleDescriptor;
+import org.codehaus.plexus.languages.java.jpms.ModuleNameSource;
+
/**
* Represents a unit of Javadoc referring to the binary and java source paths
*
@@ -36,11 +39,23 @@ public class JavadocModule
private final Collection<Path> sourcePaths;
+ private final JavaModuleDescriptor moduleDescriptor;
+
+ private final ModuleNameSource moduleNameSource;
+
public JavadocModule( String ga, File artifactFile, Collection<Path> sourcePaths )
{
+ this( ga, artifactFile, sourcePaths, null, null );
+ }
+
+ public JavadocModule( String ga, File artifactFile, Collection<Path> sourcePaths,
+ JavaModuleDescriptor moduleDescriptor, ModuleNameSource moduleNameSource )
+ {
this.ga = ga;
this.artifactFile = artifactFile;
this.sourcePaths = sourcePaths;
+ this.moduleDescriptor = moduleDescriptor;
+ this.moduleNameSource = moduleNameSource;
}
public String getGa()
@@ -52,9 +67,19 @@ public class JavadocModule
{
return sourcePaths;
}
-
+
public File getArtifactFile()
{
return artifactFile;
}
+
+ public JavaModuleDescriptor getModuleDescriptor()
+ {
+ return moduleDescriptor;
+ }
+
+ public ModuleNameSource getModuleNameSource()
+ {
+ return moduleNameSource;
+ }
}