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/23 10:43:13 UTC

svn commit: r1802722 - in /maven/plugins/trunk/maven-javadoc-plugin/src/main/java/org/apache/maven/plugins/javadoc: AbstractJavadocMojo.java TestJavadocJar.java TestJavadocReport.java

Author: rfscholte
Date: Sun Jul 23 10:43:13 2017
New Revision: 1802722

URL: http://svn.apache.org/viewvc?rev=1802722&view=rev
Log:
[MJAVADOC-489] Javadoc plugin needs to set module path
preparations

Modified:
    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/TestJavadocJar.java
    maven/plugins/trunk/maven-javadoc-plugin/src/main/java/org/apache/maven/plugins/javadoc/TestJavadocReport.java

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=1802722&r1=1802721&r2=1802722&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 Sun Jul 23 10:43:13 2017
@@ -1772,14 +1772,14 @@ public abstract class AbstractJavadocMoj
      * @return the list of directories where compiled classes are placed for the given project. These dirs are
      *         added in the javadoc classpath.
      */
-    protected List<String> getProjectBuildOutputDirs( MavenProject p )
+    protected List<File> getProjectBuildOutputDirs( MavenProject p )
     {
         if ( StringUtils.isEmpty( p.getBuild().getOutputDirectory() ) )
         {
             return Collections.emptyList();
         }
 
-        return Collections.singletonList( p.getBuild().getOutputDirectory() );
+        return Collections.singletonList( new File( p.getBuild().getOutputDirectory() ) );
     }
 
     /**
@@ -2523,20 +2523,19 @@ public abstract class AbstractJavadocMoj
     }
 
     /**
-     * Method that sets the classpath elements that will be specified in the javadoc <code>-classpath</code>
-     * parameter. Since we have all the sources of the current reactor, it is sufficient to consider the
+     * Method that gets the classpath and modulepath elements that will be specified in the javadoc
+     * <code>-classpath</code> and <code>--module-path</code> parameter. 
+     * Since we have all the sources of the current reactor, it is sufficient to consider the
      * dependencies of the reactor modules, excluding the module artifacts which may not yet be available
      * when the reactor project is built for the first time.
      *
-     * @return a String that contains the concatenated classpath elements, separated by the System pathSeparator
-     *         string (colon (<code>:</code>) on Solaris or semi-colon (<code>;</code>) on Windows).
+     * @return all classpath elements
      * @throws MavenReportException if any.
-     * @see File#pathSeparator
      */
-    private String getClasspath()
+    private List<File> getPathElements()
         throws MavenReportException
     {
-        List<String> classpathElements = new ArrayList<>();
+        List<File> classpathElements = new ArrayList<>();
         Map<String, Artifact> compileArtifactMap = new HashMap<>();
 
         if ( isTest() )
@@ -2604,7 +2603,7 @@ public abstract class AbstractJavadocMoj
 
         for ( Artifact a : compileArtifactMap.values() )
         {
-            classpathElements.add( a.getFile().toString() );
+            classpathElements.add( a.getFile() );
         }
 
         if ( additionalDependencies != null )
@@ -2612,13 +2611,12 @@ public abstract class AbstractJavadocMoj
             for ( Dependency dependency : additionalDependencies )
             {
                 Artifact artifact = resolveDependency( dependency );
-                String path = artifact.getFile().toString();
-                getLog().debug( "add additional artifact with path " + path );
-                classpathElements.add( path );
+                getLog().debug( "add additional artifact with path " + artifact.getFile() );
+                classpathElements.add( artifact.getFile() );
             }
         }
 
-        return StringUtils.join( classpathElements.iterator(), File.pathSeparator );
+        return classpathElements;
     }
 
     protected ScopeFilter getDependencyScopeFilter()
@@ -4579,7 +4577,8 @@ public abstract class AbstractJavadocMoj
             addArgIf( arguments, breakiterator, "-breakiterator", SINCE_JAVADOC_1_5 );
         }
 
-        addArgIfNotEmpty( arguments, "-classpath", JavadocUtil.quotedPathArgument( getClasspath() ) );
+        String classpath = StringUtils.join( getPathElements().iterator(), File.pathSeparator );
+        addArgIfNotEmpty( arguments, "-classpath", JavadocUtil.quotedPathArgument( classpath ) );
 
         if ( StringUtils.isNotEmpty( doclet ) )
         {

Modified: maven/plugins/trunk/maven-javadoc-plugin/src/main/java/org/apache/maven/plugins/javadoc/TestJavadocJar.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-javadoc-plugin/src/main/java/org/apache/maven/plugins/javadoc/TestJavadocJar.java?rev=1802722&r1=1802721&r2=1802722&view=diff
==============================================================================
--- maven/plugins/trunk/maven-javadoc-plugin/src/main/java/org/apache/maven/plugins/javadoc/TestJavadocJar.java (original)
+++ maven/plugins/trunk/maven-javadoc-plugin/src/main/java/org/apache/maven/plugins/javadoc/TestJavadocJar.java Sun Jul 23 10:43:13 2017
@@ -161,16 +161,16 @@ public class TestJavadocJar
     }
 
     @Override
-    protected List<String> getProjectBuildOutputDirs( MavenProject p )
+    protected List<File> getProjectBuildOutputDirs( MavenProject p )
     {
-        List<String> dirs = new ArrayList<>();
+        List<File> dirs = new ArrayList<>();
         if ( StringUtils.isNotEmpty( p.getBuild().getOutputDirectory() ) )
         {
-            dirs.add( p.getBuild().getOutputDirectory() );
+            dirs.add( new File( p.getBuild().getOutputDirectory() ) );
         }
         if ( StringUtils.isNotEmpty( p.getBuild().getTestOutputDirectory() ) )
         {
-            dirs.add( p.getBuild().getTestOutputDirectory() );
+            dirs.add( new File( p.getBuild().getTestOutputDirectory() ) );
         }
 
         return dirs;

Modified: maven/plugins/trunk/maven-javadoc-plugin/src/main/java/org/apache/maven/plugins/javadoc/TestJavadocReport.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-javadoc-plugin/src/main/java/org/apache/maven/plugins/javadoc/TestJavadocReport.java?rev=1802722&r1=1802721&r2=1802722&view=diff
==============================================================================
--- maven/plugins/trunk/maven-javadoc-plugin/src/main/java/org/apache/maven/plugins/javadoc/TestJavadocReport.java (original)
+++ maven/plugins/trunk/maven-javadoc-plugin/src/main/java/org/apache/maven/plugins/javadoc/TestJavadocReport.java Sun Jul 23 10:43:13 2017
@@ -239,16 +239,16 @@ public class TestJavadocReport
     // ----------------------------------------------------------------------
 
     @Override
-    protected List<String> getProjectBuildOutputDirs( MavenProject p )
+    protected List<File> getProjectBuildOutputDirs( MavenProject p )
     {
-        List<String> dirs = new ArrayList<>();
+        List<File> dirs = new ArrayList<>();
         if ( StringUtils.isNotEmpty( p.getBuild().getOutputDirectory() ) )
         {
-            dirs.add( p.getBuild().getOutputDirectory() );
+            dirs.add( new File( p.getBuild().getOutputDirectory() ) );
         }
         if ( StringUtils.isNotEmpty( p.getBuild().getTestOutputDirectory() ) )
         {
-            dirs.add( p.getBuild().getTestOutputDirectory() );
+            dirs.add( new File( p.getBuild().getTestOutputDirectory() ) );
         }
 
         return dirs;