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 2017/07/12 22:30:43 UTC
svn commit: r1801785 - in /maven/plugins/trunk/maven-javadoc-plugin: ./
src/main/java/org/apache/maven/plugins/javadoc/
src/main/java/org/apache/maven/plugins/javadoc/resolver/
Author: rfscholte
Date: Wed Jul 12 22:30:43 2017
New Revision: 1801785
URL: http://svn.apache.org/viewvc?rev=1801785&view=rev
Log:
[MJAVADOC-456] Upgrade to Maven3 plugin
No need to resolve transitive dependencies twice
Modified:
maven/plugins/trunk/maven-javadoc-plugin/pom.xml
maven/plugins/trunk/maven-javadoc-plugin/src/main/java/org/apache/maven/plugins/javadoc/AbstractJavadocMojo.java
maven/plugins/trunk/maven-javadoc-plugin/src/main/java/org/apache/maven/plugins/javadoc/resolver/ResourceResolver.java
maven/plugins/trunk/maven-javadoc-plugin/src/main/java/org/apache/maven/plugins/javadoc/resolver/SourceResolverConfig.java
Modified: maven/plugins/trunk/maven-javadoc-plugin/pom.xml
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-javadoc-plugin/pom.xml?rev=1801785&r1=1801784&r2=1801785&view=diff
==============================================================================
--- maven/plugins/trunk/maven-javadoc-plugin/pom.xml (original)
+++ maven/plugins/trunk/maven-javadoc-plugin/pom.xml Wed Jul 12 22:30:43 2017
@@ -170,7 +170,7 @@ under the License.
<dependency>
<groupId>org.apache.maven.shared</groupId>
<artifactId>maven-artifact-transfer</artifactId>
- <version>3.0.0-SNAPSHOT</version>
+ <version>0.9.1</version>
</dependency>
<!-- Doxia -->
Modified: maven/plugins/trunk/maven-javadoc-plugin/src/main/java/org/apache/maven/plugins/javadoc/AbstractJavadocMojo.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-javadoc-plugin/src/main/java/org/apache/maven/plugins/javadoc/AbstractJavadocMojo.java?rev=1801785&r1=1801784&r2=1801785&view=diff
==============================================================================
--- maven/plugins/trunk/maven-javadoc-plugin/src/main/java/org/apache/maven/plugins/javadoc/AbstractJavadocMojo.java (original)
+++ maven/plugins/trunk/maven-javadoc-plugin/src/main/java/org/apache/maven/plugins/javadoc/AbstractJavadocMojo.java Wed Jul 12 22:30:43 2017
@@ -2405,7 +2405,7 @@ public abstract class AbstractJavadocMoj
private SourceResolverConfig getDependencySourceResolverConfig()
{
return configureDependencySourceResolution(
- new SourceResolverConfig( project, localRepository,
+ new SourceResolverConfig( project, session.getProjectBuildingRequest(),
sourceDependencyCacheDir ).withReactorProjects( reactorProjects ) );
}
Modified: maven/plugins/trunk/maven-javadoc-plugin/src/main/java/org/apache/maven/plugins/javadoc/resolver/ResourceResolver.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-javadoc-plugin/src/main/java/org/apache/maven/plugins/javadoc/resolver/ResourceResolver.java?rev=1801785&r1=1801784&r2=1801785&view=diff
==============================================================================
--- maven/plugins/trunk/maven-javadoc-plugin/src/main/java/org/apache/maven/plugins/javadoc/resolver/ResourceResolver.java (original)
+++ maven/plugins/trunk/maven-javadoc-plugin/src/main/java/org/apache/maven/plugins/javadoc/resolver/ResourceResolver.java Wed Jul 12 22:30:43 2017
@@ -26,7 +26,6 @@ import java.io.FileInputStream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;
-import java.util.Collection;
import java.util.HashMap;
import java.util.LinkedHashSet;
import java.util.List;
@@ -37,11 +36,8 @@ import org.apache.maven.artifact.Artifac
import org.apache.maven.artifact.DefaultArtifact;
import org.apache.maven.artifact.factory.ArtifactFactory;
import org.apache.maven.artifact.metadata.ArtifactMetadataSource;
-import org.apache.maven.artifact.repository.ArtifactRepository;
import org.apache.maven.artifact.resolver.ArtifactNotFoundException;
import org.apache.maven.artifact.resolver.ArtifactResolutionException;
-import org.apache.maven.artifact.resolver.ArtifactResolutionResult;
-import org.apache.maven.artifact.resolver.ArtifactResolver;
import org.apache.maven.artifact.resolver.filter.ArtifactFilter;
import org.apache.maven.plugins.javadoc.options.JavadocOptions;
import org.apache.maven.plugins.javadoc.options.io.xpp3.JavadocOptionsXpp3Reader;
@@ -50,6 +46,8 @@ import org.apache.maven.plugins.javadoc.
import org.apache.maven.plugins.javadoc.ResourcesBundleMojo;
import org.apache.maven.project.MavenProject;
import org.apache.maven.shared.artifact.filter.resolve.transform.ArtifactIncludeFilterTransformer;
+import org.apache.maven.shared.artifact.resolve.ArtifactResolver;
+import org.apache.maven.shared.artifact.resolve.ArtifactResolverException;
import org.apache.maven.shared.dependencies.resolve.DependencyResolver;
import org.codehaus.plexus.archiver.ArchiverException;
import org.codehaus.plexus.archiver.UnArchiver;
@@ -373,9 +371,6 @@ public final class ResourceResolver exte
// resolve transitively...this is just used to aggregate resolution failures into a single
// exception.
final Set<Artifact> artifactSet = new LinkedHashSet<Artifact>( artifacts );
- final Artifact pomArtifact = config.project().getArtifact();
- final ArtifactRepository localRepo = config.localRepository();
- final List<ArtifactRepository> remoteRepos = config.project().getRemoteArtifactRepositories();
final ArtifactFilter filter;
if ( config.filter() != null )
@@ -387,28 +382,23 @@ public final class ResourceResolver exte
filter = null;
}
- ArtifactFilter resolutionFilter = null;
- if ( filter != null )
- {
- // Wrap the filter in a ProjectArtifactFilter in order to always include the pomArtifact for resolution.
- // NOTE that this is necessary, b/c the -sources artifacts are added dynamically to the pomArtifact
- // and the resolver also checks the dependency trail with the given filter, thus the pomArtifact has
- // to be explicitly included by the filter, otherwise the -sources artifacts won't be resolved.
- resolutionFilter = new ProjectArtifactFilter( pomArtifact, filter );
- }
-
- Map<String, Artifact> managed = config.project().getManagedVersionMap();
-
- final ArtifactResolutionResult resolutionResult = resolver.resolveTransitively(
- artifactSet, pomArtifact, managed, localRepo, remoteRepos, artifactMetadataSource, resolutionFilter );
-
final List<String> result = new ArrayList<String>( artifacts.size() );
- for ( final Artifact a : (Collection<Artifact>) resolutionResult.getArtifacts() )
+ for ( final Artifact a : artifactSet )
{
if ( !validClassifiers.contains( a.getClassifier() ) || ( filter != null && !filter.include( a ) ) )
{
continue;
}
+
+ Artifact resolvedArtifact;
+ try
+ {
+ resolvedArtifact = resolver.resolveArtifact( config.getBuildingRequest(), a ).getArtifact();
+ }
+ catch ( ArtifactResolverException e1 )
+ {
+ continue;
+ }
final File d =
new File( config.outputBasedir(), a.getArtifactId() + "-" + a.getVersion() + "-" + a.getClassifier() );
@@ -423,7 +413,7 @@ public final class ResourceResolver exte
final UnArchiver unArchiver = archiverManager.getUnArchiver( a.getType() );
unArchiver.setDestDirectory( d );
- unArchiver.setSourceFile( a.getFile() );
+ unArchiver.setSourceFile( resolvedArtifact.getFile() );
unArchiver.extract();
Modified: maven/plugins/trunk/maven-javadoc-plugin/src/main/java/org/apache/maven/plugins/javadoc/resolver/SourceResolverConfig.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-javadoc-plugin/src/main/java/org/apache/maven/plugins/javadoc/resolver/SourceResolverConfig.java?rev=1801785&r1=1801784&r2=1801785&view=diff
==============================================================================
--- maven/plugins/trunk/maven-javadoc-plugin/src/main/java/org/apache/maven/plugins/javadoc/resolver/SourceResolverConfig.java (original)
+++ maven/plugins/trunk/maven-javadoc-plugin/src/main/java/org/apache/maven/plugins/javadoc/resolver/SourceResolverConfig.java Wed Jul 12 22:30:43 2017
@@ -22,8 +22,8 @@ package org.apache.maven.plugins.javadoc
import java.io.File;
import java.util.List;
-import org.apache.maven.artifact.repository.ArtifactRepository;
import org.apache.maven.project.MavenProject;
+import org.apache.maven.project.ProjectBuildingRequest;
import org.apache.maven.shared.artifact.filter.resolve.AndFilter;
/**
@@ -31,6 +31,7 @@ import org.apache.maven.shared.artifact.
*/
public class SourceResolverConfig
{
+ private ProjectBuildingRequest buildingRequest;
private final MavenProject project;
@@ -44,18 +45,16 @@ public class SourceResolverConfig
private boolean testSourceIncluded;
- private final ArtifactRepository localRepository;
-
/**
* @param project {@link MavenProject}
- * @param localRepository {@link ArtifactRepository}
+ * @param buoildingRequest {@link ProjectBuildingRequest}
* @param outputBasedir The output base directory.
*/
- public SourceResolverConfig( final MavenProject project, final ArtifactRepository localRepository,
+ public SourceResolverConfig( final MavenProject project, final ProjectBuildingRequest buildingRequest,
final File outputBasedir )
{
this.project = project;
- this.localRepository = localRepository;
+ this.buildingRequest = buildingRequest;
this.outputBasedir = outputBasedir;
}
@@ -124,11 +123,11 @@ public class SourceResolverConfig
}
/**
- * @return {@link ArtifactRepository}
+ * @return {@link ProjectBuildingRequest}
*/
- public ArtifactRepository localRepository()
+ public ProjectBuildingRequest getBuildingRequest()
{
- return localRepository;
+ return buildingRequest;
}
/**