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/09/28 23:26:46 UTC

svn commit: r819739 - in /maven/plugins/branches/maven-site-plugin-3.x/src: it/no-version/ it/no-version/pom.xml main/java/org/apache/maven/plugins/site/DefaultMavenReportExecutor.java main/java/org/apache/maven/plugins/site/SiteMojo.java

Author: olamy
Date: Mon Sep 28 21:26:42 2009
New Revision: 819739

URL: http://svn.apache.org/viewvc?rev=819739&view=rev
Log:
handle report plugin without any version.

Added:
    maven/plugins/branches/maven-site-plugin-3.x/src/it/no-version/
      - copied from r819418, maven/plugins/branches/maven-site-plugin-3.x/src/it/surefire-report/
Modified:
    maven/plugins/branches/maven-site-plugin-3.x/src/it/no-version/pom.xml
    maven/plugins/branches/maven-site-plugin-3.x/src/main/java/org/apache/maven/plugins/site/DefaultMavenReportExecutor.java
    maven/plugins/branches/maven-site-plugin-3.x/src/main/java/org/apache/maven/plugins/site/SiteMojo.java

Modified: maven/plugins/branches/maven-site-plugin-3.x/src/it/no-version/pom.xml
URL: http://svn.apache.org/viewvc/maven/plugins/branches/maven-site-plugin-3.x/src/it/no-version/pom.xml?rev=819739&r1=819418&r2=819739&view=diff
==============================================================================
--- maven/plugins/branches/maven-site-plugin-3.x/src/it/no-version/pom.xml (original)
+++ maven/plugins/branches/maven-site-plugin-3.x/src/it/no-version/pom.xml Mon Sep 28 21:26:42 2009
@@ -30,7 +30,6 @@
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-surefire-report-plugin</artifactId>
-        <version>2.4.3</version>
       </plugin>
     </plugins>
   </reporting>

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=819739&r1=819738&r2=819739&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 Mon Sep 28 21:26:42 2009
@@ -38,6 +38,11 @@
 import org.apache.maven.plugin.PluginContainerException;
 import org.apache.maven.plugin.descriptor.MojoDescriptor;
 import org.apache.maven.plugin.descriptor.PluginDescriptor;
+import org.apache.maven.plugin.version.DefaultPluginVersionRequest;
+import org.apache.maven.plugin.version.PluginVersionRequest;
+import org.apache.maven.plugin.version.PluginVersionResolutionException;
+import org.apache.maven.plugin.version.PluginVersionResolver;
+import org.apache.maven.plugin.version.PluginVersionResult;
 import org.apache.maven.reporting.MavenReport;
 import org.codehaus.plexus.component.annotations.Component;
 import org.codehaus.plexus.component.annotations.Requirement;
@@ -64,11 +69,18 @@
 
     @Requirement
     protected LifecycleExecutor lifecycleExecutor;
+    
+    @Requirement
+    protected PluginVersionResolver pluginVersionResolver;
 
     public List<MavenReportExecution> buildMavenReports( MavenReportExecutorRequest mavenReportExecutorRequest )
         throws MojoExecutionException
     {
 
+        if (getLog().isDebugEnabled())
+        {
+            getLog().debug( "buildMavenReports" );
+        }
         List<String> imports = new ArrayList<String>();
 
         imports.add( "org.apache.maven.reporting.MavenReport" );
@@ -97,7 +109,7 @@
                 Plugin plugin = new Plugin();
                 plugin.setGroupId( reportPlugin.getGroupId() );
                 plugin.setArtifactId( reportPlugin.getArtifactId() );
-                plugin.setVersion( reportPlugin.getVersion() );
+                plugin.setVersion( getPluginVersion (reportPlugin, repositoryRequest ) );
 
                 if (logger.isInfoEnabled())
                 {
@@ -329,4 +341,38 @@
     {
         return logger;
     }
+    
+    protected String getPluginVersion( ReportPlugin reportPlugin, RepositoryRequest repositoryRequest )
+        throws PluginVersionResolutionException
+    {
+        if ( getLog().isDebugEnabled() )
+        {
+            getLog().debug( "resolving version for " + reportPlugin.getGroupId() + ":" + reportPlugin.getArtifactId() );
+        }
+        if ( reportPlugin.getVersion() != null )
+        {
+            return reportPlugin.getVersion();
+        }
+        logger.warn( "report plugin " + reportPlugin.getGroupId() + ":" + reportPlugin.getArtifactId()
+            + " has an empty version" );
+        logger.warn( "" );
+        logger.warn( "It is highly recommended to fix these problems"
+            + " because they threaten the stability of your build." );
+        logger.warn( "" );
+        logger.warn( "For this reason, future Maven versions might no"
+            + " longer support building such malformed projects." );
+        logger.warn( "" );
+
+        PluginVersionRequest pluginVersionRequest = new DefaultPluginVersionRequest( repositoryRequest );
+        pluginVersionRequest.setGroupId( reportPlugin.getGroupId() );
+        pluginVersionRequest.setArtifactId( reportPlugin.getArtifactId() );
+        PluginVersionResult result = pluginVersionResolver.resolve( pluginVersionRequest );
+        if ( getLog().isDebugEnabled() )
+        {
+            getLog().debug(
+                            "resolving version " + result.getVersion() + " for " + reportPlugin.getGroupId() + ":"
+                                + reportPlugin.getArtifactId() );
+        }
+        return result.getVersion();
+    }
 }

Modified: maven/plugins/branches/maven-site-plugin-3.x/src/main/java/org/apache/maven/plugins/site/SiteMojo.java
URL: http://svn.apache.org/viewvc/maven/plugins/branches/maven-site-plugin-3.x/src/main/java/org/apache/maven/plugins/site/SiteMojo.java?rev=819739&r1=819738&r2=819739&view=diff
==============================================================================
--- maven/plugins/branches/maven-site-plugin-3.x/src/main/java/org/apache/maven/plugins/site/SiteMojo.java (original)
+++ maven/plugins/branches/maven-site-plugin-3.x/src/main/java/org/apache/maven/plugins/site/SiteMojo.java Mon Sep 28 21:26:42 2009
@@ -76,6 +76,10 @@
     public void execute()
         throws MojoExecutionException, MojoFailureException
     {
+        if ( getLog().isDebugEnabled() )
+        {
+            getLog().debug( "executing Site Mojo" );
+        }
 
         List<MavenReportExecution> filteredReports; 
         if ( generateReports )