Author: rfscholte
Date: Sat May  4 11:43:00 2013
New Revision: 1479081

URL: http://svn.apache.org/r1479081
Log:
[MPDF-48] make PDF plugin run reports when used with Maven 3 
introduce maven-reporting-exec

Modified:
    maven/plugins/trunk/maven-pdf-plugin/pom.xml
    
maven/plugins/trunk/maven-pdf-plugin/src/main/java/org/apache/maven/plugins/pdf/PdfMojo.java

Modified: maven/plugins/trunk/maven-pdf-plugin/pom.xml
URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-pdf-plugin/pom.xml?rev=1479081&r1=1479080&r2=1479081&view=diff
==============================================================================
--- maven/plugins/trunk/maven-pdf-plugin/pom.xml (original)
+++ maven/plugins/trunk/maven-pdf-plugin/pom.xml Sat May  4 11:43:00 2013
@@ -82,6 +82,17 @@ under the License.
   </dependencyManagement>
 
   <dependencies>
+    <dependency>
+      <groupId>org.apache.maven.reporting</groupId>
+      <artifactId>maven-reporting-api</artifactId>
+      <version>3.0</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven.reporting</groupId>
+      <artifactId>maven-reporting-exec</artifactId>
+      <version>1.1</version>
+    </dependency>
+  
     <!-- maven -->
     <dependency>
       <groupId>org.apache.maven</groupId>
@@ -131,11 +142,6 @@ under the License.
     </dependency>
     <dependency>
       <groupId>org.apache.maven.reporting</groupId>
-      <artifactId>maven-reporting-api</artifactId>
-      <version>${mavenVersion}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.maven.reporting</groupId>
       <artifactId>maven-reporting-impl</artifactId>
       <version>2.0.4.3</version>
     </dependency>

Modified: 
maven/plugins/trunk/maven-pdf-plugin/src/main/java/org/apache/maven/plugins/pdf/PdfMojo.java
URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-pdf-plugin/src/main/java/org/apache/maven/plugins/pdf/PdfMojo.java?rev=1479081&r1=1479080&r2=1479081&view=diff
==============================================================================
--- 
maven/plugins/trunk/maven-pdf-plugin/src/main/java/org/apache/maven/plugins/pdf/PdfMojo.java
 (original)
+++ 
maven/plugins/trunk/maven-pdf-plugin/src/main/java/org/apache/maven/plugins/pdf/PdfMojo.java
 Sat May  4 11:43:00 2013
@@ -95,7 +95,12 @@ import org.apache.maven.reporting.MavenR
 import org.apache.maven.reporting.MavenReportException;
 import org.apache.maven.settings.Settings;
 import org.codehaus.classworlds.ClassRealm;
+import org.codehaus.plexus.PlexusConstants;
+import org.codehaus.plexus.PlexusContainer;
+import org.codehaus.plexus.context.Context;
+import org.codehaus.plexus.context.ContextException;
 import org.codehaus.plexus.i18n.I18N;
+import org.codehaus.plexus.personality.plexus.lifecycle.phase.Contextualizable;
 import org.codehaus.plexus.util.FileUtils;
 import org.codehaus.plexus.util.IOUtil;
 import org.codehaus.plexus.util.PathTool;
@@ -112,7 +117,7 @@ import org.codehaus.plexus.util.xml.pull
  */
 @Mojo( name = "pdf", threadSafe = true )
 public class PdfMojo
-    extends AbstractMojo
+    extends AbstractMojo implements Contextualizable
 {
     /**
      * The vm line separator
@@ -305,6 +310,27 @@ public class PdfMojo
      */
     @Parameter( property = "validate", defaultValue = "false" )
     private boolean validate;
+    
+    /**
+     * Reports (Maven 2).
+     * @since 1.3
+     */
+    @Parameter( defaultValue = "${reports}", required = true, readonly = true )
+    private List<MavenReport> reports;
+    
+    /**
+     * <p>Configuration section <b>used internally</b> by Maven 3.</p>
+     * <p>More details available here:
+     * <a 
href="http://maven.apache.org/plugins/maven-site-plugin/maven-3.html#Configuration_formats";
 target="_blank">
+     * 
http://maven.apache.org/plugins/maven-site-plugin/maven-3.html#Configuration_formats</a>
+     * </p>
+     * <p><b>Note:</b> using this field is not mandatory with Maven 3 as Maven 
core injects usual
+     * <code>&lt;reporting&gt;</code> section into this field.</p>
+     *
+     * @since 1.3
+     */
+    @Parameter( readonly = true )
+    private org.apache.maven.reporting.exec.ReportPlugin[] reportPlugins;
 
     // ----------------------------------------------------------------------
     // Instance fields
@@ -351,6 +377,11 @@ public class PdfMojo
      * @since 1.1
      */
     private Map<Locale, List<MavenReport>> generatedMavenReports;
+    
+    /**
+     * @since 1.3
+     */
+    private PlexusContainer container;
 
     // ----------------------------------------------------------------------
     // Public methods
@@ -382,6 +413,13 @@ public class PdfMojo
             throw new MojoExecutionException( "Error copying generated PDF: " 
+ e.getMessage(), e );
         }
     }
+    
+    /** {@inheritDoc} */
+    public void contextualize( Context context )
+        throws ContextException
+    {
+        container = (PlexusContainer) context.get( PlexusConstants.PLEXUS_KEY 
);
+    }
 
     // ----------------------------------------------------------------------
     // Private methods


Reply via email to