Author: vmassol Date: Wed Dec 21 10:34:32 2005 New Revision: 358338 URL: http://svn.apache.org/viewcvs?rev=358338&view=rev Log: MCLOVER-14: http://jira.codehaus.org/browse/MCLOVER-14
Modified: maven/plugins/trunk/maven-clover-plugin/src/main/java/org/apache/maven/plugin/clover/CloverInstrumentMojo.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=358338&r1=358337&r2=358338&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:34:32 2005 @@ -85,19 +85,34 @@ public void execute() throws MojoExecutionException { - init(); - - registerLicenseFile(); + // Do not perform anything if there are no source files + File srcDir = new File(this.project.getBuild().getSourceDirectory()); + if (srcDir.exists()) + { + init(); + registerLicenseFile(); + instrumentSources(); + addGeneratedSourcesToCompileRoots(); + addCloverDependencyToCompileClasspath(); + redirectOutputDirectories(); + } + else + { + getLog().debug("No sources found - No Clover instrumentation done"); + } + } + private void instrumentSources() throws MojoExecutionException + { int result = CloverInstr.mainImpl( createCliArgs() ); if ( result != 0 ) { throw new MojoExecutionException( "Clover has failed to instrument the source files" ); } + } - addGeneratedSourcesToCompileRoots(); - addCloverDependencyToCompileClasspath(); - + private void redirectOutputDirectories() + { // Explicitely set the output directory to be the Clover one so that all other plugins executing // thereafter output files in the Clover output directory and not in the main output directory. this.project.getBuild().setDirectory( this.cloverOutputDirectory ); @@ -108,7 +123,7 @@ this.project.getBuild().setTestOutputDirectory( new File( this.cloverOutputDirectory, "test-classes" ).getPath() ); } - + /** * @todo handle multiple source roots. At the moment only the first source root is instrumented */