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 2016/06/11 21:26:59 UTC

svn commit: r1747937 - in /maven/plugins/trunk/maven-javadoc-plugin: ./ src/main/java/org/apache/maven/plugin/javadoc/ src/test/java/org/apache/maven/plugin/javadoc/ src/test/java/org/apache/maven/plugin/javadoc/stubs/

Author: rfscholte
Date: Sat Jun 11 21:26:59 2016
New Revision: 1747937

URL: http://svn.apache.org/viewvc?rev=1747937&view=rev
Log:
MJAVADOC-456: Upgrade to Maven3 plugin
All Maven dependencies pushed to 3.0 ( plus related changes to classes and tests)

Modified:
    maven/plugins/trunk/maven-javadoc-plugin/pom.xml
    maven/plugins/trunk/maven-javadoc-plugin/src/main/java/org/apache/maven/plugin/javadoc/AbstractJavadocMojo.java
    maven/plugins/trunk/maven-javadoc-plugin/src/test/java/org/apache/maven/plugin/javadoc/JavadocReportTest.java
    maven/plugins/trunk/maven-javadoc-plugin/src/test/java/org/apache/maven/plugin/javadoc/stubs/ProxyTestMavenProjectStub.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=1747937&r1=1747936&r2=1747937&view=diff
==============================================================================
--- maven/plugins/trunk/maven-javadoc-plugin/pom.xml (original)
+++ maven/plugins/trunk/maven-javadoc-plugin/pom.xml Sat Jun 11 21:26:59 2016
@@ -61,7 +61,7 @@ under the License.
   </distributionManagement>
 
   <properties>
-    <mavenVersion>2.2.1</mavenVersion>
+    <mavenVersion>3.0</mavenVersion>
     <doxiaVersion>1.4</doxiaVersion>
     <doxia-sitetoolsVersion>1.4</doxia-sitetoolsVersion>
     <wagonVersion>1.0-beta-6</wagonVersion>
@@ -98,15 +98,15 @@ under the License.
   </contributors>
 
   <dependencies>
-    <!-- maven -->
-    <dependency>
+    <dependency> <!-- @TODO remove!! -->
       <groupId>org.apache.maven</groupId>
-      <artifactId>maven-core</artifactId>
+      <artifactId>maven-compat</artifactId>
       <version>${mavenVersion}</version>
     </dependency>
+    <!-- maven -->
     <dependency>
       <groupId>org.apache.maven</groupId>
-      <artifactId>maven-project</artifactId>
+      <artifactId>maven-core</artifactId>
       <version>${mavenVersion}</version>
     </dependency>
     <dependency>
@@ -130,16 +130,6 @@ under the License.
       <version>${mavenVersion}</version>
     </dependency>
     <dependency>
-      <groupId>org.apache.maven</groupId>
-      <artifactId>maven-artifact-manager</artifactId>
-      <version>${mavenVersion}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.maven</groupId>
-      <artifactId>maven-toolchain</artifactId>
-      <version>${mavenVersion}</version>
-    </dependency>
-    <dependency>
       <groupId>org.apache.maven.plugin-tools</groupId>
       <artifactId>maven-plugin-annotations</artifactId>
       <scope>provided</scope>
@@ -166,6 +156,11 @@ under the License.
       <artifactId>maven-common-artifact-filters</artifactId>
       <version>1.3</version>
     </dependency>
+    <dependency>
+      <groupId>org.apache.maven.shared</groupId>
+      <artifactId>maven-artifact-transfer</artifactId>
+      <version>3.0.0-SNAPSHOT</version>
+    </dependency>
 
     <!-- Doxia -->
     <dependency>
@@ -225,11 +220,6 @@ under the License.
     <!-- Plexus -->
     <dependency>
       <groupId>org.codehaus.plexus</groupId>
-      <artifactId>plexus-container-default</artifactId>
-      <version>1.0-alpha-9</version>
-    </dependency>
-    <dependency>
-      <groupId>org.codehaus.plexus</groupId>
       <artifactId>plexus-archiver</artifactId>
       <version>3.3</version>
     </dependency>
@@ -260,7 +250,7 @@ under the License.
     <dependency>
       <groupId>org.apache.maven.plugin-testing</groupId>
       <artifactId>maven-plugin-testing-harness</artifactId>
-      <version>1.2</version>
+      <version>2.1</version>
       <scope>test</scope>
     </dependency>
     <dependency>
@@ -281,6 +271,18 @@ under the License.
       <version>1.8.5</version>
       <scope>test</scope>
     </dependency>
+    <dependency>
+      <groupId>org.sonatype.aether</groupId>
+      <artifactId>aether-connector-wagon</artifactId>
+      <version>1.7</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven.wagon</groupId>
+      <artifactId>wagon-http</artifactId>
+      <version>1.0-beta-6</version>
+      <scope>test</scope>
+    </dependency>
   </dependencies>
 
   <build>

Modified: maven/plugins/trunk/maven-javadoc-plugin/src/main/java/org/apache/maven/plugin/javadoc/AbstractJavadocMojo.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-javadoc-plugin/src/main/java/org/apache/maven/plugin/javadoc/AbstractJavadocMojo.java?rev=1747937&r1=1747936&r2=1747937&view=diff
==============================================================================
--- maven/plugins/trunk/maven-javadoc-plugin/src/main/java/org/apache/maven/plugin/javadoc/AbstractJavadocMojo.java (original)
+++ maven/plugins/trunk/maven-javadoc-plugin/src/main/java/org/apache/maven/plugin/javadoc/AbstractJavadocMojo.java Sat Jun 11 21:26:59 2016
@@ -93,14 +93,16 @@ import org.apache.maven.plugin.javadoc.r
 import org.apache.maven.plugins.annotations.Component;
 import org.apache.maven.plugins.annotations.Parameter;
 import org.apache.maven.project.MavenProject;
-import org.apache.maven.project.MavenProjectBuilder;
+import org.apache.maven.project.ProjectBuilder;
 import org.apache.maven.project.ProjectBuildingException;
 import org.apache.maven.project.artifact.InvalidDependencyVersionException;
 import org.apache.maven.reporting.MavenReportException;
 import org.apache.maven.settings.Proxy;
 import org.apache.maven.settings.Settings;
+import org.apache.maven.shared.artifact.DefaultArtifactCoordinate;
 import org.apache.maven.shared.artifact.filter.PatternExcludesArtifactFilter;
 import org.apache.maven.shared.artifact.filter.PatternIncludesArtifactFilter;
+import org.apache.maven.shared.artifact.resolve.ArtifactResolverException;
 import org.apache.maven.shared.invoker.MavenInvocationException;
 import org.apache.maven.toolchain.Toolchain;
 import org.apache.maven.toolchain.ToolchainManager;
@@ -302,14 +304,17 @@ public abstract class AbstractJavadocMoj
      */
     @Component
     private ArtifactResolver resolver;
+    
+    @Component
+    private org.apache.maven.shared.artifact.resolve.ArtifactResolver artifactResolver;
 
     /**
      * Project builder
      *
-     * @since 2.5
+     * @since 3.0
      */
     @Component
-    private MavenProjectBuilder mavenProjectBuilder;
+    private ProjectBuilder mavenProjectBuilder;
 
     /** */
     @Component
@@ -2653,13 +2658,9 @@ public abstract class AbstractJavadocMoj
                                                                   dependency.getClassifier() );
         try
         {
-            resolver.resolve( artifact, remoteRepositories, localRepository );
-        }
-        catch ( ArtifactNotFoundException e )
-        {
-            throw new MavenReportException( "artifact not found - " + e.getMessage(), e );
+            artifact = artifactResolver.resolveArtifact( session.getProjectBuildingRequest(), artifact ).getArtifact();
         }
-        catch ( ArtifactResolutionException e )
+        catch ( ArtifactResolverException e )
         {
             throw new MavenReportException( "artifact resolver problem - " + e.getMessage(), e );
         }
@@ -3423,7 +3424,7 @@ public abstract class AbstractJavadocMoj
 
             // Find its transitive dependencies in the local repo
             MavenProject artifactProject =
-                mavenProjectBuilder.buildFromRepository( artifact, remoteRepositories, localRepository );
+                mavenProjectBuilder.build( artifact, session.getProjectBuildingRequest() ).getProject();
             Set<Artifact> dependencyArtifacts = artifactProject.createArtifacts( factory, null, null );
             if ( !dependencyArtifacts.isEmpty() )
             {
@@ -3457,7 +3458,7 @@ public abstract class AbstractJavadocMoj
             throw new MavenReportException( "Unable to build the Maven project for the artifact:" + javadocArtifact,
                                             e );
         }
-        catch ( InvalidDependencyVersionException e )
+        catch ( ArtifactResolverException e )
         {
             throw new MavenReportException( "Unable to resolve artifact:" + javadocArtifact, e );
         }
@@ -3468,27 +3469,17 @@ public abstract class AbstractJavadocMoj
      *
      * @param javadocArtifact the {@link JavadocPathArtifact} to resolve
      * @return a resolved {@link Artifact}
-     * @throws ArtifactResolutionException if the resolution of the artifact failed.
-     * @throws ArtifactNotFoundException   if the artifact hasn't been found.
-     * @throws ProjectBuildingException    if the artifact POM could not be build.
+     * @throws ArtifactResolverException 
      */
     private Artifact createAndResolveArtifact( JavadocPathArtifact javadocArtifact )
-        throws ArtifactResolutionException, ArtifactNotFoundException, ProjectBuildingException
+        throws ArtifactResolverException
     {
-        Artifact artifact =
-            factory.createProjectArtifact( javadocArtifact.getGroupId(), javadocArtifact.getArtifactId(),
-                                           javadocArtifact.getVersion(), Artifact.SCOPE_COMPILE );
-
-        if ( artifact.getFile() == null )
-        {
-            MavenProject pluginProject =
-                mavenProjectBuilder.buildFromRepository( artifact, remoteRepositories, localRepository );
-            artifact = pluginProject.getArtifact();
-
-            resolver.resolve( artifact, remoteRepositories, localRepository );
-        }
+        DefaultArtifactCoordinate coordinate = new DefaultArtifactCoordinate();
+        coordinate.setGroupId( javadocArtifact.getGroupId() );
+        coordinate.setArtifactId( javadocArtifact.getArtifactId() );
+        coordinate.setVersion( javadocArtifact.getVersion() );
 
-        return artifact;
+        return artifactResolver.resolveArtifact( session.getProjectBuildingRequest(), coordinate ).getArtifact();
     }
 
     /**
@@ -4241,18 +4232,10 @@ public abstract class AbstractJavadocMoj
             {
                 artifact = createAndResolveArtifact( item );
             }
-            catch ( ArtifactResolutionException e )
+            catch ( ArtifactResolverException e )
             {
                 throw new MavenReportException( "Unable to resolve artifact:" + item, e );
             }
-            catch ( ArtifactNotFoundException e )
-            {
-                throw new MavenReportException( "Unable to find artifact:" + item, e );
-            }
-            catch ( ProjectBuildingException e )
-            {
-                throw new MavenReportException( "Unable to build the Maven project for the artifact:" + item, e );
-            }
 
             unArchiver.setSourceFile( artifact.getFile() );
             unArchiver.setDestDirectory( anOutputDirectory );
@@ -5033,19 +5016,10 @@ public abstract class AbstractJavadocMoj
                 {
                     artifact = createAndResolveArtifact( aTagletArtifact );
                 }
-                catch ( ArtifactResolutionException e )
+                catch ( ArtifactResolverException e )
                 {
                     throw new MavenReportException( "Unable to resolve artifact:" + aTagletArtifact, e );
                 }
-                catch ( ArtifactNotFoundException e )
-                {
-                    throw new MavenReportException( "Unable to find artifact:" + aTagletArtifact, e );
-                }
-                catch ( ProjectBuildingException e )
-                {
-                    throw new MavenReportException(
-                        "Unable to build the Maven project for the artifact:" + aTagletArtifact, e );
-                }
 
                 tagletsPath.add( artifact.getFile().getAbsolutePath() );
             }
@@ -5589,7 +5563,7 @@ public abstract class AbstractJavadocMoj
             try
             {
                 MavenProject artifactProject =
-                    mavenProjectBuilder.buildFromRepository( artifact, remoteRepositories, localRepository );
+                    mavenProjectBuilder.build( artifact, session.getProjectBuildingRequest() ).getProject();
 
                 if ( StringUtils.isNotEmpty( artifactProject.getUrl() ) )
                 {

Modified: maven/plugins/trunk/maven-javadoc-plugin/src/test/java/org/apache/maven/plugin/javadoc/JavadocReportTest.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-javadoc-plugin/src/test/java/org/apache/maven/plugin/javadoc/JavadocReportTest.java?rev=1747937&r1=1747936&r2=1747937&view=diff
==============================================================================
--- maven/plugins/trunk/maven-javadoc-plugin/src/test/java/org/apache/maven/plugin/javadoc/JavadocReportTest.java (original)
+++ maven/plugins/trunk/maven-javadoc-plugin/src/test/java/org/apache/maven/plugin/javadoc/JavadocReportTest.java Sat Jun 11 21:26:59 2016
@@ -18,22 +18,34 @@ package org.apache.maven.plugin.javadoc;
  * specific language governing permissions and limitations
  * under the License.
  */
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.when;
+
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.FileReader;
+import java.io.IOException;
+import java.io.Reader;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
 
 import org.apache.commons.lang.SystemUtils;
+import org.apache.maven.execution.MavenSession;
+import org.apache.maven.plugin.LegacySupport;
 import org.apache.maven.plugin.MojoExecutionException;
 import org.apache.maven.plugin.javadoc.ProxyServer.AuthAsyncProxyServlet;
 import org.apache.maven.plugin.testing.AbstractMojoTestCase;
+import org.apache.maven.project.ProjectBuildingRequest;
+import org.apache.maven.repository.internal.MavenRepositorySystemSession;
 import org.apache.maven.settings.Proxy;
 import org.apache.maven.settings.Settings;
 import org.codehaus.plexus.util.FileUtils;
 import org.codehaus.plexus.util.IOUtil;
 import org.codehaus.plexus.util.ReaderFactory;
 import org.codehaus.plexus.util.StringUtils;
-
-import java.io.*;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import org.sonatype.aether.impl.internal.SimpleLocalRepositoryManager;
 
 /**
  * Test {@link org.apache.maven.plugin.javadoc.JavadocReport} class.
@@ -50,6 +62,8 @@ public class JavadocReportTest
     private static boolean TEST_REPO_CREATED = false;
 
     private File unit;
+    
+    private File localRepo;
 
     /** {@inheritDoc} */
     protected void setUp()
@@ -59,6 +73,8 @@ public class JavadocReportTest
 
         unit = new File( getBasedir(), "src/test/resources/unit" );
 
+        localRepo = new File( getBasedir(), "target/local-repo/" );
+        
         createTestRepo();
     }
 
@@ -75,7 +91,6 @@ public class JavadocReportTest
             return;
         }
 
-        File localRepo = new File( getBasedir(), "target/local-repo/" );
         localRepo.mkdirs();
 
         // ----------------------------------------------------------------------
@@ -371,6 +386,20 @@ public class JavadocReportTest
 
         File testPom = new File( unit, "doclet-test/doclet-test-plugin-config.xml" );
         JavadocReport mojo = (JavadocReport) lookupMojo( "javadoc", testPom );
+        
+        MavenSession session = spy( newMavenSession( mojo.project ) );
+        ProjectBuildingRequest buildingRequest = mock( ProjectBuildingRequest.class );
+        when( buildingRequest.getRemoteRepositories() ).thenReturn( mojo.project.getRemoteArtifactRepositories() );
+        when( session.getProjectBuildingRequest() ).thenReturn( buildingRequest );
+        MavenRepositorySystemSession repositorySession = new MavenRepositorySystemSession();
+        repositorySession.setLocalRepositoryManager( new SimpleLocalRepositoryManager( localRepo ) );
+        when( buildingRequest.getRepositorySession() ).thenReturn( repositorySession );
+        when( session.getRepositorySession() ).thenReturn( repositorySession );
+        LegacySupport legacySupport = lookup( LegacySupport.class );
+        legacySupport.setSession( session );
+        
+        setVariableValueToObject( mojo, "session", session );
+        
         mojo.execute();
 
         File generatedFile = new File( getBasedir(), "target/test/unit/doclet-test/target/site/apidocs/graph.dot" );
@@ -388,6 +417,7 @@ public class JavadocReportTest
 
         testPom = new File( unit, "doclet-path-test/doclet-path-test-plugin-config.xml" );
         mojo = (JavadocReport) lookupMojo( "javadoc", testPom );
+        setVariableValueToObject( mojo, "session", session );
         mojo.execute();
 
         generatedFile = new File( getBasedir(), "target/test/unit/doclet-test/target/site/apidocs/graph.dot" );
@@ -497,6 +527,20 @@ public class JavadocReportTest
 
         File testPom = new File( unit, "taglet-test/taglet-test-plugin-config.xml" );
         JavadocReport mojo = (JavadocReport) lookupMojo( "javadoc", testPom );
+        
+        MavenSession session = spy( newMavenSession( mojo.project ) );
+        ProjectBuildingRequest buildingRequest = mock( ProjectBuildingRequest.class );
+        when( buildingRequest.getRemoteRepositories() ).thenReturn( mojo.project.getRemoteArtifactRepositories() );
+        when( session.getProjectBuildingRequest() ).thenReturn( buildingRequest );
+        MavenRepositorySystemSession repositorySession = new MavenRepositorySystemSession();
+        repositorySession.setLocalRepositoryManager( new SimpleLocalRepositoryManager( localRepo ) );
+        when( buildingRequest.getRepositorySession() ).thenReturn( repositorySession );
+        when( session.getRepositorySession() ).thenReturn( repositorySession );
+        LegacySupport legacySupport = lookup( LegacySupport.class );
+        legacySupport.setSession( session );
+        
+        setVariableValueToObject( mojo, "session", session );
+        
         mojo.execute();
 
         File apidocs = new File( getBasedir(), "target/test/unit/taglet-test/target/site/apidocs" );
@@ -779,9 +823,21 @@ public class JavadocReportTest
 
         File testPom = new File( getBasedir(), "src/test/resources/unit/proxy-test/proxy-test-plugin-config.xml" );
         JavadocReport mojo = (JavadocReport) lookupMojo( "javadoc", testPom );
-        assertNotNull( mojo );
+        
+        MavenSession session = spy( newMavenSession( mojo.project ) );
+        ProjectBuildingRequest buildingRequest = mock( ProjectBuildingRequest.class );
+        when( buildingRequest.getRemoteRepositories() ).thenReturn( mojo.project.getRemoteArtifactRepositories() );
+        when( session.getProjectBuildingRequest() ).thenReturn( buildingRequest );
+        MavenRepositorySystemSession repositorySession = new MavenRepositorySystemSession();
+        repositorySession.setLocalRepositoryManager( new SimpleLocalRepositoryManager( localRepo ) );
+        when( buildingRequest.getRepositorySession() ).thenReturn( repositorySession );
+        when( session.getRepositorySession() ).thenReturn( repositorySession );
+        LegacySupport legacySupport = lookup( LegacySupport.class );
+        legacySupport.setSession( session );
+        
         setVariableValueToObject( mojo, "settings", settings );
         setVariableValueToObject( mojo, "remoteRepositories", mojo.project.getRemoteArtifactRepositories() );
+        setVariableValueToObject( mojo, "session", session );
         mojo.execute();
 
         File commandLine = new File( getBasedir(), "target/test/unit/proxy-test/target/site/apidocs/javadoc." + ( SystemUtils.IS_OS_WINDOWS ? "bat" : "sh" ) );
@@ -820,6 +876,7 @@ public class JavadocReportTest
             mojo = (JavadocReport) lookupMojo( "javadoc", testPom );
             setVariableValueToObject( mojo, "settings", settings );
             setVariableValueToObject( mojo, "remoteRepositories", mojo.project.getRemoteArtifactRepositories() );
+            setVariableValueToObject( mojo, "session", session );
             mojo.execute();
             readed = readFile( commandLine );
             assertTrue( readed.contains( "-J-Dhttp.proxySet=true" ) );
@@ -868,6 +925,7 @@ public class JavadocReportTest
             mojo = (JavadocReport) lookupMojo( "javadoc", testPom );
             setVariableValueToObject( mojo, "settings", settings );
             setVariableValueToObject( mojo, "remoteRepositories", mojo.project.getRemoteArtifactRepositories() );
+            setVariableValueToObject( mojo, "session", session );
             mojo.execute();
             readed = readFile( commandLine );
             assertTrue( readed.contains( "-J-Dhttp.proxySet=true" ) );
@@ -975,7 +1033,19 @@ public class JavadocReportTest
         File testPom = new File( unit, "tagletArtifacts-test/tagletArtifacts-test-plugin-config.xml" );
         JavadocReport mojo = (JavadocReport) lookupMojo( "javadoc", testPom );
 
+        MavenSession session = spy( newMavenSession( mojo.project ) );
+        ProjectBuildingRequest buildingRequest = mock( ProjectBuildingRequest.class );
+        when( buildingRequest.getRemoteRepositories() ).thenReturn( mojo.project.getRemoteArtifactRepositories() );
+        when( session.getProjectBuildingRequest() ).thenReturn( buildingRequest );
+        MavenRepositorySystemSession repositorySession = new MavenRepositorySystemSession();
+        repositorySession.setLocalRepositoryManager( new SimpleLocalRepositoryManager( localRepo ) );
+        when( buildingRequest.getRepositorySession() ).thenReturn( repositorySession );
+        when( session.getRepositorySession() ).thenReturn( repositorySession );
+        LegacySupport legacySupport = lookup( LegacySupport.class );
+        legacySupport.setSession( session );
+        
         setVariableValueToObject( mojo, "remoteRepositories", mojo.project.getRemoteArtifactRepositories() );
+        setVariableValueToObject( mojo, "session", session );
 
         mojo.execute();
 
@@ -1019,7 +1089,19 @@ public class JavadocReportTest
         JavadocReport mojo = (JavadocReport) lookupMojo( "javadoc", testPom );
         assertNotNull( mojo );
 
+        MavenSession session = spy( newMavenSession( mojo.project ) );
+        ProjectBuildingRequest buildingRequest = mock( ProjectBuildingRequest.class );
+        when( buildingRequest.getRemoteRepositories() ).thenReturn( mojo.project.getRemoteArtifactRepositories() );
+        when( session.getProjectBuildingRequest() ).thenReturn( buildingRequest );
+        MavenRepositorySystemSession repositorySession = new MavenRepositorySystemSession();
+        repositorySession.setLocalRepositoryManager( new SimpleLocalRepositoryManager( localRepo ) );
+        when( buildingRequest.getRepositorySession() ).thenReturn( repositorySession );
+        when( session.getRepositorySession() ).thenReturn( repositorySession );
+        LegacySupport legacySupport = lookup( LegacySupport.class );
+        legacySupport.setSession( session );
+        
         setVariableValueToObject( mojo, "remoteRepositories", mojo.project.getRemoteArtifactRepositories() );
+        setVariableValueToObject( mojo, "session", session );
 
         File apidocs = new File( getBasedir(), "target/test/unit/stylesheetfile-test/target/site/apidocs" );
 
@@ -1112,11 +1194,23 @@ public class JavadocReportTest
         throws Exception
     {
         File testPom = new File( unit, "helpfile-test/pom.xml" );
-
+        
         JavadocReport mojo = (JavadocReport) lookupMojo( "javadoc", testPom );
         assertNotNull( mojo );
 
+        MavenSession session = spy( newMavenSession( mojo.project ) );
+        ProjectBuildingRequest buildingRequest = mock( ProjectBuildingRequest.class );
+        when( buildingRequest.getRemoteRepositories() ).thenReturn( mojo.project.getRemoteArtifactRepositories() );
+        when( session.getProjectBuildingRequest() ).thenReturn( buildingRequest );
+        MavenRepositorySystemSession repositorySession = new MavenRepositorySystemSession();
+        repositorySession.setLocalRepositoryManager( new SimpleLocalRepositoryManager( localRepo ) );
+        when( buildingRequest.getRepositorySession() ).thenReturn( repositorySession );
+        when( session.getRepositorySession() ).thenReturn( repositorySession );
+        LegacySupport legacySupport = lookup( LegacySupport.class );
+        legacySupport.setSession( session );
+
         setVariableValueToObject( mojo, "remoteRepositories", mojo.project.getRemoteArtifactRepositories() );
+        setVariableValueToObject( mojo, "session", session );
 
         File apidocs = new File( getBasedir(), "target/test/unit/helpfile-test/target/site/apidocs" );
 
@@ -1134,6 +1228,9 @@ public class JavadocReportTest
 
         // helpfile defined in a javadoc plugin dependency
         setVariableValueToObject( mojo, "helpfile", "com/mycompany/app/javadoc/helpfile/help-doc.html" );
+        
+        setVariableValueToObject( mojo, "session", session );
+        
         mojo.execute();
 
         content = readFile( helpfile );

Modified: maven/plugins/trunk/maven-javadoc-plugin/src/test/java/org/apache/maven/plugin/javadoc/stubs/ProxyTestMavenProjectStub.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-javadoc-plugin/src/test/java/org/apache/maven/plugin/javadoc/stubs/ProxyTestMavenProjectStub.java?rev=1747937&r1=1747936&r2=1747937&view=diff
==============================================================================
--- maven/plugins/trunk/maven-javadoc-plugin/src/test/java/org/apache/maven/plugin/javadoc/stubs/ProxyTestMavenProjectStub.java (original)
+++ maven/plugins/trunk/maven-javadoc-plugin/src/test/java/org/apache/maven/plugin/javadoc/stubs/ProxyTestMavenProjectStub.java Sat Jun 11 21:26:59 2016
@@ -19,6 +19,9 @@ package org.apache.maven.plugin.javadoc.
  * under the License.
  */
 
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
 import org.apache.maven.artifact.Artifact;
 import org.apache.maven.model.Build;
 import org.apache.maven.plugin.testing.stubs.ArtifactStub;
@@ -60,13 +63,17 @@ public class ProxyTestMavenProjectStub
         compileSourceRoots.add( getBasedir() + "/src/main/java" );
         setCompileSourceRoots( compileSourceRoots );
 
-        ArtifactStub artifact = new ArtifactStub();
-        artifact.setGroupId( "commons-logging" );
-        artifact.setArtifactId( "commons-logging" );
-        artifact.setVersion( "1.1.1" );
-        artifact.setScope( Artifact.SCOPE_RUNTIME );
-        artifact.setType( "jar" );
-        artifact.setFile( getBasedir() );
+        
+        Artifact artifact = mock( Artifact.class );
+        when( artifact.getGroupId()).thenReturn( "commons-logging" );
+        when( artifact.getArtifactId()).thenReturn( "commons-logging" );
+        when( artifact.getVersion()).thenReturn( "1.1.1" );
+        when( artifact.getScope()).thenReturn( Artifact.SCOPE_RUNTIME );
+        when( artifact.getType()).thenReturn( "jar" );
+        when( artifact.getFile()).thenReturn( getBasedir() );
+        DefaultArtifactHandlerStub artifactHandler = new DefaultArtifactHandlerStub();
+        artifactHandler.setExtension( "jar" );
+        when( artifact.getArtifactHandler()).thenReturn( artifactHandler );
 
         dependencyArtifacts.add( artifact );
     }