Author: hboutemy
Date: Sun Mar 19 22:18:45 2017
New Revision: 1787667
URL: http://svn.apache.org/viewvc?rev=1787667&view=rev
Log:
[MSHARED-628] support maven-model ReportPlugin in addition to local copy
Modified:
maven/shared/trunk/maven-reporting-exec/pom.xml
maven/shared/trunk/maven-reporting-exec/src/main/java/org/apache/maven/reporting/exec/MavenReportExecutorRequest.java
maven/shared/trunk/maven-reporting-exec/src/main/java/org/apache/maven/reporting/exec/ReportPlugin.java
maven/shared/trunk/maven-reporting-exec/src/main/java/org/apache/maven/reporting/exec/ReportSet.java
maven/shared/trunk/maven-reporting-exec/src/site/apt/index.apt.vm
Modified: maven/shared/trunk/maven-reporting-exec/pom.xml
URL:
http://svn.apache.org/viewvc/maven/shared/trunk/maven-reporting-exec/pom.xml?rev=1787667&r1=1787666&r2=1787667&view=diff
==============================================================================
--- maven/shared/trunk/maven-reporting-exec/pom.xml (original)
+++ maven/shared/trunk/maven-reporting-exec/pom.xml Sun Mar 19 22:18:45 2017
@@ -29,7 +29,7 @@
<groupId>org.apache.maven.reporting</groupId>
<artifactId>maven-reporting-exec</artifactId>
- <version>1.3.1-SNAPSHOT</version>
+ <version>1.4-SNAPSHOT</version>
<name>Apache Maven Reporting Executor</name>
<description>Classes to manage report plugin executions with Maven
3.</description>
Modified:
maven/shared/trunk/maven-reporting-exec/src/main/java/org/apache/maven/reporting/exec/MavenReportExecutorRequest.java
URL:
http://svn.apache.org/viewvc/maven/shared/trunk/maven-reporting-exec/src/main/java/org/apache/maven/reporting/exec/MavenReportExecutorRequest.java?rev=1787667&r1=1787666&r2=1787667&view=diff
==============================================================================
---
maven/shared/trunk/maven-reporting-exec/src/main/java/org/apache/maven/reporting/exec/MavenReportExecutorRequest.java
(original)
+++
maven/shared/trunk/maven-reporting-exec/src/main/java/org/apache/maven/reporting/exec/MavenReportExecutorRequest.java
Sun Mar 19 22:18:45 2017
@@ -19,9 +19,14 @@ package org.apache.maven.reporting.exec;
* under the License.
*/
+import java.util.ArrayList;
+import java.util.List;
+
import org.apache.maven.artifact.repository.ArtifactRepository;
import org.apache.maven.execution.MavenSession;
import org.apache.maven.project.MavenProject;
+import org.codehaus.plexus.configuration.xml.XmlPlexusConfiguration;
+import org.codehaus.plexus.util.xml.Xpp3Dom;
/**
* Bean which contains necessary informations to build {@link
MavenReportExecution} with {@link MavenReportExecutor}:
@@ -79,4 +84,44 @@ public class MavenReportExecutorRequest
{
this.reportPlugins = reportPlugins;
}
+
+ /**
+ * Set the report plugin directly from
<code>${project.reporting.plugins}</code> parameter value.
+ *
+ * @param reportPlugins the report plugins from
<code><reporting></code> section
+ * @since 1.4
+ */
+ public void setReportPlugins( org.apache.maven.model.ReportPlugin[]
reportPlugins )
+ {
+ setReportPlugins( new ReportPlugin[reportPlugins.length] );
+
+ int i = 0;
+ for ( org.apache.maven.model.ReportPlugin r : reportPlugins )
+ {
+ ReportPlugin p = new ReportPlugin();
+ p.setGroupId( r.getGroupId() );
+ p.setArtifactId( r.getArtifactId() );
+ p.setVersion( r.getVersion() );
+ if ( r.getConfiguration() != null )
+ {
+ p.setConfiguration( new XmlPlexusConfiguration( (Xpp3Dom)
r.getConfiguration() ) );
+ }
+
+ List<ReportSet> prs = new ArrayList<ReportSet>();
+ for ( org.apache.maven.model.ReportSet rs : r.getReportSets() )
+ {
+ ReportSet ps = new ReportSet();
+ ps.setId( rs.getId() );
+ ps.setReports( rs.getReports() );
+ if ( rs.getConfiguration() != null )
+ {
+ ps.setConfiguration( new XmlPlexusConfiguration( (Xpp3Dom)
rs.getConfiguration() ) );
+ }
+ prs.add( ps );
+ }
+ p.setReportSets( prs );
+
+ this.reportPlugins[i++] = p;
+ }
+ }
}
Modified:
maven/shared/trunk/maven-reporting-exec/src/main/java/org/apache/maven/reporting/exec/ReportPlugin.java
URL:
http://svn.apache.org/viewvc/maven/shared/trunk/maven-reporting-exec/src/main/java/org/apache/maven/reporting/exec/ReportPlugin.java?rev=1787667&r1=1787666&r2=1787667&view=diff
==============================================================================
---
maven/shared/trunk/maven-reporting-exec/src/main/java/org/apache/maven/reporting/exec/ReportPlugin.java
(original)
+++
maven/shared/trunk/maven-reporting-exec/src/main/java/org/apache/maven/reporting/exec/ReportPlugin.java
Sun Mar 19 22:18:45 2017
@@ -27,7 +27,9 @@ import org.codehaus.plexus.configuration
/**
* Represents a reporting plugin and its execution configuration. It basically
contains similar informations as a
- * {@link org.apache.maven.model.Plugin}, but in order to decouple reporting
stuff from core, some values are copied.
+ * {@link org.apache.maven.model.ReportPlugin}, but in order to decouple
reporting stuff from core,
+ * some values are copied.
+ * @see org.apache.maven.model.ReportPlugin
*/
public class ReportPlugin
{
Modified:
maven/shared/trunk/maven-reporting-exec/src/main/java/org/apache/maven/reporting/exec/ReportSet.java
URL:
http://svn.apache.org/viewvc/maven/shared/trunk/maven-reporting-exec/src/main/java/org/apache/maven/reporting/exec/ReportSet.java?rev=1787667&r1=1787666&r2=1787667&view=diff
==============================================================================
---
maven/shared/trunk/maven-reporting-exec/src/main/java/org/apache/maven/reporting/exec/ReportSet.java
(original)
+++
maven/shared/trunk/maven-reporting-exec/src/main/java/org/apache/maven/reporting/exec/ReportSet.java
Sun Mar 19 22:18:45 2017
@@ -26,6 +26,7 @@ import org.codehaus.plexus.configuration
/**
* Represents a set of reports and a configuration to be used to generate them.
+ * @see org.apache.maven.model.ReportSet
*/
public class ReportSet
{
Modified: maven/shared/trunk/maven-reporting-exec/src/site/apt/index.apt.vm
URL:
http://svn.apache.org/viewvc/maven/shared/trunk/maven-reporting-exec/src/site/apt/index.apt.vm?rev=1787667&r1=1787666&r2=1787667&view=diff
==============================================================================
--- maven/shared/trunk/maven-reporting-exec/src/site/apt/index.apt.vm (original)
+++ maven/shared/trunk/maven-reporting-exec/src/site/apt/index.apt.vm Sun Mar
19 22:18:45 2017
@@ -37,7 +37,7 @@ ${project.name}
+----+
<reportPlugins>
- <plugin>
+ <reportPlugin>
<groupId/>
<artifactId/>
<version/>
@@ -50,7 +50,7 @@ ${project.name}
<reports/>
</reportSet>
</reportSets>
- </plugin>
+ </reportPlugin>
</reportPlugins>
+----+
@@ -82,3 +82,32 @@ ${project.name}
to <<<maven-site-plugin>>>'s <<<reportPlugins>>> configuration through the
{{{/ref/current/maven-model-builder/apidocs/org/apache/maven/model/plugin/ReportingConverter.html}ReportingConverter}}
component.
+
+ Since 1.4, the request can be populated from pom's<<<\<reporting\>>>>
section,
+ injected as <<<$\{project.reporting.plugins\}>>> parameter value:
+
++----+
+<project>
+ [...]
+ <reporting>
+ <plugins>
+ <plugin>
+ <groupId/>
+ <artifactId/>
+ <version/>
+ <configuration/>
+ <reportSets>
+ <reportSet>
+ <id/>
+ <configuration/>
+ <reports/>
+ </reportSet>
+ </reportSets>
+ </plugin>
+ </plugin>
+ [...]
+ </reporting>
+</project>
++----+
+
+
\ No newline at end of file