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 2010/09/24 15:01:49 UTC

svn commit: r1000852 - in /maven/plugins/branches/maven-site-plugin-3.x: ./ src/it/MSITE-504/ src/it/MSITE-506/ src/it/MSITE-506/src/ src/it/MSITE-506/src/main/ src/it/MSITE-506/src/main/java/ src/it/MSITE-506/src/main/java/mavenjavadoc/ src/it/MSITE-5...

Author: olamy
Date: Fri Sep 24 13:01:49 2010
New Revision: 1000852

URL: http://svn.apache.org/viewvc?rev=1000852&view=rev
Log:
[MSITE-506] Maven3 conflict with plexus-archiver
correctly set TCCL when calling canGenerateReport().
Remove the superfluous call

Added:
    maven/plugins/branches/maven-site-plugin-3.x/src/it/MSITE-506/
    maven/plugins/branches/maven-site-plugin-3.x/src/it/MSITE-506/invoker.properties   (with props)
    maven/plugins/branches/maven-site-plugin-3.x/src/it/MSITE-506/pom.xml   (with props)
    maven/plugins/branches/maven-site-plugin-3.x/src/it/MSITE-506/src/
    maven/plugins/branches/maven-site-plugin-3.x/src/it/MSITE-506/src/main/
    maven/plugins/branches/maven-site-plugin-3.x/src/it/MSITE-506/src/main/java/
    maven/plugins/branches/maven-site-plugin-3.x/src/it/MSITE-506/src/main/java/mavenjavadoc/
    maven/plugins/branches/maven-site-plugin-3.x/src/it/MSITE-506/src/main/java/mavenjavadoc/App.java   (with props)
    maven/plugins/branches/maven-site-plugin-3.x/src/it/MSITE-506/src/test/
    maven/plugins/branches/maven-site-plugin-3.x/src/it/MSITE-506/src/test/java/
    maven/plugins/branches/maven-site-plugin-3.x/src/it/MSITE-506/src/test/java/mavenjavadoc/
    maven/plugins/branches/maven-site-plugin-3.x/src/it/MSITE-506/src/test/java/mavenjavadoc/AppTest.java   (with props)
Modified:
    maven/plugins/branches/maven-site-plugin-3.x/pom.xml
    maven/plugins/branches/maven-site-plugin-3.x/src/it/MSITE-504/invoker.properties
    maven/plugins/branches/maven-site-plugin-3.x/src/main/java/org/apache/maven/plugins/site/AbstractSiteRenderingMojo.java
    maven/plugins/branches/maven-site-plugin-3.x/src/main/java/org/apache/maven/plugins/site/DefaultMavenReportExecutor.java

Modified: maven/plugins/branches/maven-site-plugin-3.x/pom.xml
URL: http://svn.apache.org/viewvc/maven/plugins/branches/maven-site-plugin-3.x/pom.xml?rev=1000852&r1=1000851&r2=1000852&view=diff
==============================================================================
--- maven/plugins/branches/maven-site-plugin-3.x/pom.xml (original)
+++ maven/plugins/branches/maven-site-plugin-3.x/pom.xml Fri Sep 24 13:01:49 2010
@@ -228,13 +228,13 @@ under the License.
     <dependency>
       <groupId>org.sonatype.aether</groupId>
       <artifactId>aether-util</artifactId>
-      <version>1.2</version>
+      <version>1.5</version>
     </dependency>
 
     <dependency>
       <groupId>org.sonatype.aether</groupId>
       <artifactId>aether-api</artifactId>
-      <version>1.2</version>
+      <version>1.5</version>
     </dependency>
 
     <!-- Doxia -->
@@ -393,7 +393,13 @@ under the License.
     <dependency>
       <groupId>org.codehaus.plexus</groupId>
       <artifactId>plexus-archiver</artifactId>
-      <version>1.0-alpha-7</version>
+      <version>1.0-alpha-9</version>
+      <exclusions>
+        <exclusion>
+          <groupId>org.codehaus.plexus</groupId>
+          <artifactId>plexus-component-api</artifactId>
+        </exclusion>
+      </exclusions>      
     </dependency>
 
     <dependency>
@@ -412,6 +418,12 @@ under the License.
       <artifactId>plexus-utils</artifactId>
       <version>1.5.10</version>
     </dependency>
+    
+    <dependency>
+      <groupId>org.apache.ant</groupId>
+      <artifactId>ant</artifactId>
+      <version>1.8.1</version>
+    </dependency>
 
     <dependency>
       <groupId>org.mortbay.jetty</groupId>

Modified: maven/plugins/branches/maven-site-plugin-3.x/src/it/MSITE-504/invoker.properties
URL: http://svn.apache.org/viewvc/maven/plugins/branches/maven-site-plugin-3.x/src/it/MSITE-504/invoker.properties?rev=1000852&r1=1000851&r2=1000852&view=diff
==============================================================================
--- maven/plugins/branches/maven-site-plugin-3.x/src/it/MSITE-504/invoker.properties (original)
+++ maven/plugins/branches/maven-site-plugin-3.x/src/it/MSITE-504/invoker.properties Fri Sep 24 13:01:49 2010
@@ -1 +1 @@
-invoker.goals=install site
\ No newline at end of file
+invoker.goals=clean install site
\ No newline at end of file

Added: maven/plugins/branches/maven-site-plugin-3.x/src/it/MSITE-506/invoker.properties
URL: http://svn.apache.org/viewvc/maven/plugins/branches/maven-site-plugin-3.x/src/it/MSITE-506/invoker.properties?rev=1000852&view=auto
==============================================================================
--- maven/plugins/branches/maven-site-plugin-3.x/src/it/MSITE-506/invoker.properties (added)
+++ maven/plugins/branches/maven-site-plugin-3.x/src/it/MSITE-506/invoker.properties Fri Sep 24 13:01:49 2010
@@ -0,0 +1 @@
+invoker.goals=clean install site
\ No newline at end of file

Propchange: maven/plugins/branches/maven-site-plugin-3.x/src/it/MSITE-506/invoker.properties
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/plugins/branches/maven-site-plugin-3.x/src/it/MSITE-506/invoker.properties
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Added: maven/plugins/branches/maven-site-plugin-3.x/src/it/MSITE-506/pom.xml
URL: http://svn.apache.org/viewvc/maven/plugins/branches/maven-site-plugin-3.x/src/it/MSITE-506/pom.xml?rev=1000852&view=auto
==============================================================================
--- maven/plugins/branches/maven-site-plugin-3.x/src/it/MSITE-506/pom.xml (added)
+++ maven/plugins/branches/maven-site-plugin-3.x/src/it/MSITE-506/pom.xml Fri Sep 24 13:01:49 2010
@@ -0,0 +1,43 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>mavenjavadoc</groupId>
+  <artifactId>testmaven3</artifactId>
+  <packaging>jar</packaging>
+  <version>1.0-SNAPSHOT</version>
+  <name>testmaven3</name>
+  <url>http://maven.apache.org</url>
+  <dependencies>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <version>3.8.1</version>
+      <scope>test</scope>
+    </dependency>
+  </dependencies>
+  <build>
+    <pluginManagement>
+      <plugins>
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-site-plugin</artifactId>
+          <version>@pom.version@</version>
+        </plugin>
+      </plugins>
+    </pluginManagement>
+  </build>
+  <reporting>
+    <excludeDefaults>true</excludeDefaults>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-javadoc-plugin</artifactId>
+        <version>2.7</version>
+        <configuration>
+          <includeDependencySources>true</includeDependencySources>
+          <detectOfflineLinks>false</detectOfflineLinks>
+        </configuration>
+      </plugin>
+    </plugins>
+  </reporting>
+</project>

Propchange: maven/plugins/branches/maven-site-plugin-3.x/src/it/MSITE-506/pom.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/plugins/branches/maven-site-plugin-3.x/src/it/MSITE-506/pom.xml
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Added: maven/plugins/branches/maven-site-plugin-3.x/src/it/MSITE-506/src/main/java/mavenjavadoc/App.java
URL: http://svn.apache.org/viewvc/maven/plugins/branches/maven-site-plugin-3.x/src/it/MSITE-506/src/main/java/mavenjavadoc/App.java?rev=1000852&view=auto
==============================================================================
--- maven/plugins/branches/maven-site-plugin-3.x/src/it/MSITE-506/src/main/java/mavenjavadoc/App.java (added)
+++ maven/plugins/branches/maven-site-plugin-3.x/src/it/MSITE-506/src/main/java/mavenjavadoc/App.java Fri Sep 24 13:01:49 2010
@@ -0,0 +1,13 @@
+package mavenjavadoc;
+
+/**
+ * Hello world!
+ *
+ */
+public class App 
+{
+    public static void main( String[] args )
+    {
+        System.out.println( "Hello World!" );
+    }
+}

Propchange: maven/plugins/branches/maven-site-plugin-3.x/src/it/MSITE-506/src/main/java/mavenjavadoc/App.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/plugins/branches/maven-site-plugin-3.x/src/it/MSITE-506/src/main/java/mavenjavadoc/App.java
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Added: maven/plugins/branches/maven-site-plugin-3.x/src/it/MSITE-506/src/test/java/mavenjavadoc/AppTest.java
URL: http://svn.apache.org/viewvc/maven/plugins/branches/maven-site-plugin-3.x/src/it/MSITE-506/src/test/java/mavenjavadoc/AppTest.java?rev=1000852&view=auto
==============================================================================
--- maven/plugins/branches/maven-site-plugin-3.x/src/it/MSITE-506/src/test/java/mavenjavadoc/AppTest.java (added)
+++ maven/plugins/branches/maven-site-plugin-3.x/src/it/MSITE-506/src/test/java/mavenjavadoc/AppTest.java Fri Sep 24 13:01:49 2010
@@ -0,0 +1,38 @@
+package mavenjavadoc;
+
+import junit.framework.Test;
+import junit.framework.TestCase;
+import junit.framework.TestSuite;
+
+/**
+ * Unit test for simple App.
+ */
+public class AppTest 
+    extends TestCase
+{
+    /**
+     * Create the test case
+     *
+     * @param testName name of the test case
+     */
+    public AppTest( String testName )
+    {
+        super( testName );
+    }
+
+    /**
+     * @return the suite of tests being tested
+     */
+    public static Test suite()
+    {
+        return new TestSuite( AppTest.class );
+    }
+
+    /**
+     * Rigourous Test :-)
+     */
+    public void testApp()
+    {
+        assertTrue( true );
+    }
+}

Propchange: maven/plugins/branches/maven-site-plugin-3.x/src/it/MSITE-506/src/test/java/mavenjavadoc/AppTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/plugins/branches/maven-site-plugin-3.x/src/it/MSITE-506/src/test/java/mavenjavadoc/AppTest.java
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Modified: maven/plugins/branches/maven-site-plugin-3.x/src/main/java/org/apache/maven/plugins/site/AbstractSiteRenderingMojo.java
URL: http://svn.apache.org/viewvc/maven/plugins/branches/maven-site-plugin-3.x/src/main/java/org/apache/maven/plugins/site/AbstractSiteRenderingMojo.java?rev=1000852&r1=1000851&r2=1000852&view=diff
==============================================================================
--- maven/plugins/branches/maven-site-plugin-3.x/src/main/java/org/apache/maven/plugins/site/AbstractSiteRenderingMojo.java (original)
+++ maven/plugins/branches/maven-site-plugin-3.x/src/main/java/org/apache/maven/plugins/site/AbstractSiteRenderingMojo.java Fri Sep 24 13:01:49 2010
@@ -217,10 +217,11 @@ public abstract class AbstractSiteRender
             MavenReport report = mavenReportExecution.getMavenReport();
             try
             {
-                if ( report.canGenerateReport() )
-                {
+                // report.canGenerateReport already done in DefaultMavenReportExecutor
+                //if ( report.canGenerateReport() )
+                //{
                     filteredReports.add( mavenReportExecution );
-                }
+                //}
             }
             catch ( AbstractMethodError e )
             {

Modified: maven/plugins/branches/maven-site-plugin-3.x/src/main/java/org/apache/maven/plugins/site/DefaultMavenReportExecutor.java
URL: http://svn.apache.org/viewvc/maven/plugins/branches/maven-site-plugin-3.x/src/main/java/org/apache/maven/plugins/site/DefaultMavenReportExecutor.java?rev=1000852&r1=1000851&r2=1000852&view=diff
==============================================================================
--- maven/plugins/branches/maven-site-plugin-3.x/src/main/java/org/apache/maven/plugins/site/DefaultMavenReportExecutor.java (original)
+++ maven/plugins/branches/maven-site-plugin-3.x/src/main/java/org/apache/maven/plugins/site/DefaultMavenReportExecutor.java Fri Sep 24 13:01:49 2010
@@ -123,7 +123,7 @@ public class DefaultMavenReportExecutor
                                                                "org.apache.maven.doxia.sink.SinkEventAttributes" );
 
     private static final Set<String> EXCLUDES = new HashSet<String>( Arrays.asList( "doxia-site-renderer",
-                                                                                    "doxia-sink-api" ) );
+                                                                                    "doxia-sink-api", "maven-reporting-api" ) );//, "plexus-archiver" ) );
 
     public List<MavenReportExecution> buildMavenReports( MavenReportExecutorRequest mavenReportExecutorRequest )
         throws MojoExecutionException
@@ -226,7 +226,7 @@ public class DefaultMavenReportExecutor
                     }                    
 
                     mojoExecution.setMojoDescriptor( mojoDescriptor );
-
+                    
                     mavenPluginManager.setupPluginRealm( pluginDescriptor,
                                                          mavenReportExecutorRequest.getMavenSession(),
                                                          Thread.currentThread().getContextClassLoader(), IMPORTS,
@@ -251,7 +251,7 @@ public class DefaultMavenReportExecutor
                                                                    mavenReportExecutorRequest.getMavenSession() );
                     }
 
-                    if ( canGenerateReport( mavenReport ) )
+                    if ( canGenerateReport( mavenReport, mojoExecution ) )
                     {
                         reports.add( mavenReportExecution );
                     }
@@ -265,10 +265,13 @@ public class DefaultMavenReportExecutor
         }
     }
 
-    private boolean canGenerateReport( MavenReport mavenReport )
+    private boolean canGenerateReport( MavenReport mavenReport, MojoExecution mojoExecution )
     {
+        ClassLoader originalClassLoader = Thread.currentThread().getContextClassLoader();
         try
         {
+            Thread.currentThread().setContextClassLoader( mojoExecution.getMojoDescriptor().getRealm() );
+            
             return mavenReport.canGenerateReport();
         }
         catch ( AbstractMethodError e )
@@ -282,7 +285,10 @@ public class DefaultMavenReportExecutor
                                + " - AbstractMethodError: canGenerateReport()" );
             return true;
         }
-
+        finally
+        {
+            Thread.currentThread().setContextClassLoader( originalClassLoader );
+        } 
     }
 
     private MavenReport getConfiguredMavenReport( MojoExecution mojoExecution, PluginDescriptor pluginDescriptor,