Author: vmassol
Date: Wed Dec 21 10:57:58 2005
New Revision: 358345

URL: http://svn.apache.org/viewcvs?rev=358345&view=rev
Log:
MCLOVER-13: Check artifact language (do not execute clover on non-java projects)

Modified:
    
maven/plugins/trunk/maven-clover-plugin/src/main/java/org/apache/maven/plugin/clover/CloverInstrumentMojo.java
    
maven/plugins/trunk/maven-clover-plugin/src/main/java/org/apache/maven/plugin/clover/CloverReportMojo.java

Modified: 
maven/plugins/trunk/maven-clover-plugin/src/main/java/org/apache/maven/plugin/clover/CloverInstrumentMojo.java
URL: 
http://svn.apache.org/viewcvs/maven/plugins/trunk/maven-clover-plugin/src/main/java/org/apache/maven/plugin/clover/CloverInstrumentMojo.java?rev=358345&r1=358344&r2=358345&view=diff
==============================================================================
--- 
maven/plugins/trunk/maven-clover-plugin/src/main/java/org/apache/maven/plugin/clover/CloverInstrumentMojo.java
 (original)
+++ 
maven/plugins/trunk/maven-clover-plugin/src/main/java/org/apache/maven/plugin/clover/CloverInstrumentMojo.java
 Wed Dec 21 10:57:58 2005
@@ -19,6 +19,7 @@
 import com.cenqua.clover.CloverInstr;
 import org.apache.maven.artifact.Artifact;
 import org.apache.maven.artifact.factory.ArtifactFactory;
+import org.apache.maven.artifact.handler.ArtifactHandler;
 import org.apache.maven.plugin.MojoExecutionException;
 import org.apache.maven.project.MavenProject;
 
@@ -85,9 +86,7 @@
     public void execute()
         throws MojoExecutionException
     {
-        // Do not perform anything if there are no source files
-        File srcDir = new File(this.project.getBuild().getSourceDirectory());
-        if (srcDir.exists())
+        if ( shouldExecute() )
         {
             init();
             registerLicenseFile();
@@ -96,12 +95,30 @@
             addCloverDependencyToCompileClasspath();
             redirectOutputDirectories();
         }
-        else
+    }
+
+    private boolean shouldExecute()
+    {
+        boolean shouldExecute = true;
+        
+        // Only execute reports for java projects
+        ArtifactHandler artifactHandler = 
this.project.getArtifact().getArtifactHandler();
+        File srcDir = new File(this.project.getBuild().getSourceDirectory());
+
+        if ( !"java".equals( artifactHandler.getLanguage() ) )
+        {
+            getLog().debug( "Not executing Clover as this is not a Java 
project." );
+            shouldExecute = false;
+        }
+        else if ( !srcDir.exists() )
         {
             getLog().debug("No sources found - No Clover instrumentation 
done");
+            shouldExecute = false;
         }
-    }
 
+        return shouldExecute;
+    }
+    
     private void instrumentSources() throws MojoExecutionException
     {
         int result = CloverInstr.mainImpl( createCliArgs() );

Modified: 
maven/plugins/trunk/maven-clover-plugin/src/main/java/org/apache/maven/plugin/clover/CloverReportMojo.java
URL: 
http://svn.apache.org/viewcvs/maven/plugins/trunk/maven-clover-plugin/src/main/java/org/apache/maven/plugin/clover/CloverReportMojo.java?rev=358345&r1=358344&r2=358345&view=diff
==============================================================================
--- 
maven/plugins/trunk/maven-clover-plugin/src/main/java/org/apache/maven/plugin/clover/CloverReportMojo.java
 (original)
+++ 
maven/plugins/trunk/maven-clover-plugin/src/main/java/org/apache/maven/plugin/clover/CloverReportMojo.java
 Wed Dec 21 10:57:58 2005
@@ -17,6 +17,8 @@
  */
 
 import com.cenqua.clover.reporters.html.HtmlReporter;
+
+import org.apache.maven.artifact.handler.ArtifactHandler;
 import org.apache.maven.plugin.MojoExecutionException;
 import org.apache.maven.project.MavenProject;
 import org.apache.maven.reporting.AbstractMavenReport;
@@ -75,6 +77,14 @@
     public void executeReport( Locale locale )
         throws MavenReportException
     {
+        // Only execute reports for java projects
+        ArtifactHandler artifactHandler = 
this.project.getArtifact().getArtifactHandler();
+        if ( !"java".equals( artifactHandler.getLanguage() ) )
+        {
+            getLog().debug( "Not generating a Clover report as this is not a 
Java project." );
+            return;
+        }
+        
         int result = HtmlReporter.mainImpl( createCliArgs() );
         if ( result != 0 )
         {


Reply via email to