You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by hb...@apache.org on 2013/04/06 18:42:32 UTC
svn commit: r1465271 - in /maven/shared/trunk/maven-reporting-exec/src:
main/java/org/apache/maven/reporting/exec/ site/apt/
Author: hboutemy
Date: Sat Apr 6 16:42:32 2013
New Revision: 1465271
URL: http://svn.apache.org/r1465271
Log:
code simplification
Modified:
maven/shared/trunk/maven-reporting-exec/src/main/java/org/apache/maven/reporting/exec/DefaultMavenReportExecutor.java
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
Modified: maven/shared/trunk/maven-reporting-exec/src/main/java/org/apache/maven/reporting/exec/DefaultMavenReportExecutor.java
URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-reporting-exec/src/main/java/org/apache/maven/reporting/exec/DefaultMavenReportExecutor.java?rev=1465271&r1=1465270&r2=1465271&view=diff
==============================================================================
--- maven/shared/trunk/maven-reporting-exec/src/main/java/org/apache/maven/reporting/exec/DefaultMavenReportExecutor.java (original)
+++ maven/shared/trunk/maven-reporting-exec/src/main/java/org/apache/maven/reporting/exec/DefaultMavenReportExecutor.java Sat Apr 6 16:42:32 2013
@@ -22,12 +22,13 @@ package org.apache.maven.reporting.exec;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
+import java.util.HashSet;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
+import java.util.Set;
-import org.apache.maven.artifact.repository.DefaultRepositoryRequest;
import org.apache.maven.artifact.repository.RepositoryRequest;
import org.apache.maven.execution.MavenSession;
import org.apache.maven.lifecycle.LifecycleExecutor;
@@ -67,7 +68,7 @@ import org.sonatype.aether.repository.Re
* </p>
* <p>
* <b>Note</b> if no version is defined in the report plugin, the version will be searched
- * with method {@link #getPluginVersion(ReportPlugin, MavenReportExecutorRequest)}
+ * with method {@link #resolvePluginVersion(ReportPlugin, MavenReportExecutorRequest)}
* Steps to find a plugin version stop after each step if a non <code>null</code> value has been found:
* <ol>
* <li>use the one defined in the reportPlugin configuration,</li>
@@ -138,49 +139,40 @@ public class DefaultMavenReportExecutor
}
getLog().debug( "DefaultMavenReportExecutor.buildMavenReports()" );
- List<String> reportPluginKeys = new ArrayList<String>();
- List<MavenReportExecution> reports = new ArrayList<MavenReportExecution>();
+ Set<String> reportPluginKeys = new HashSet<String>();
+ List<MavenReportExecution> reportExecutions = new ArrayList<MavenReportExecution>();
String pluginKey = "";
try
{
for ( ReportPlugin reportPlugin : mavenReportExecutorRequest.getReportPlugins() )
{
- pluginKey = reportPlugin.getGroupId() + ":" + reportPlugin.getArtifactId();
+ pluginKey = reportPlugin.getGroupId() + ':' + reportPlugin.getArtifactId();
+
+ if ( !reportPluginKeys.add( pluginKey ) )
+ {
+ logger.info( "plugin " + pluginKey + " will be executed more than one time" );
+ }
- buildReportPlugin( mavenReportExecutorRequest, reportPlugin, reportPluginKeys, reports );
+ reportExecutions.addAll( buildReportPlugin( mavenReportExecutorRequest, reportPlugin ) );
}
- return reports;
}
catch ( Exception e )
{
throw new MojoExecutionException( "failed to get report for " + pluginKey, e );
}
+
+ return reportExecutions;
}
- protected void buildReportPlugin( MavenReportExecutorRequest mavenReportExecutorRequest, ReportPlugin reportPlugin,
- List<String> reportPluginKeys, List<MavenReportExecution> reports )
+ protected List<MavenReportExecution> buildReportPlugin( MavenReportExecutorRequest mavenReportExecutorRequest,
+ ReportPlugin reportPlugin )
throws Exception
{
Plugin plugin = new Plugin();
plugin.setGroupId( reportPlugin.getGroupId() );
plugin.setArtifactId( reportPlugin.getArtifactId() );
-
- String pluginKey = reportPlugin.getGroupId() + ":" + reportPlugin.getArtifactId();
- if ( reportPluginKeys.contains( pluginKey ) )
- {
- logger.info( "plugin " + pluginKey + " will be executed more than one time" );
- }
- else
- {
- reportPluginKeys.add( pluginKey );
- }
-
- RepositoryRequest repositoryRequest = new DefaultRepositoryRequest();
- repositoryRequest.setLocalRepository( mavenReportExecutorRequest.getLocalRepository() );
- repositoryRequest.setRemoteRepositories( mavenReportExecutorRequest.getProject().getPluginArtifactRepositories() );
-
- plugin.setVersion( getPluginVersion( reportPlugin, mavenReportExecutorRequest ) );
+ plugin.setVersion( resolvePluginVersion( reportPlugin, mavenReportExecutorRequest ) );
mergePluginToReportPlugin( mavenReportExecutorRequest, plugin, reportPlugin );
@@ -196,6 +188,7 @@ public class DefaultMavenReportExecutor
if ( reportPlugin.getReportSets().isEmpty() && reportPlugin.getReports().isEmpty() )
{
+ // by default, execute every reports (goals)
List<MojoDescriptor> mojoDescriptors = pluginDescriptor.getMojos();
for ( MojoDescriptor mojoDescriptor : mojoDescriptors )
{
@@ -218,6 +211,7 @@ public class DefaultMavenReportExecutor
}
}
+ List<MavenReportExecution> reports = new ArrayList<MavenReportExecution>();
for ( Entry<String, PlexusConfiguration> entry : goalsWithConfiguration.entrySet() )
{
MojoDescriptor mojoDescriptor = pluginDescriptor.getMojo( entry.getKey() );
@@ -291,6 +285,8 @@ public class DefaultMavenReportExecutor
reports.add( mavenReportExecution );
}
}
+
+ return reports;
}
private boolean canGenerateReport( MavenReport mavenReport, MojoExecution mojoExecution )
@@ -456,7 +452,7 @@ public class DefaultMavenReportExecutor
* @return the report plugin version
* @throws PluginVersionResolutionException
*/
- protected String getPluginVersion( ReportPlugin reportPlugin, MavenReportExecutorRequest mavenReportExecutorRequest )
+ protected String resolvePluginVersion( ReportPlugin reportPlugin, MavenReportExecutorRequest mavenReportExecutorRequest )
throws PluginVersionResolutionException
{
String reportPluginKey = reportPlugin.getGroupId() + ':' + reportPlugin.getArtifactId();
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=1465271&r1=1465270&r2=1465271&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 Sat Apr 6 16:42:32 2013
@@ -24,11 +24,9 @@ import org.apache.maven.execution.MavenS
import org.apache.maven.project.MavenProject;
/**
- * <p>
- * Bean which contains necessary informations for build {@link MavenReportExecution}
- * with {@link MavenReportExecutor}.
- * The goal is to store some informations regarding the current Maven execution.
- * </p>
+ * Bean which contains necessary informations to build {@link MavenReportExecution} with {@link MavenReportExecutor}.
+ * The goal is to store some informations regarding the current Maven execution.
+ *
* @author Olivier Lamy
* @version $Id$
*/
@@ -81,5 +79,4 @@ public class MavenReportExecutorRequest
{
this.reportPlugins = reportPlugins;
}
-
}
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=1465271&r1=1465270&r2=1465271&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 Sat Apr 6 16:42:32 2013
@@ -27,14 +27,11 @@ import org.apache.maven.model.Plugin;
import org.codehaus.plexus.configuration.PlexusConfiguration;
/**
- * <p>
* Represents a reporting plugin and its executions. It basically contains similar informations
- * as a {@link Plugin} but in order to decoupled reporting stuff from core some values are copied.
- * </p>
+ * as a {@link Plugin}, but in order to decouple reporting stuff from core, some values are copied.
*/
public class ReportPlugin
{
-
private String groupId = "org.apache.maven.plugins";
private String artifactId;
@@ -111,7 +108,4 @@ public class ReportPlugin
{
this.reports = reports;
}
-
-
-
}
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=1465271&r1=1465270&r2=1465271&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 Sat Apr 6 16:42:32 2013
@@ -25,7 +25,7 @@ import java.util.List;
import org.codehaus.plexus.configuration.PlexusConfiguration;
/**
- * Represents a set of reports and configuration to be used to generate them.
+ * Represents a set of reports and a configuration to be used to generate them.
*/
public class ReportSet
{
Modified: maven/shared/trunk/maven-reporting-exec/src/site/apt/index.apt
URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-reporting-exec/src/site/apt/index.apt?rev=1465271&r1=1465270&r2=1465271&view=diff
==============================================================================
--- maven/shared/trunk/maven-reporting-exec/src/site/apt/index.apt (original)
+++ maven/shared/trunk/maven-reporting-exec/src/site/apt/index.apt Sat Apr 6 16:42:32 2013
@@ -33,9 +33,9 @@ Maven Reporting Executor
+----
Notice: this is the model from plugins in <<<\<reporting\>>>> section of POM without <<<\<inherited\>>>> element
- and with <<<\<reports\>>>> list that simplifies reports configuration in usual cases.
+ and with immediate <<<\<reports\>>>> list (ie not in <<<\<reportSet\>>>>) that simplifies reports configuration in usual cases.
Maven 3 core makes an automatic transformation of <<<\<reporting\>>>> POM section to <<<maven-site-plugin>>>
configuration through the
{{{http://maven.apache.org/ref/current/maven-model-builder/apidocs/org/apache/maven/model/plugin/ReportingConverter.html}ReportingConverter}}
- component.
\ No newline at end of file
+ component.