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 2009/08/29 15:12:15 UTC
svn commit: r809128 - in /maven/plugins/branches/maven-site-plugin-3.x: ./
src/main/java/org/apache/maven/plugins/site/
Author: olamy
Date: Sat Aug 29 13:12:14 2009
New Revision: 809128
URL: http://svn.apache.org/viewvc?rev=809128&view=rev
Log:
move the new report logic to a componenent for easy debug (at least more human readable code :-).
Start working on report which fork a lifecycle : surefire-report it now works.
Added:
maven/plugins/branches/maven-site-plugin-3.x/src/main/java/org/apache/maven/plugins/site/DefaultMavenReportExecutor.java (with props)
maven/plugins/branches/maven-site-plugin-3.x/src/main/java/org/apache/maven/plugins/site/MavenReportExecutor.java (with props)
maven/plugins/branches/maven-site-plugin-3.x/src/main/java/org/apache/maven/plugins/site/MavenReportExecutorRequest.java (with props)
Modified:
maven/plugins/branches/maven-site-plugin-3.x/pom.xml
maven/plugins/branches/maven-site-plugin-3.x/src/main/java/org/apache/maven/plugins/site/AbstractSiteRenderingMojo.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=809128&r1=809127&r2=809128&view=diff
==============================================================================
--- maven/plugins/branches/maven-site-plugin-3.x/pom.xml (original)
+++ maven/plugins/branches/maven-site-plugin-3.x/pom.xml Sat Aug 29 13:12:14 2009
@@ -159,6 +159,7 @@
<doxiaSitetoolsVersion>1.1.2-SNAPSHOT</doxiaSitetoolsVersion>
<mavenVersion>3.0-SNAPSHOT</mavenVersion>
<wagonVersion>1.0-beta-4</wagonVersion>
+ <plexusVersion>1.2.1-SNAPSHOT</plexusVersion>
</properties>
<dependencies>
@@ -286,7 +287,7 @@
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-container-default</artifactId>
- <version>1.2.0</version>
+ <version>${plexusVersion}</version>
</dependency>
<dependency>
<groupId>org.codehaus.plexus</groupId>
@@ -345,6 +346,21 @@
</plugin>
</plugins>
</pluginManagement>
+ <plugins>
+ <plugin>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-component-metadata</artifactId>
+ <version>${plexusVersion}</version>
+ <executions>
+ <execution>
+ <goals>
+ <goal>generate-metadata</goal>
+ <!--goal>generate-test-metadata</goal-->
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
</build>
<reporting>
@@ -500,6 +516,14 @@
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.4</version>
+ <dependencies>
+ <!-- MSHARED-125 -->
+ <dependency>
+ <groupId>org.apache.maven.shared</groupId>
+ <artifactId>maven-filtering</artifactId>
+ <version>1.0-beta-4-SNAPSHOT</version>
+ </dependency>
+ </dependencies>
</plugin>
</plugins>
</pluginManagement>
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=809128&r1=809127&r2=809128&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 Sat Aug 29 13:12:14 2009
@@ -32,8 +32,6 @@
import org.apache.maven.artifact.factory.ArtifactFactory;
import org.apache.maven.artifact.repository.ArtifactRepository;
-import org.apache.maven.artifact.repository.DefaultRepositoryRequest;
-import org.apache.maven.artifact.repository.RepositoryRequest;
import org.apache.maven.artifact.resolver.ArtifactResolver;
import org.apache.maven.doxia.sink.render.RenderingContext;
import org.apache.maven.doxia.site.decoration.DecorationModel;
@@ -44,22 +42,11 @@
import org.apache.maven.doxia.siterenderer.SiteRenderingContext;
import org.apache.maven.doxia.tools.SiteToolException;
import org.apache.maven.execution.MavenSession;
-import org.apache.maven.model.Plugin;
-import org.apache.maven.model.ReportPlugin;
-import org.apache.maven.model.ReportSet;
-import org.apache.maven.plugin.MavenPluginManager;
-import org.apache.maven.plugin.Mojo;
-import org.apache.maven.plugin.MojoExecution;
import org.apache.maven.plugin.MojoExecutionException;
import org.apache.maven.plugin.MojoFailureException;
-import org.apache.maven.plugin.MojoNotFoundException;
-import org.apache.maven.plugin.descriptor.MojoDescriptor;
-import org.apache.maven.plugin.descriptor.PluginDescriptor;
import org.apache.maven.project.MavenProject;
import org.apache.maven.reporting.MavenReport;
import org.codehaus.plexus.PlexusContainer;
-import org.codehaus.plexus.configuration.PlexusConfiguration;
-import org.codehaus.plexus.util.xml.Xpp3Dom;
/**
* Base class for site rendering mojos.
@@ -199,199 +186,38 @@
*/
protected PlexusContainer plexusContainer;
- /**
- *
- * @component
- * @readonly
- */
- protected MavenPluginManager mavenPluginManager;
-
- protected Map<MavenReport, ClassLoader> getReports() throws MojoExecutionException
- {
- if ( this.project.getReporting() == null || this.project.getReporting().getPlugins().isEmpty() )
- {
- return Collections.emptyMap();
- }
- return buildMavenReports();
- }
-
- private Xpp3Dom convert( MojoDescriptor mojoDescriptor )
- {
- Xpp3Dom dom = new Xpp3Dom( "configuration" );
-
- PlexusConfiguration c = mojoDescriptor.getMojoConfiguration();
+ /**
+ *
+ * @component
+ * @readonly
+ */
+ protected MavenReportExecutor mavenReportExecutor;
- PlexusConfiguration[] ces = c.getChildren();
-
- if ( ces != null )
- {
- for ( PlexusConfiguration ce : ces )
- {
- String value = ce.getValue( null );
- String defaultValue = ce.getAttribute( "default-value", null );
- if ( value != null || defaultValue != null )
- {
- Xpp3Dom e = new Xpp3Dom( ce.getName() );
- e.setValue( value );
- if ( defaultValue != null )
- {
- e.setAttribute( "default-value", defaultValue );
- }
- dom.addChild( e );
- }
- }
- }
-
- return dom;
- }
-
- private Map<MavenReport, ClassLoader> buildMavenReports()
+ protected Map<MavenReport, ClassLoader> getReports()
throws MojoExecutionException
{
- List<String> imports = new ArrayList<String>();
-
-
- imports.add( "org.apache.maven.reporting.MavenReport" );
- //imports.add( "org.apache.maven.reporting.AbstractMavenReport" );
- imports.add( "org.apache.maven.doxia.siterenderer.Renderer" );
- imports.add( "org.apache.maven.doxia.sink.SinkFactory" );
- imports.add( "org.codehaus.doxia.sink.Sink" );
- imports.add( "org.apache.maven.doxia.sink.Sink" );
- imports.add( "org.apache.maven.doxia.sink.SinkEventAttributes" );
-
- /*
- imports.add( "org.codehaus.plexus.util.xml.Xpp3Dom" );
- imports.add( "org.codehaus.plexus.util.xml.pull.XmlPullParser" );
- imports.add( "org.codehaus.plexus.util.xml.pull.XmlPullParserException" );
- imports.add( "org.codehaus.plexus.util.xml.pull.XmlSerializer" );
- */
-
- RepositoryRequest repositoryRequest = new DefaultRepositoryRequest();
- repositoryRequest.setLocalRepository( localRepository );
- repositoryRequest.setRemoteRepositories( mavenSession.getRequest().getRemoteRepositories() );
-
- try
- {
-
- Map<MavenReport, ClassLoader> reports = new HashMap<MavenReport, ClassLoader>();
-
- for ( ReportPlugin reportPlugin : this.project.getReporting().getPlugins() )
- {
- Plugin plugin = new Plugin();
- plugin.setGroupId( reportPlugin.getGroupId() );
- plugin.setArtifactId( reportPlugin.getArtifactId() );
- plugin.setVersion( reportPlugin.getVersion() );
-
- List<String> goals = new ArrayList<String>();
- for ( ReportSet reportSet : reportPlugin.getReportSets() )
- {
- goals.addAll( reportSet.getReports() );
- }
- // no report set we will execute all from the report plugin
- boolean emptyReports = goals.isEmpty();
-
- PluginDescriptor pluginDescriptor = mavenPluginManager.getPluginDescriptor( plugin, repositoryRequest );
-
- if (emptyReports)
- {
- List<MojoDescriptor> mojoDescriptors = pluginDescriptor.getMojos();
- for (MojoDescriptor mojoDescriptor : mojoDescriptors)
- {
- goals.add( mojoDescriptor.getGoal() );
- }
- }
-
- for ( String goal : goals )
- {
- MojoDescriptor mojoDescriptor = pluginDescriptor.getMojo( goal );
- if ( mojoDescriptor == null )
- {
- throw new MojoNotFoundException( goal, pluginDescriptor );
- }
-
- MojoExecution mojoExecution = new MojoExecution( plugin, goal, "report:" + goal );
- mojoExecution.setConfiguration( convert( mojoDescriptor ) );
- mojoExecution.setMojoDescriptor( mojoDescriptor );
- mavenPluginManager.setupPluginRealm( pluginDescriptor, mavenSession, Thread.currentThread().getContextClassLoader(), imports );
- MavenReport mavenReport = getConfiguredMavenReport( mojoExecution, pluginDescriptor );
- if (mavenReport != null)
- {
- reports.put( mavenReport, pluginDescriptor.getClassRealm() );
- }
- }
- }
- return reports;
- }
- catch ( Throwable e )
- {
- throw new MojoExecutionException( "failed to get Reports ", e );
- }
- }
-
- private MavenReport getConfiguredMavenReport( MojoExecution mojoExecution, PluginDescriptor pluginDescriptor )
- throws Throwable
- {
- if ( !isMavenReport( mojoExecution, pluginDescriptor ) )
- {
- return null;
- }
- try
- {
- // FIXME here we need something to prevent MJAVADOC-251 config injection order can be different from mvn < 3.x
- MavenReport mavenReport =
- (MavenReport) mavenPluginManager.getConfiguredMojo( Mojo.class, this.mavenSession, mojoExecution );
- return mavenReport;
-
- } catch (ClassCastException e)
- {
- getLog().warn( "skip ClassCastException " + e.getMessage() );
- return null;
- }
- catch ( Throwable e )
+ if ( this.project.getReporting() == null || this.project.getReporting().getPlugins().isEmpty() )
{
- getLog().error( "error configuring mojo " + mojoExecution.toString() + " : " + e.getMessage() , e);
- throw e;
+ return Collections.emptyMap();
}
+ MavenReportExecutorRequest mavenReportExecutorRequest = new MavenReportExecutorRequest();
+ mavenReportExecutorRequest.setLocalRepository( localRepository );
+ mavenReportExecutorRequest.setMavenSession( mavenSession );
+ mavenReportExecutorRequest.setProject( project );
+ return mavenReportExecutor.buildMavenReports( mavenReportExecutorRequest );
}
- private boolean isMavenReport( MojoExecution mojoExecution, PluginDescriptor pluginDescriptor )
- {
- ClassLoader originalClassLoader = Thread.currentThread().getContextClassLoader();
- try
- {
- MojoDescriptor mojoDescriptor = pluginDescriptor.getMojo( mojoExecution.getGoal() );
- Thread.currentThread().setContextClassLoader( mojoDescriptor.getRealm() );
- boolean isMavenReport = MavenReport.class.isAssignableFrom( mojoDescriptor.getImplementationClass() );
- if (!isMavenReport)
- {
- getLog().info( " skip non MavenReport " + mojoExecution.getMojoDescriptor().getId() );
- }
- return isMavenReport;
- }
- catch ( LinkageError e )
- {
- getLog().warn( "skip LinkageError mojoExecution.goal" + mojoExecution.getGoal() + " : " + e.getMessage(), e );
- //pluginRealm.display();
- return false;
- }
- finally
- {
- Thread.currentThread().setContextClassLoader( originalClassLoader );
- }
-
- }
-
protected Map<MavenReport, ClassLoader> filterReports( Map<MavenReport, ClassLoader> reports )
{
- Map<MavenReport, ClassLoader> filteredReports = new HashMap<MavenReport, ClassLoader>();
+ Map<MavenReport, ClassLoader> filteredReports = new HashMap<MavenReport, ClassLoader>();
for ( MavenReport report : reports.keySet() )
{
- //noinspection ErrorNotRethrown,UnusedCatchParameter
+ // noinspection ErrorNotRethrown,UnusedCatchParameter
try
{
if ( report.canGenerateReport() )
{
- filteredReports.put( report, reports.get(report) );
+ filteredReports.put( report, reports.get( report ) );
}
}
catch ( AbstractMethodError e )
@@ -403,7 +229,7 @@
getLog().warn(
"Error loading report " + report.getClass().getName()
+ " - AbstractMethodError: canGenerateReport()" );
- filteredReports.put( report, reports.get(report) );
+ filteredReports.put( report, reports.get( report ) );
}
}
return filteredReports;
Added: 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=809128&view=auto
==============================================================================
--- maven/plugins/branches/maven-site-plugin-3.x/src/main/java/org/apache/maven/plugins/site/DefaultMavenReportExecutor.java (added)
+++ maven/plugins/branches/maven-site-plugin-3.x/src/main/java/org/apache/maven/plugins/site/DefaultMavenReportExecutor.java Sat Aug 29 13:12:14 2009
@@ -0,0 +1,235 @@
+package org.apache.maven.plugins.site;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.maven.artifact.repository.DefaultRepositoryRequest;
+import org.apache.maven.artifact.repository.RepositoryRequest;
+import org.apache.maven.lifecycle.LifecycleExecutor;
+import org.apache.maven.model.Plugin;
+import org.apache.maven.model.ReportPlugin;
+import org.apache.maven.model.ReportSet;
+import org.apache.maven.plugin.MavenPluginManager;
+import org.apache.maven.plugin.Mojo;
+import org.apache.maven.plugin.MojoExecution;
+import org.apache.maven.plugin.MojoExecutionException;
+import org.apache.maven.plugin.MojoNotFoundException;
+import org.apache.maven.plugin.descriptor.MojoDescriptor;
+import org.apache.maven.plugin.descriptor.PluginDescriptor;
+import org.apache.maven.reporting.MavenReport;
+import org.codehaus.plexus.component.annotations.Component;
+import org.codehaus.plexus.component.annotations.Requirement;
+import org.codehaus.plexus.configuration.PlexusConfiguration;
+import org.codehaus.plexus.logging.Logger;
+import org.codehaus.plexus.util.xml.Xpp3Dom;
+
+/**
+ *
+ * @author Olivier Lamy
+ * @since 3.0-beta-1
+ */
+@Component(role=MavenReportExecutor.class)
+public class DefaultMavenReportExecutor
+ implements MavenReportExecutor
+{
+
+ @Requirement
+ private Logger logger;
+
+ @Requirement
+ protected MavenPluginManager mavenPluginManager;
+
+ @Requirement
+ protected LifecycleExecutor lifecycleExecutor;
+
+ public Map<MavenReport, ClassLoader> buildMavenReports( MavenReportExecutorRequest mavenReportExecutorRequest )
+ throws MojoExecutionException
+ {
+
+ List<String> imports = new ArrayList<String>();
+
+ imports.add( "org.apache.maven.reporting.MavenReport" );
+ // imports.add( "org.apache.maven.reporting.AbstractMavenReport" );
+ imports.add( "org.apache.maven.doxia.siterenderer.Renderer" );
+ imports.add( "org.apache.maven.doxia.sink.SinkFactory" );
+ imports.add( "org.codehaus.doxia.sink.Sink" );
+ imports.add( "org.apache.maven.doxia.sink.Sink" );
+ imports.add( "org.apache.maven.doxia.sink.SinkEventAttributes" );
+
+ /*
+ * imports.add( "org.codehaus.plexus.util.xml.Xpp3Dom" ); imports.add(
+ * "org.codehaus.plexus.util.xml.pull.XmlPullParser" ); imports.add(
+ * "org.codehaus.plexus.util.xml.pull.XmlPullParserException" ); imports.add(
+ * "org.codehaus.plexus.util.xml.pull.XmlSerializer" );
+ */
+
+ RepositoryRequest repositoryRequest = new DefaultRepositoryRequest();
+ repositoryRequest.setLocalRepository( mavenReportExecutorRequest.getLocalRepository() );
+ repositoryRequest.setRemoteRepositories( mavenReportExecutorRequest.getMavenSession().getRequest().getRemoteRepositories() );
+
+ try
+ {
+
+ Map<MavenReport, ClassLoader> reports = new HashMap<MavenReport, ClassLoader>();
+
+ for ( ReportPlugin reportPlugin : mavenReportExecutorRequest.getProject().getReporting().getPlugins() )
+ {
+ Plugin plugin = new Plugin();
+ plugin.setGroupId( reportPlugin.getGroupId() );
+ plugin.setArtifactId( reportPlugin.getArtifactId() );
+ plugin.setVersion( reportPlugin.getVersion() );
+
+ List<String> goals = new ArrayList<String>();
+ for ( ReportSet reportSet : reportPlugin.getReportSets() )
+ {
+ goals.addAll( reportSet.getReports() );
+ }
+ // no report set we will execute all from the report plugin
+ boolean emptyReports = goals.isEmpty();
+
+ PluginDescriptor pluginDescriptor = mavenPluginManager.getPluginDescriptor( plugin, repositoryRequest );
+
+ if ( emptyReports )
+ {
+ List<MojoDescriptor> mojoDescriptors = pluginDescriptor.getMojos();
+ for ( MojoDescriptor mojoDescriptor : mojoDescriptors )
+ {
+ goals.add( mojoDescriptor.getGoal() );
+ }
+ }
+
+ for ( String goal : goals )
+ {
+ MojoDescriptor mojoDescriptor = pluginDescriptor.getMojo( goal );
+ if ( mojoDescriptor == null )
+ {
+ throw new MojoNotFoundException( goal, pluginDescriptor );
+ }
+
+ MojoExecution mojoExecution = new MojoExecution( plugin, goal, "report:" + goal );
+ mojoExecution.setConfiguration( convert( mojoDescriptor ) );
+ mojoExecution.setMojoDescriptor( mojoDescriptor );
+ mavenPluginManager.setupPluginRealm( pluginDescriptor,
+ mavenReportExecutorRequest.getMavenSession(),
+ Thread.currentThread().getContextClassLoader(), imports );
+
+ lifecycleExecutor.calculateForkedExecutions( mojoExecution,
+ mavenReportExecutorRequest.getMavenSession() );
+ if ( !mojoExecution.getForkedExecutions().isEmpty() )
+ {
+ lifecycleExecutor.executeForkedExecutions( mojoExecution,
+ mavenReportExecutorRequest.getMavenSession() );
+ }
+
+ MavenReport mavenReport =
+ getConfiguredMavenReport( mojoExecution, pluginDescriptor, mavenReportExecutorRequest );
+ if ( mavenReport != null )
+ {
+ reports.put( mavenReport, pluginDescriptor.getClassRealm() );
+ }
+ }
+ }
+ return reports;
+ }
+ catch ( Throwable e )
+ {
+ throw new MojoExecutionException( "failed to get Reports ", e );
+ }
+ }
+
+ private MavenReport getConfiguredMavenReport( MojoExecution mojoExecution, PluginDescriptor pluginDescriptor,
+ MavenReportExecutorRequest mavenReportExecutorRequest )
+ throws Throwable
+ {
+ if ( !isMavenReport( mojoExecution, pluginDescriptor ) )
+ {
+ return null;
+ }
+ try
+ {
+ // FIXME here we need something to prevent MJAVADOC-251 config injection order can be different from mvn <
+ // 3.x
+ MavenReport mavenReport =
+ (MavenReport) mavenPluginManager.getConfiguredMojo( Mojo.class,
+ mavenReportExecutorRequest.getMavenSession(),
+ mojoExecution );
+ return mavenReport;
+
+ }
+ catch ( ClassCastException e )
+ {
+ getLog().warn( "skip ClassCastException " + e.getMessage() );
+ return null;
+ }
+ catch ( Throwable e )
+ {
+ getLog().error( "error configuring mojo " + mojoExecution.toString() + " : " + e.getMessage(), e );
+ throw e;
+ }
+ }
+
+ private boolean isMavenReport( MojoExecution mojoExecution, PluginDescriptor pluginDescriptor )
+ {
+ ClassLoader originalClassLoader = Thread.currentThread().getContextClassLoader();
+ try
+ {
+ MojoDescriptor mojoDescriptor = pluginDescriptor.getMojo( mojoExecution.getGoal() );
+ Thread.currentThread().setContextClassLoader( mojoDescriptor.getRealm() );
+ boolean isMavenReport = MavenReport.class.isAssignableFrom( mojoDescriptor.getImplementationClass() );
+ if ( !isMavenReport )
+ {
+ getLog().info( " skip non MavenReport " + mojoExecution.getMojoDescriptor().getId() );
+ }
+ return isMavenReport;
+ }
+ catch ( LinkageError e )
+ {
+ getLog().warn( "skip LinkageError mojoExecution.goal" + mojoExecution.getGoal() + " : " + e.getMessage(),
+ e );
+ // pluginRealm.display();
+ return false;
+ }
+ finally
+ {
+ Thread.currentThread().setContextClassLoader( originalClassLoader );
+ }
+
+ }
+
+ private Xpp3Dom convert( MojoDescriptor mojoDescriptor )
+ {
+ Xpp3Dom dom = new Xpp3Dom( "configuration" );
+
+ PlexusConfiguration c = mojoDescriptor.getMojoConfiguration();
+
+ PlexusConfiguration[] ces = c.getChildren();
+
+ if ( ces != null )
+ {
+ for ( PlexusConfiguration ce : ces )
+ {
+ String value = ce.getValue( null );
+ String defaultValue = ce.getAttribute( "default-value", null );
+ if ( value != null || defaultValue != null )
+ {
+ Xpp3Dom e = new Xpp3Dom( ce.getName() );
+ e.setValue( value );
+ if ( defaultValue != null )
+ {
+ e.setAttribute( "default-value", defaultValue );
+ }
+ dom.addChild( e );
+ }
+ }
+ }
+
+ return dom;
+ }
+
+ private Logger getLog()
+ {
+ return logger;
+ }
+}
Propchange: maven/plugins/branches/maven-site-plugin-3.x/src/main/java/org/apache/maven/plugins/site/DefaultMavenReportExecutor.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/plugins/branches/maven-site-plugin-3.x/src/main/java/org/apache/maven/plugins/site/DefaultMavenReportExecutor.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Added: maven/plugins/branches/maven-site-plugin-3.x/src/main/java/org/apache/maven/plugins/site/MavenReportExecutor.java
URL: http://svn.apache.org/viewvc/maven/plugins/branches/maven-site-plugin-3.x/src/main/java/org/apache/maven/plugins/site/MavenReportExecutor.java?rev=809128&view=auto
==============================================================================
--- maven/plugins/branches/maven-site-plugin-3.x/src/main/java/org/apache/maven/plugins/site/MavenReportExecutor.java (added)
+++ maven/plugins/branches/maven-site-plugin-3.x/src/main/java/org/apache/maven/plugins/site/MavenReportExecutor.java Sat Aug 29 13:12:14 2009
@@ -0,0 +1,20 @@
+/**
+ *
+ */
+package org.apache.maven.plugins.site;
+
+import java.util.Map;
+
+import org.apache.maven.plugin.MojoExecutionException;
+import org.apache.maven.reporting.MavenReport;
+
+/**
+ *
+ * @author Olivier Lamy
+ * @since 3.0-beta-1
+ */
+public interface MavenReportExecutor
+{
+ Map<MavenReport, ClassLoader> buildMavenReports(MavenReportExecutorRequest mavenReportExecutorRequest)
+ throws MojoExecutionException;
+}
Propchange: maven/plugins/branches/maven-site-plugin-3.x/src/main/java/org/apache/maven/plugins/site/MavenReportExecutor.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/plugins/branches/maven-site-plugin-3.x/src/main/java/org/apache/maven/plugins/site/MavenReportExecutor.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Added: maven/plugins/branches/maven-site-plugin-3.x/src/main/java/org/apache/maven/plugins/site/MavenReportExecutorRequest.java
URL: http://svn.apache.org/viewvc/maven/plugins/branches/maven-site-plugin-3.x/src/main/java/org/apache/maven/plugins/site/MavenReportExecutorRequest.java?rev=809128&view=auto
==============================================================================
--- maven/plugins/branches/maven-site-plugin-3.x/src/main/java/org/apache/maven/plugins/site/MavenReportExecutorRequest.java (added)
+++ maven/plugins/branches/maven-site-plugin-3.x/src/main/java/org/apache/maven/plugins/site/MavenReportExecutorRequest.java Sat Aug 29 13:12:14 2009
@@ -0,0 +1,45 @@
+package org.apache.maven.plugins.site;
+
+import org.apache.maven.artifact.repository.ArtifactRepository;
+import org.apache.maven.execution.MavenSession;
+import org.apache.maven.project.MavenProject;
+
+public class MavenReportExecutorRequest
+{
+ private ArtifactRepository localRepository;
+
+ private MavenSession mavenSession;
+
+ private MavenProject project;
+
+ public ArtifactRepository getLocalRepository()
+ {
+ return localRepository;
+ }
+
+ public void setLocalRepository( ArtifactRepository localRepository )
+ {
+ this.localRepository = localRepository;
+ }
+
+ public MavenSession getMavenSession()
+ {
+ return mavenSession;
+ }
+
+ public void setMavenSession( MavenSession mavenSession )
+ {
+ this.mavenSession = mavenSession;
+ }
+
+ public MavenProject getProject()
+ {
+ return project;
+ }
+
+ public void setProject( MavenProject project )
+ {
+ this.project = project;
+ }
+
+}
Propchange: maven/plugins/branches/maven-site-plugin-3.x/src/main/java/org/apache/maven/plugins/site/MavenReportExecutorRequest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/plugins/branches/maven-site-plugin-3.x/src/main/java/org/apache/maven/plugins/site/MavenReportExecutorRequest.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision