Blame SOURCES/0001-Disable-doclint-in-javadoc-aggregate-MOJO-executions.patch

e981c5
From b9dc38741887a8daea1f894741c2070c58901752 Mon Sep 17 00:00:00 2001
e981c5
From: Mikolaj Izdebski <mizdebsk@redhat.com>
e981c5
Date: Thu, 16 Apr 2015 10:18:25 +0200
082d69
Subject: [PATCH 1/5] Disable doclint in javadoc:aggregate MOJO executions
e981c5
e981c5
Java 8 detection code assumes that toolchains are not in use -- the
e981c5
same JDK version is used to run XMvn and generate javadocs.
e981c5
---
e981c5
 .../aether/XMvnMojoExecutionListener.java          | 34 +++++++++++++++++++++-
e981c5
 1 file changed, 33 insertions(+), 1 deletion(-)
e981c5
e981c5
diff --git a/xmvn-connector-aether/src/main/java/org/fedoraproject/xmvn/connector/aether/XMvnMojoExecutionListener.java b/xmvn-connector-aether/src/main/java/org/fedoraproject/xmvn/connector/aether/XMvnMojoExecutionListener.java
e981c5
index a9cac0e..e6b3e36 100644
e981c5
--- a/xmvn-connector-aether/src/main/java/org/fedoraproject/xmvn/connector/aether/XMvnMojoExecutionListener.java
e981c5
+++ b/xmvn-connector-aether/src/main/java/org/fedoraproject/xmvn/connector/aether/XMvnMojoExecutionListener.java
e981c5
@@ -33,6 +33,8 @@ import org.apache.maven.plugin.Mojo;
e981c5
 import org.apache.maven.plugin.MojoExecution;
e981c5
 import org.apache.maven.plugin.MojoExecutionException;
e981c5
 import org.apache.maven.project.MavenProject;
e981c5
+import org.eclipse.sisu.bean.BeanProperties;
e981c5
+import org.eclipse.sisu.bean.BeanProperty;
e981c5
 
e981c5
 /**
e981c5
  * Listens to various MOJO executions and captures useful information.
e981c5
@@ -44,6 +46,25 @@ import org.apache.maven.project.MavenProject;
e981c5
 public class XMvnMojoExecutionListener
e981c5
     implements MojoExecutionListener
e981c5
 {
e981c5
+    private static final boolean IS_JAVA8_OR_LATER;
e981c5
+
e981c5
+    static
e981c5
+    {
e981c5
+        boolean isJava8;
e981c5
+
e981c5
+        try
e981c5
+        {
e981c5
+            Class.forName( "java.lang.reflect.Executable" );
e981c5
+            isJava8 = true;
e981c5
+        }
e981c5
+        catch ( Throwable t )
e981c5
+        {
e981c5
+            isJava8 = false;
e981c5
+        }
e981c5
+
e981c5
+        IS_JAVA8_OR_LATER = isJava8;
e981c5
+    }
e981c5
+
e981c5
     private static class MojoGoal
e981c5
     {
e981c5
         private final String groupId;
e981c5
@@ -191,7 +212,18 @@ public class XMvnMojoExecutionListener
e981c5
     @Override
e981c5
     public void beforeMojoExecution( MojoExecutionEvent event )
e981c5
     {
e981c5
-        // Nothing to do
e981c5
+        Mojo mojo = event.getMojo();
e981c5
+        MojoExecution execution = event.getExecution();
e981c5
+
e981c5
+        // Disable doclint on Java 8+
e981c5
+        if ( IS_JAVA8_OR_LATER && JAVADOC_AGGREGATE.equals( execution ) )
e981c5
+        {
e981c5
+            for ( BeanProperty<Object> property : new BeanProperties( mojo.getClass() ) )
e981c5
+            {
e981c5
+                if ( property.getName().equals( "additionalparam" ) )
e981c5
+                    property.set( mojo, "-Xdoclint:none" );
e981c5
+            }
e981c5
+        }
e981c5
     }
e981c5
 
e981c5
     @Override
e981c5
-- 
082d69
2.7.4
e981c5