You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by ol...@apache.org on 2020/01/29 08:57:55 UTC
[maven-javadoc-plugin] 04/04: [MJAVADOC-613] fix module exclusion
This is an automated email from the ASF dual-hosted git repository.
olamy pushed a commit to branch MJAVADOC-613-exclude_skipped_modules_from_aggregate
in repository https://gitbox.apache.org/repos/asf/maven-javadoc-plugin.git
commit c7fe8160fec517266c304e0e50e9368984c3bda0
Author: olivier lamy <ol...@apache.org>
AuthorDate: Wed Jan 29 18:57:27 2020 +1000
[MJAVADOC-613] fix module exclusion
Signed-off-by: olivier lamy <ol...@apache.org>
---
.../MJAVADOC-613-aggregate-exclude/b/c/d2/pom.xml | 2 +-
.../MJAVADOC-613-aggregate-exclude/f/pom.xml | 2 +-
.../invoker.properties | 3 +-
.../MJAVADOC-613-aggregate-exclude/verify.groovy | 67 +++++++++-------------
.../maven/plugins/javadoc/AbstractJavadocMojo.java | 60 ++++++++++++++++---
.../maven/plugins/javadoc/JavadocReportTest.java | 2 +-
6 files changed, 82 insertions(+), 54 deletions(-)
diff --git a/src/it/projects/MJAVADOC-613-aggregate-exclude/b/c/d2/pom.xml b/src/it/projects/MJAVADOC-613-aggregate-exclude/b/c/d2/pom.xml
index 3fa78b8..b2204d4 100644
--- a/src/it/projects/MJAVADOC-613-aggregate-exclude/b/c/d2/pom.xml
+++ b/src/it/projects/MJAVADOC-613-aggregate-exclude/b/c/d2/pom.xml
@@ -28,6 +28,6 @@
<artifactId>mjavadoc613c</artifactId>
<version>1.0-SNAPSHOT</version>
</parent>
- <artifactId>mjavadoc13d2</artifactId>
+ <artifactId>mjavadoc613d2</artifactId>
</project>
diff --git a/src/it/projects/MJAVADOC-613-aggregate-exclude/f/pom.xml b/src/it/projects/MJAVADOC-613-aggregate-exclude/f/pom.xml
index 09dce39..3e4673d 100644
--- a/src/it/projects/MJAVADOC-613-aggregate-exclude/f/pom.xml
+++ b/src/it/projects/MJAVADOC-613-aggregate-exclude/f/pom.xml
@@ -28,7 +28,7 @@
<artifactId>mjavadoc613</artifactId>
<version>1.0-SNAPSHOT</version>
</parent>
- <artifactId>mjavadoc613df</artifactId>
+ <artifactId>mjavadoc613f</artifactId>
<build>
<plugins>
diff --git a/src/it/projects/MJAVADOC-613-aggregate-exclude/invoker.properties b/src/it/projects/MJAVADOC-613-aggregate-exclude/invoker.properties
index a3d335e..233d924 100644
--- a/src/it/projects/MJAVADOC-613-aggregate-exclude/invoker.properties
+++ b/src/it/projects/MJAVADOC-613-aggregate-exclude/invoker.properties
@@ -15,4 +15,5 @@
# specific language governing permissions and limitations
# under the License.
-invoker.goals = site
+#invoker.goals = javadoc:jar javadoc:aggregate-jar
+invoker.goals = clean package javadoc:jar javadoc:aggregate-jar install
diff --git a/src/it/projects/MJAVADOC-613-aggregate-exclude/verify.groovy b/src/it/projects/MJAVADOC-613-aggregate-exclude/verify.groovy
index 4035b20..10cacfb 100644
--- a/src/it/projects/MJAVADOC-613-aggregate-exclude/verify.groovy
+++ b/src/it/projects/MJAVADOC-613-aggregate-exclude/verify.groovy
@@ -17,44 +17,29 @@
* under the License.
*/
-// A
-assert !(new File( basedir, 'target/site/apidocs/a/b/c/d/D1.html').exists())
-assert !(new File( basedir, 'target/site/apidocs/a/b/c/d/D2.html').exists())
-assert new File( basedir, 'target/site/apidocs/a/b/e/E.html').exists()
-assert !(new File( basedir, 'target/site/apidocs/a/f/F.html').exists())
-
-// B
-assert !(new File( basedir, 'b/target/site/apidocs/a/b/c/d/D1.html').exists())
-assert !(new File( basedir, 'b/target/site/apidocs/a/b/c/d/D2.html').exists())
-assert new File( basedir, 'b/target/site/apidocs/a/b/e/E.html').exists()
-assert !(new File( basedir, 'b/target/site/apidocs/a/f/F.html').exists())
-
-// C
-assert !(new File( basedir, 'b/c/target/site/apidocs/a/b/c/d/D1.html').exists())
-assert !(new File( basedir, 'b/c/target/site/apidocs/a/b/c/d/D2.html').exists())
-assert !(new File( basedir, 'b/c/target/site/apidocs/a/b/e/E.html').exists())
-assert !(new File( basedir, 'b/c/target/site/apidocs/a/f/F.html').exists())
-
-// D1
-assert !(new File( basedir, 'b/c/d1/target/site/apidocs/a/b/c/d/D1.html').exists())
-assert !(new File( basedir, 'b/c/d1/target/site/apidocs/a/b/c/d/D2.html').exists())
-assert !(new File( basedir, 'b/c/d1/target/site/apidocs/a/b/e/E.html').exists())
-assert !(new File( basedir, 'b/c/d1/target/site/apidocs/a/f/F.html').exists())
-
-// D2
-assert !(new File( basedir, 'b/c/d2/target/site/apidocs/a/b/c/d/D1.html').exists())
-assert !(new File( basedir, 'b/c/d2/target/site/apidocs/a/b/c/d/D2.html').exists())
-assert !(new File( basedir, 'b/c/d2/target/site/apidocs/a/b/e/E.html').exists())
-assert !(new File( basedir, 'b/c/d2/target/site/apidocs/a/f/F.html').exists())
-
-// E
-assert !(new File( basedir, 'b/e/target/site/apidocs/a/b/c/d/D1.html').exists())
-assert !(new File( basedir, 'b/e/target/site/apidocs/a/b/c/d/D2.html').exists())
-assert new File( basedir, 'b/e/target/site/apidocs/a/b/e/E.html').exists()
-assert !(new File( basedir, 'b/e/target/site/apidocs/a/f/F.html').exists())
-
-// F
-assert !(new File( basedir, 'f/target/site/apidocs/a/b/c/d/D1.html').exists())
-assert !(new File( basedir, 'f/target/site/apidocs/a/b/c/d/D2.html').exists())
-assert !(new File( basedir, 'f/target/site/apidocs/a/b/e/E.html').exists())
-assert !(new File( basedir, 'f/target/site/apidocs/a/f/F.html').exists())
+import java.util.jar.*
+
+def aggregatedJavadoc = new File( basedir, 'target/mjavadoc613-1.0-SNAPSHOT-javadoc.jar');
+
+assert aggregatedJavadoc.exists()
+assert new File( basedir, 'b/c/d1/target/mjavadoc613d1-1.0-SNAPSHOT.jar').exists()
+assert !(new File( basedir, 'b/c/d1/target/mjavadoc613d1-1.0-SNAPSHOT-javadoc.jar').exists())
+assert new File( basedir, 'b/c/d2/target/mjavadoc613d2-1.0-SNAPSHOT.jar').exists()
+assert !(new File( basedir, 'b/c/d2/target/mjavadoc613d2-1.0-SNAPSHOT-javadoc.jar').exists())
+assert new File( basedir, 'b/e/target/mjavadoc613e-1.0-SNAPSHOT.jar').exists()
+assert new File( basedir, 'b/e/target/mjavadoc613e-1.0-SNAPSHOT-javadoc.jar').exists()
+assert new File( basedir, 'f/target/mjavadoc613f-1.0-SNAPSHOT.jar').exists()
+assert !(new File( basedir, 'f/target/mjavadoc613f-1.0-SNAPSHOT-javadoc.jar').exists())
+
+def jar = new JarFile(aggregatedJavadoc)
+
+def files = new ArrayList()
+
+for (JarEntry file in jar.entries()){
+ files.add(file.getName())
+}
+
+assert files.contains("a/b/e/E.html")
+assert !files.contains("a/b/c/d/D1.html")
+assert !files.contains("a/b/c/d/D2.html")
+
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 331c037..d2173e2 100644
--- a/src/main/java/org/apache/maven/plugins/javadoc/AbstractJavadocMojo.java
+++ b/src/main/java/org/apache/maven/plugins/javadoc/AbstractJavadocMojo.java
@@ -5896,7 +5896,7 @@ public abstract class AbstractJavadocMojo
{
final String fixData;
- try (InputStream in = this.getClass().getResourceAsStream( "frame-injection-fix.txt" ))
+ try ( InputStream in = this.getClass().getResourceAsStream( "frame-injection-fix.txt" ) )
{
if ( in == null )
{
@@ -6826,19 +6826,61 @@ public abstract class AbstractJavadocMojo
protected boolean isSkippedJavadoc( MavenProject mavenProject )
{
- if ( BooleanUtils.toBoolean( mavenProject.getProperties().getProperty( "maven.javadoc.skip" ) ) )
+ getLog().debug( "isSkippedJavadoc " + mavenProject );
+ String property = mavenProject.getProperties().getProperty( "maven.javadoc.skip" );
+ if ( property != null )
{
- return true;
+ boolean skip = BooleanUtils.toBoolean( property );
+ getLog().debug( "isSkippedJavadoc " + mavenProject + " " + skip );
+ return skip;
}
final String pluginId = "org.apache.maven.plugins:maven-javadoc-plugin";
- Plugin javadocPlugin = getPlugin( project, pluginId );
- if ( javadocPlugin == null )
+ //final String pluginId = "org.apache.maven.plugins:maven-javadoc-plugin";
+ property = getPluginParameter( mavenProject, pluginId, "skip" );
+ if ( property != null )
{
- return false;
+ boolean skip = BooleanUtils.toBoolean( property );
+ getLog().debug( "isSkippedJavadoc " + mavenProject + " " + skip );
+ return skip;
}
- Xpp3Dom configuration = (Xpp3Dom) javadocPlugin.getConfiguration();
- Xpp3Dom skipNode = configuration.getChild( "skip" );
- return skipNode != null && BooleanUtils.toBoolean( skipNode.getValue() );
+ if ( mavenProject.getParent() != null )
+ {
+ return isSkippedJavadoc( mavenProject.getParent() );
+ }
+ getLog().debug( "isSkippedJavadoc " + mavenProject + " " + false );
+ return false;
+
+// Plugin javadocPlugin = getPlugin( project, pluginId );
+// if ( javadocPlugin == null )
+// {
+// if ( mavenProject.getParent() != null )
+// {
+// return isSkippedJavadoc( mavenProject.getParent() );
+// }
+// getLog().debug( "isSkippedJavadoc " + mavenProject + " false" );
+// return false;
+// }
+// Xpp3Dom configuration = (Xpp3Dom) javadocPlugin.getConfiguration();
+// if ( configuration == null )
+// {
+// if ( mavenProject.getParent() != null )
+// {
+// return isSkippedJavadoc( mavenProject.getParent() );
+// }
+// getLog().debug( "isSkippedJavadoc " + mavenProject + " false" );
+// return false;
+// }
+// Xpp3Dom skipNode = configuration.getChild( "skip" );
+// if ( skipNode != null )
+// {
+// return BooleanUtils.toBoolean( skipNode.getValue() );
+// }
+// if ( mavenProject.getParent() != null )
+// {
+// return isSkippedJavadoc( mavenProject.getParent() );
+// }
+// getLog().debug( "isSkippedJavadoc " + mavenProject + " false" );
+// return false;
}
}
diff --git a/src/test/java/org/apache/maven/plugins/javadoc/JavadocReportTest.java b/src/test/java/org/apache/maven/plugins/javadoc/JavadocReportTest.java
index e6fc3d0..6311537 100644
--- a/src/test/java/org/apache/maven/plugins/javadoc/JavadocReportTest.java
+++ b/src/test/java/org/apache/maven/plugins/javadoc/JavadocReportTest.java
@@ -1180,7 +1180,7 @@ public class JavadocReportTest
assertTrue( optionsFile.exists() );
String options = readFile( optionsFile );
// count -taglet
- assertEquals( 20, StringUtils.countMatches( options, LINE_SEPARATOR + "-taglet" + LINE_SEPARATOR ) );
+ assertEquals( 22, StringUtils.countMatches( options, LINE_SEPARATOR + "-taglet" + LINE_SEPARATOR ) );
assertTrue( options.contains( "org.apache.maven.tools.plugin.javadoc.MojoAggregatorTypeTaglet" ) );
assertTrue( options.contains( "org.apache.maven.tools.plugin.javadoc.MojoComponentFieldTaglet" ) );
assertTrue( options.contains( "org.apache.maven.tools.plugin.javadoc.MojoConfiguratorTypeTaglet" ) );