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 ) {