Author: vmassol Date: Fri Jul 8 05:52:48 2005 New Revision: 209751 URL: http://svn.apache.org/viewcvs?rev=209751&view=rev Log: - Initial commit of the Clover plugin - The CloverCheckMojo still doesn't seem to work and report a coverage error when used in the simple sample. Not sure why yet - The CloverReportMojo doesn't work as mixed plugins do not seem to be supported yet.
Added: maven/components/trunk/maven-plugins/maven-clover/ maven/components/trunk/maven-plugins/maven-clover/maven-clover-plugin/ maven/components/trunk/maven-plugins/maven-clover/maven-clover-plugin-samples/ maven/components/trunk/maven-plugins/maven-clover/maven-clover-plugin-samples/maven-clover-plugin-sample-simple/ maven/components/trunk/maven-plugins/maven-clover/maven-clover-plugin-samples/maven-clover-plugin-sample-simple/pom.xml maven/components/trunk/maven-plugins/maven-clover/maven-clover-plugin-samples/maven-clover-plugin-sample-simple/src/ maven/components/trunk/maven-plugins/maven-clover/maven-clover-plugin-samples/maven-clover-plugin-sample-simple/src/main/ maven/components/trunk/maven-plugins/maven-clover/maven-clover-plugin-samples/maven-clover-plugin-sample-simple/src/main/java/ maven/components/trunk/maven-plugins/maven-clover/maven-clover-plugin-samples/maven-clover-plugin-sample-simple/src/main/java/org/ maven/components/trunk/maven-plugins/maven-clover/maven-clover-plugin-samples/maven-clover-plugin-sample-simple/src/main/java/org/apache/ maven/components/trunk/maven-plugins/maven-clover/maven-clover-plugin-samples/maven-clover-plugin-sample-simple/src/main/java/org/apache/maven/ maven/components/trunk/maven-plugins/maven-clover/maven-clover-plugin-samples/maven-clover-plugin-sample-simple/src/main/java/org/apache/maven/plugin/ maven/components/trunk/maven-plugins/maven-clover/maven-clover-plugin-samples/maven-clover-plugin-sample-simple/src/main/java/org/apache/maven/plugin/clover/ maven/components/trunk/maven-plugins/maven-clover/maven-clover-plugin-samples/maven-clover-plugin-sample-simple/src/main/java/org/apache/maven/plugin/clover/samples/ maven/components/trunk/maven-plugins/maven-clover/maven-clover-plugin-samples/maven-clover-plugin-sample-simple/src/main/java/org/apache/maven/plugin/clover/samples/simple/ maven/components/trunk/maven-plugins/maven-clover/maven-clover-plugin-samples/maven-clover-plugin-sample-simple/src/main/java/org/apache/maven/plugin/clover/samples/simple/Simple.java (with props) maven/components/trunk/maven-plugins/maven-clover/maven-clover-plugin-samples/maven-clover-plugin-sample-simple/src/test/ maven/components/trunk/maven-plugins/maven-clover/maven-clover-plugin-samples/maven-clover-plugin-sample-simple/src/test/java/ maven/components/trunk/maven-plugins/maven-clover/maven-clover-plugin-samples/maven-clover-plugin-sample-simple/src/test/java/org/ maven/components/trunk/maven-plugins/maven-clover/maven-clover-plugin-samples/maven-clover-plugin-sample-simple/src/test/java/org/apache/ maven/components/trunk/maven-plugins/maven-clover/maven-clover-plugin-samples/maven-clover-plugin-sample-simple/src/test/java/org/apache/maven/ maven/components/trunk/maven-plugins/maven-clover/maven-clover-plugin-samples/maven-clover-plugin-sample-simple/src/test/java/org/apache/maven/plugin/ maven/components/trunk/maven-plugins/maven-clover/maven-clover-plugin-samples/maven-clover-plugin-sample-simple/src/test/java/org/apache/maven/plugin/clover/ maven/components/trunk/maven-plugins/maven-clover/maven-clover-plugin-samples/maven-clover-plugin-sample-simple/src/test/java/org/apache/maven/plugin/clover/samples/ maven/components/trunk/maven-plugins/maven-clover/maven-clover-plugin-samples/maven-clover-plugin-sample-simple/src/test/java/org/apache/maven/plugin/clover/samples/simple/ maven/components/trunk/maven-plugins/maven-clover/maven-clover-plugin-samples/maven-clover-plugin-sample-simple/src/test/java/org/apache/maven/plugin/clover/samples/simple/SimpleTest.java (with props) maven/components/trunk/maven-plugins/maven-clover/maven-clover-plugin-samples/pom.xml maven/components/trunk/maven-plugins/maven-clover/maven-clover-plugin/pom.xml maven/components/trunk/maven-plugins/maven-clover/maven-clover-plugin/src/ maven/components/trunk/maven-plugins/maven-clover/maven-clover-plugin/src/main/ maven/components/trunk/maven-plugins/maven-clover/maven-clover-plugin/src/main/java/ maven/components/trunk/maven-plugins/maven-clover/maven-clover-plugin/src/main/java/org/ maven/components/trunk/maven-plugins/maven-clover/maven-clover-plugin/src/main/java/org/apache/ maven/components/trunk/maven-plugins/maven-clover/maven-clover-plugin/src/main/java/org/apache/maven/ maven/components/trunk/maven-plugins/maven-clover/maven-clover-plugin/src/main/java/org/apache/maven/plugin/ maven/components/trunk/maven-plugins/maven-clover/maven-clover-plugin/src/main/java/org/apache/maven/plugin/clover/ maven/components/trunk/maven-plugins/maven-clover/maven-clover-plugin/src/main/java/org/apache/maven/plugin/clover/AbstractCloverMojo.java (with props) maven/components/trunk/maven-plugins/maven-clover/maven-clover-plugin/src/main/java/org/apache/maven/plugin/clover/CloverCheckMojo.java (with props) maven/components/trunk/maven-plugins/maven-clover/maven-clover-plugin/src/main/java/org/apache/maven/plugin/clover/CloverInstrumentMojo.java (with props) maven/components/trunk/maven-plugins/maven-clover/maven-clover-plugin/src/main/java/org/apache/maven/plugin/clover/CloverReportMojo.java (with props) maven/components/trunk/maven-plugins/maven-clover/maven-clover-plugin/src/main/resources/ maven/components/trunk/maven-plugins/maven-clover/maven-clover-plugin/src/main/resources/META-INF/ maven/components/trunk/maven-plugins/maven-clover/maven-clover-plugin/src/main/resources/META-INF/maven/ maven/components/trunk/maven-plugins/maven-clover/maven-clover-plugin/src/main/resources/META-INF/maven/lifecycle.xml maven/components/trunk/maven-plugins/maven-clover/maven-clover-plugin/src/main/resources/META-INF/plexus/ maven/components/trunk/maven-plugins/maven-clover/maven-clover-plugin/src/main/resources/META-INF/plexus/components.xml maven/components/trunk/maven-plugins/maven-clover/maven-clover-plugin/src/main/resources/clover-report_en.properties maven/components/trunk/maven-plugins/maven-clover/maven-clover-plugin/src/main/resources/clover-report_fr.properties maven/components/trunk/maven-plugins/maven-clover/maven-clover-plugin/src/main/resources/clover.license maven/components/trunk/maven-plugins/maven-clover/maven-clover-plugin/src/test/ maven/components/trunk/maven-plugins/maven-clover/maven-clover-plugin/src/test/java/ maven/components/trunk/maven-plugins/maven-clover/maven-clover-plugin/src/test/java/org/ maven/components/trunk/maven-plugins/maven-clover/maven-clover-plugin/src/test/java/org/apache/ maven/components/trunk/maven-plugins/maven-clover/maven-clover-plugin/src/test/java/org/apache/maven/ maven/components/trunk/maven-plugins/maven-clover/maven-clover-plugin/src/test/java/org/apache/maven/plugin/ maven/components/trunk/maven-plugins/maven-clover/maven-clover-plugin/src/test/java/org/apache/maven/plugin/clover/ maven/components/trunk/maven-plugins/maven-clover/maven-clover-plugin/src/test/java/org/apache/maven/plugin/clover/CloverMojoTest.java (with props) maven/components/trunk/maven-plugins/maven-clover/pom.xml Added: maven/components/trunk/maven-plugins/maven-clover/maven-clover-plugin-samples/maven-clover-plugin-sample-simple/pom.xml URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-plugins/maven-clover/maven-clover-plugin-samples/maven-clover-plugin-sample-simple/pom.xml?rev=209751&view=auto ============================================================================== --- maven/components/trunk/maven-plugins/maven-clover/maven-clover-plugin-samples/maven-clover-plugin-sample-simple/pom.xml (added) +++ maven/components/trunk/maven-plugins/maven-clover/maven-clover-plugin-samples/maven-clover-plugin-sample-simple/pom.xml Fri Jul 8 05:52:48 2005 @@ -0,0 +1,55 @@ +<project> + <modelVersion>4.0.0</modelVersion> + <parent> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-clover-plugin-samples</artifactId> + <version>1.0-SNAPSHOT</version> + </parent> + <artifactId>maven-clover-plugin-sample-simple</artifactId> + <packaging>jar</packaging> + <name>Maven Clover Plugin Simple Sample</name> + <description>Maven Clover Plugin Simple Sample</description> + <version>1.0-SNAPSHOT</version> + <dependencies> + <dependency> + <groupId>junit</groupId> + <artifactId>junit</artifactId> + <version>3.8.1</version> + <scope>test</scope> + </dependency> + <!-- to be removed --> + <dependency> + <groupId>clover</groupId> + <artifactId>clover</artifactId> + <version>1.3.8</version> + </dependency> + </dependencies> + <reporting> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-clover-plugin</artifactId> + <version>1.0-SNAPSHOT</version> + </plugin> + </plugins> + </reporting> + <build> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-clover-plugin</artifactId> + <version>1.0-SNAPSHOT</version> + <executions> + <execution> + <configuration> + <targetPercentage>50</targetPercentage> + </configuration> + <goals> + <goal>check</goal> + </goals> + </execution> + </executions> + </plugin> + </plugins> + </build> +</project> Added: maven/components/trunk/maven-plugins/maven-clover/maven-clover-plugin-samples/maven-clover-plugin-sample-simple/src/main/java/org/apache/maven/plugin/clover/samples/simple/Simple.java URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-plugins/maven-clover/maven-clover-plugin-samples/maven-clover-plugin-sample-simple/src/main/java/org/apache/maven/plugin/clover/samples/simple/Simple.java?rev=209751&view=auto ============================================================================== --- maven/components/trunk/maven-plugins/maven-clover/maven-clover-plugin-samples/maven-clover-plugin-sample-simple/src/main/java/org/apache/maven/plugin/clover/samples/simple/Simple.java (added) +++ maven/components/trunk/maven-plugins/maven-clover/maven-clover-plugin-samples/maven-clover-plugin-sample-simple/src/main/java/org/apache/maven/plugin/clover/samples/simple/Simple.java Fri Jul 8 05:52:48 2005 @@ -0,0 +1,38 @@ +/* + * Copyright 2005 The Apache Software Foundation. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.maven.plugin.clover.samples.simple; + +public class Simple +{ + public void someMethod() + { + int i = 0; + i = i + 1; + } +/* + public void someMethod2() + { + int i = 0; + i = i + 1; + } + + public void someMethod3() + { + int i = 0; + i = i + 1; + } +*/ +} \ No newline at end of file Propchange: maven/components/trunk/maven-plugins/maven-clover/maven-clover-plugin-samples/maven-clover-plugin-sample-simple/src/main/java/org/apache/maven/plugin/clover/samples/simple/Simple.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: maven/components/trunk/maven-plugins/maven-clover/maven-clover-plugin-samples/maven-clover-plugin-sample-simple/src/main/java/org/apache/maven/plugin/clover/samples/simple/Simple.java ------------------------------------------------------------------------------ svn:keywords = "Author Date Id Revision" Added: maven/components/trunk/maven-plugins/maven-clover/maven-clover-plugin-samples/maven-clover-plugin-sample-simple/src/test/java/org/apache/maven/plugin/clover/samples/simple/SimpleTest.java URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-plugins/maven-clover/maven-clover-plugin-samples/maven-clover-plugin-sample-simple/src/test/java/org/apache/maven/plugin/clover/samples/simple/SimpleTest.java?rev=209751&view=auto ============================================================================== --- maven/components/trunk/maven-plugins/maven-clover/maven-clover-plugin-samples/maven-clover-plugin-sample-simple/src/test/java/org/apache/maven/plugin/clover/samples/simple/SimpleTest.java (added) +++ maven/components/trunk/maven-plugins/maven-clover/maven-clover-plugin-samples/maven-clover-plugin-sample-simple/src/test/java/org/apache/maven/plugin/clover/samples/simple/SimpleTest.java Fri Jul 8 05:52:48 2005 @@ -0,0 +1,28 @@ +/* + * Copyright 2005 The Apache Software Foundation. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.maven.plugin.clover.samples.simple; + +import junit.framework.TestCase; + +public class SimpleTest extends TestCase +{ + public void testSomeMethod() + { + Simple simple = new Simple(); + simple.someMethod(); + } +} + \ No newline at end of file Propchange: maven/components/trunk/maven-plugins/maven-clover/maven-clover-plugin-samples/maven-clover-plugin-sample-simple/src/test/java/org/apache/maven/plugin/clover/samples/simple/SimpleTest.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: maven/components/trunk/maven-plugins/maven-clover/maven-clover-plugin-samples/maven-clover-plugin-sample-simple/src/test/java/org/apache/maven/plugin/clover/samples/simple/SimpleTest.java ------------------------------------------------------------------------------ svn:keywords = "Author Date Id Revision" Added: maven/components/trunk/maven-plugins/maven-clover/maven-clover-plugin-samples/pom.xml URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-plugins/maven-clover/maven-clover-plugin-samples/pom.xml?rev=209751&view=auto ============================================================================== --- maven/components/trunk/maven-plugins/maven-clover/maven-clover-plugin-samples/pom.xml (added) +++ maven/components/trunk/maven-plugins/maven-clover/maven-clover-plugin-samples/pom.xml Fri Jul 8 05:52:48 2005 @@ -0,0 +1,16 @@ +<project> + <modelVersion>4.0.0</modelVersion> + <parent> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-clover</artifactId> + <version>1.0-SNAPSHOT</version> + </parent> + <artifactId>maven-clover-plugin-samples</artifactId> + <packaging>pom</packaging> + <name>Maven Clover Plugin Samples</name> + <description>Maven Clover Plugin Samples</description> + <version>1.0-SNAPSHOT</version> + <modules> + <module>maven-clover-plugin-sample-simple</module> + </modules> +</project> Added: maven/components/trunk/maven-plugins/maven-clover/maven-clover-plugin/pom.xml URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-plugins/maven-clover/maven-clover-plugin/pom.xml?rev=209751&view=auto ============================================================================== --- maven/components/trunk/maven-plugins/maven-clover/maven-clover-plugin/pom.xml (added) +++ maven/components/trunk/maven-plugins/maven-clover/maven-clover-plugin/pom.xml Fri Jul 8 05:52:48 2005 @@ -0,0 +1,51 @@ +<project> + <modelVersion>4.0.0</modelVersion> + <parent> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-clover</artifactId> + <version>1.0-SNAPSHOT</version> + </parent> + <artifactId>maven-clover-plugin</artifactId> + <packaging>maven-plugin</packaging> + <name>Maven Clover Plugin</name> + <description>Maven plugin for Clover</description> + <version>1.0-SNAPSHOT</version> + <dependencies> + <dependency> + <groupId>org.apache.maven</groupId> + <artifactId>maven-artifact</artifactId> + <version>2.0-alpha-3</version> + </dependency> + <dependency> + <groupId>org.apache.maven</groupId> + <artifactId>maven-plugin-api</artifactId> + <version>2.0-alpha-3</version> + </dependency> + <dependency> + <groupId>org.apache.maven</groupId> + <artifactId>maven-project</artifactId> + <version>2.0-alpha-3</version> + </dependency> + <dependency> + <groupId>org.apache.maven.reporting</groupId> + <artifactId>maven-reporting-api</artifactId> + <version>2.0-alpha-3</version> + </dependency> + <dependency> + <groupId>clover</groupId> + <artifactId>clover</artifactId> + <version>1.3.8</version> + </dependency> + <dependency> + <groupId>ant</groupId> + <artifactId>ant</artifactId> + <version>1.5.4</version> + </dependency> + <dependency> + <groupId>junit</groupId> + <artifactId>junit</artifactId> + <version>3.8.1</version> + <scope>test</scope> + </dependency> + </dependencies> +</project> Added: maven/components/trunk/maven-plugins/maven-clover/maven-clover-plugin/src/main/java/org/apache/maven/plugin/clover/AbstractCloverMojo.java URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-plugins/maven-clover/maven-clover-plugin/src/main/java/org/apache/maven/plugin/clover/AbstractCloverMojo.java?rev=209751&view=auto ============================================================================== --- maven/components/trunk/maven-plugins/maven-clover/maven-clover-plugin/src/main/java/org/apache/maven/plugin/clover/AbstractCloverMojo.java (added) +++ maven/components/trunk/maven-plugins/maven-clover/maven-clover-plugin/src/main/java/org/apache/maven/plugin/clover/AbstractCloverMojo.java Fri Jul 8 05:52:48 2005 @@ -0,0 +1,43 @@ +/* + * Copyright 2005 The Apache Software Foundation. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.maven.plugin.clover; + +import org.apache.maven.plugin.AbstractMojo; + +public abstract class AbstractCloverMojo extends AbstractMojo +{ + /** + * @parameter expression="" + */ + private String licenseFile; + + /** + * Registers the license file for Clover runtime by setting the + * <code>clover.license.path</code> system property. If the <code>licenseFile</code> + * property has not been defined by the user we look it up in the classpath in + * "/clover.license". + */ + protected void registerLicenseFile() + { + String licenseToUse = this.licenseFile; + if (licenseToUse == null) + { + licenseToUse = getClass().getResource("/clover.license").getFile(); + } + + System.setProperty("clover.license.path", licenseToUse); + } +} Propchange: maven/components/trunk/maven-plugins/maven-clover/maven-clover-plugin/src/main/java/org/apache/maven/plugin/clover/AbstractCloverMojo.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: maven/components/trunk/maven-plugins/maven-clover/maven-clover-plugin/src/main/java/org/apache/maven/plugin/clover/AbstractCloverMojo.java ------------------------------------------------------------------------------ svn:keywords = "Author Date Id Revision" Added: maven/components/trunk/maven-plugins/maven-clover/maven-clover-plugin/src/main/java/org/apache/maven/plugin/clover/CloverCheckMojo.java URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-plugins/maven-clover/maven-clover-plugin/src/main/java/org/apache/maven/plugin/clover/CloverCheckMojo.java?rev=209751&view=auto ============================================================================== --- maven/components/trunk/maven-plugins/maven-clover/maven-clover-plugin/src/main/java/org/apache/maven/plugin/clover/CloverCheckMojo.java (added) +++ maven/components/trunk/maven-plugins/maven-clover/maven-clover-plugin/src/main/java/org/apache/maven/plugin/clover/CloverCheckMojo.java Fri Jul 8 05:52:48 2005 @@ -0,0 +1,76 @@ +/* + * Copyright 2005 The Apache Software Foundation. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.maven.plugin.clover; + +import org.apache.maven.plugin.MojoExecutionException; +import org.apache.maven.plugin.AbstractMojo; +import org.apache.tools.ant.Project; +import org.apache.tools.ant.taskdefs.Taskdef; + +import com.cenqua.clover.cfg.Percentage; +import com.cenqua.clover.tasks.CloverPassTask; + +/** + * @goal check + * @phase verify + * @execute phase="test" lifecycle="clover" + * @description Verify test percentage coverage and fail the build if it is below the defined threshold + * + * @author <a href="mailto:[EMAIL PROTECTED]">Vincent Massol</a> + * @version $Id$ + */ +public class CloverCheckMojo extends AbstractCloverMojo +{ + /** + * @parameter expression="${project.build.directory}/clover/clover.db" + * @required + */ + protected String cloverDatabase; + + /** + * @parameter expression="70" + * @required + */ + protected float targetPercentage; + + public void execute() throws MojoExecutionException + { + registerLicenseFile(); + checkCoverage(); + } + + private void registerCloverAntTasks(Project antProject) + { + Taskdef taskdef = (Taskdef) antProject.createTask("taskdef"); + taskdef.setResource("clovertasks"); + taskdef.execute(); + } + + private void checkCoverage() + { + Project antProject = new Project(); + antProject.init(); + + registerCloverAntTasks(antProject); + + CloverPassTask cloverPassTask = (CloverPassTask) antProject.createTask("clover-check"); + cloverPassTask.setInitString(this.cloverDatabase); + cloverPassTask.setHaltOnFailure(true); + cloverPassTask.setTarget(new Percentage(this.targetPercentage)); + cloverPassTask.execute(); + } + +} Propchange: maven/components/trunk/maven-plugins/maven-clover/maven-clover-plugin/src/main/java/org/apache/maven/plugin/clover/CloverCheckMojo.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: maven/components/trunk/maven-plugins/maven-clover/maven-clover-plugin/src/main/java/org/apache/maven/plugin/clover/CloverCheckMojo.java ------------------------------------------------------------------------------ svn:keywords = "Author Date Id Revision" Added: maven/components/trunk/maven-plugins/maven-clover/maven-clover-plugin/src/main/java/org/apache/maven/plugin/clover/CloverInstrumentMojo.java URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-plugins/maven-clover/maven-clover-plugin/src/main/java/org/apache/maven/plugin/clover/CloverInstrumentMojo.java?rev=209751&view=auto ============================================================================== --- maven/components/trunk/maven-plugins/maven-clover/maven-clover-plugin/src/main/java/org/apache/maven/plugin/clover/CloverInstrumentMojo.java (added) +++ maven/components/trunk/maven-plugins/maven-clover/maven-clover-plugin/src/main/java/org/apache/maven/plugin/clover/CloverInstrumentMojo.java Fri Jul 8 05:52:48 2005 @@ -0,0 +1,156 @@ +/* + * Copyright 2005 The Apache Software Foundation. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.maven.plugin.clover; + +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; +import java.io.File; + +import org.apache.maven.artifact.Artifact; +import org.apache.maven.artifact.factory.ArtifactFactory; +import org.apache.maven.plugin.MojoExecutionException; +import org.apache.maven.plugin.AbstractMojo; +import org.apache.maven.project.MavenProject; + +import com.cenqua.clover.CloverInstr; + +/** + * @goal instrument + * @phase generate-sources + * @requiresDependencyResolution test + * @description Instrument source roots + * + * @author <a href="mailto:[EMAIL PROTECTED]">Vincent Massol</a> + * @version $Id$ + */ +public class CloverInstrumentMojo extends AbstractCloverMojo +{ + /** + * @parameter + * @required + */ + private String cloverOutputDirectory; + + /** + * @parameter + * @required + */ + private String cloverDatabase; + + /** + * @parameter expression="${project}" + * @required + * @readonly + */ + private MavenProject project; + + /** + * @parameter expression="${plugin.artifacts}" + * @required + */ + private List pluginArtifacts; + + /** + * @parameter expression="${component.org.apache.maven.artifact.factory.ArtifactFactory}" + * @required + * @readonly + */ + private ArtifactFactory factory; + + private String cloverOutputSourceDirectory; + + private void init() + { + new File(this.cloverOutputDirectory).mkdirs(); + + this.cloverOutputSourceDirectory = new File(this.cloverOutputDirectory, "src").getPath(); + } + + public void execute() throws MojoExecutionException + { + init(); + + registerLicenseFile(); + + int result = CloverInstr.mainImpl(createCliArgs()); + if (result != 0) + { + throw new MojoExecutionException("Clover has failed to instrument the source files"); + } + + addGeneratedSourcesToCompileRoots(); +// addCloverDependencyToCompileClasspath(); + + // 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. + // TODO: Ulgy hack below. Changing the directory should be enough for changing the values of all other + // properties depending on it! + this.project.getBuild().setDirectory(this.cloverOutputDirectory); + this.project.getBuild().setOutputDirectory(new File(this.cloverOutputDirectory, "classes").getPath()); + 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 + */ + private void addGeneratedSourcesToCompileRoots() + { + this.project.getCompileSourceRoots().remove(0); + this.project.addCompileSourceRoot(this.cloverOutputSourceDirectory); + } +/* + private void addCloverDependencyToCompileClasspath() + { + Artifact cloverArtifact = null; + Iterator artifacts = this.pluginArtifacts.iterator(); + while (artifacts.hasNext()) + { + Artifact artifact = (Artifact) artifacts.next(); + if (artifact.getArtifactId().equalsIgnoreCase("clover")) + { + cloverArtifact = artifact; + break; + } + } + + List artifactsToAdd = new ArrayList(); + artifactsToAdd.add(cloverArtifact); + + this.project.addArtifacts(artifactsToAdd, this.factory); + } +*/ + + /** + * @return the CLI args to be passed to CloverInstr + * @todo handle multiple source roots. At the moment only the first source root is instrumented + */ + private String[] createCliArgs() + { + String [] cliArgs = { + + // TODO: Temporary while we wait for surefire to be able to fork unit tests. See + // http://jira.codehaus.org/browse/MNG-441 + "-p", "threaded", + "-f", "100", + + "-i", this.cloverDatabase, + "-s", (String) this.project.getCompileSourceRoots().get(0), + "-d", this.cloverOutputSourceDirectory }; + + return cliArgs; + } +} Propchange: maven/components/trunk/maven-plugins/maven-clover/maven-clover-plugin/src/main/java/org/apache/maven/plugin/clover/CloverInstrumentMojo.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: maven/components/trunk/maven-plugins/maven-clover/maven-clover-plugin/src/main/java/org/apache/maven/plugin/clover/CloverInstrumentMojo.java ------------------------------------------------------------------------------ svn:keywords = "Author Date Id Revision" Added: maven/components/trunk/maven-plugins/maven-clover/maven-clover-plugin/src/main/java/org/apache/maven/plugin/clover/CloverReportMojo.java URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-plugins/maven-clover/maven-clover-plugin/src/main/java/org/apache/maven/plugin/clover/CloverReportMojo.java?rev=209751&view=auto ============================================================================== --- maven/components/trunk/maven-plugins/maven-clover/maven-clover-plugin/src/main/java/org/apache/maven/plugin/clover/CloverReportMojo.java (added) +++ maven/components/trunk/maven-plugins/maven-clover/maven-clover-plugin/src/main/java/org/apache/maven/plugin/clover/CloverReportMojo.java Fri Jul 8 05:52:48 2005 @@ -0,0 +1,142 @@ +/* + * Copyright 2005 The Apache Software Foundation. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.maven.plugin.clover; + +import org.apache.maven.reporting.AbstractMavenReport; +import org.apache.maven.reporting.MavenReportException; +import org.apache.maven.project.MavenProject; +import org.codehaus.doxia.site.renderer.SiteRenderer; + +import java.util.Locale; +import java.util.ResourceBundle; + +import com.cenqua.clover.reporters.html.HtmlReporter; + +/** + * @goal report + * @execute phase="test" lifecycle="clover" + * @description Generate a Clover report + * + * @author <a href="mailto:[EMAIL PROTECTED]">Vincent Massol</a> + * @version $Id$ + */ +public class CloverReportMojo extends AbstractMavenReport +{ + /** + * @parameter + * @required + */ + private String cloverDatabase; + + /** + * @parameter expression="${project.build.directory}/site" + * @required + */ + private String outputDirectory; + + /** + * @parameter expression="${component.org.codehaus.doxia.site.renderer.SiteRenderer}" + * @required + * @readonly + */ + private SiteRenderer siteRenderer; + + /** + * @parameter expression="${project}" + * @required + * @readonly + */ + private MavenProject project; + + /** + * @see org.apache.maven.reporting.AbstractMavenReport#executeReport(java.util.Locale) + */ + public void executeReport( Locale locale ) + throws MavenReportException + { + int result = HtmlReporter.mainImpl(createCliArgs()); + if (result != 0) + { + throw new MavenReportException("Clover has failed to instrument the source files"); + } + } + + /** + * @return the CLI args to be passed to the reporter + * @todo handle multiple source roots. At the moment only the first source root is instrumented + */ + private String[] createCliArgs() + { + String [] cliArgs = { + + "-t", "Maven Clover report", + "-p", (String) this.project.getCompileSourceRoots().get(0), + "-i", this.cloverDatabase, + "-o", this.outputDirectory }; + + return cliArgs; + } + + public String getOutputName() + { + return "clover"; + } + + /** + * @see org.apache.maven.reporting.MavenReport#getDescription(java.util.Locale) + */ + public String getDescription( Locale locale ) + { + return getBundle( locale ).getString( "report.clover.description" ); + } + + private static ResourceBundle getBundle( Locale locale ) + { + return ResourceBundle.getBundle("clover-report", locale, CloverReportMojo.class.getClassLoader() ); + } + + /** + * @see org.apache.maven.reporting.AbstractMavenReport#getOutputDirectory() + */ + protected String getOutputDirectory() + { + return this.outputDirectory; + } + + /** + * @see org.apache.maven.reporting.AbstractMavenReport#getSiteRenderer() + */ + protected SiteRenderer getSiteRenderer() + { + return this.siteRenderer; + } + + /** + * @see org.apache.maven.reporting.AbstractMavenReport#getProject() + */ + protected MavenProject getProject() + { + return this.project; + } + + /** + * @see org.apache.maven.reporting.MavenReport#getName(java.util.Locale) + */ + public String getName( Locale locale ) + { + return getBundle( locale ).getString( "report.clover.name" ); + } +} Propchange: maven/components/trunk/maven-plugins/maven-clover/maven-clover-plugin/src/main/java/org/apache/maven/plugin/clover/CloverReportMojo.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: maven/components/trunk/maven-plugins/maven-clover/maven-clover-plugin/src/main/java/org/apache/maven/plugin/clover/CloverReportMojo.java ------------------------------------------------------------------------------ svn:keywords = "Author Date Id Revision" Added: maven/components/trunk/maven-plugins/maven-clover/maven-clover-plugin/src/main/resources/META-INF/maven/lifecycle.xml URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-plugins/maven-clover/maven-clover-plugin/src/main/resources/META-INF/maven/lifecycle.xml?rev=209751&view=auto ============================================================================== --- maven/components/trunk/maven-plugins/maven-clover/maven-clover-plugin/src/main/resources/META-INF/maven/lifecycle.xml (added) +++ maven/components/trunk/maven-plugins/maven-clover/maven-clover-plugin/src/main/resources/META-INF/maven/lifecycle.xml Fri Jul 8 05:52:48 2005 @@ -0,0 +1,21 @@ +<lifecycles> + <lifecycle> + <id>clover</id> + <phases> + <phase> + <id>generate-sources</id> + <executions> + <execution> + <configuration> + <cloverOutputDirectory>${project.build.directory}/clover</cloverOutputDirectory> + <cloverDatabase>${project.build.directory}/clover/clover.db</cloverDatabase> + </configuration> + <goals> + <goal>instrument</goal> + </goals> + </execution> + </executions> + </phase> + </phases> + </lifecycle> +</lifecycles> Added: maven/components/trunk/maven-plugins/maven-clover/maven-clover-plugin/src/main/resources/META-INF/plexus/components.xml URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-plugins/maven-clover/maven-clover-plugin/src/main/resources/META-INF/plexus/components.xml?rev=209751&view=auto ============================================================================== --- maven/components/trunk/maven-plugins/maven-clover/maven-clover-plugin/src/main/resources/META-INF/plexus/components.xml (added) +++ maven/components/trunk/maven-plugins/maven-clover/maven-clover-plugin/src/main/resources/META-INF/plexus/components.xml Fri Jul 8 05:52:48 2005 @@ -0,0 +1,15 @@ +<component-set> + <!-- TODO: + - this should be generated using cdc + - need to configure the reports + - the hint should perhaps use a qualifier -> this is equivalent to how we must deal with plugins outside of the maven group ID + --> + <components> + <component> + <role>org.apache.maven.reporting.MavenReport</role> + <role-hint>clover</role-hint> + <implementation>org.apache.maven.plugin.clover.CloverReportMojo</implementation> + <instantiation-strategy>per-lookup</instantiation-strategy> + </component> + </components> +</component-set> Added: maven/components/trunk/maven-plugins/maven-clover/maven-clover-plugin/src/main/resources/clover-report_en.properties URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-plugins/maven-clover/maven-clover-plugin/src/main/resources/clover-report_en.properties?rev=209751&view=auto ============================================================================== --- maven/components/trunk/maven-plugins/maven-clover/maven-clover-plugin/src/main/resources/clover-report_en.properties (added) +++ maven/components/trunk/maven-plugins/maven-clover/maven-clover-plugin/src/main/resources/clover-report_en.properties Fri Jul 8 05:52:48 2005 @@ -0,0 +1,3 @@ +report.clover.name=Clover +report.clover.description=Report on test coverage +report.clover.title=Clover Results Added: maven/components/trunk/maven-plugins/maven-clover/maven-clover-plugin/src/main/resources/clover-report_fr.properties URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-plugins/maven-clover/maven-clover-plugin/src/main/resources/clover-report_fr.properties?rev=209751&view=auto ============================================================================== --- maven/components/trunk/maven-plugins/maven-clover/maven-clover-plugin/src/main/resources/clover-report_fr.properties (added) +++ maven/components/trunk/maven-plugins/maven-clover/maven-clover-plugin/src/main/resources/clover-report_fr.properties Fri Jul 8 05:52:48 2005 @@ -0,0 +1,3 @@ +report.clover.name=Clover +report.clover.description=Rapport sur la couverture de tests +report.clover.title=Résultats Clover Added: maven/components/trunk/maven-plugins/maven-clover/maven-clover-plugin/src/main/resources/clover.license URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-plugins/maven-clover/maven-clover-plugin/src/main/resources/clover.license?rev=209751&view=auto ============================================================================== --- maven/components/trunk/maven-plugins/maven-clover/maven-clover-plugin/src/main/resources/clover.license (added) +++ maven/components/trunk/maven-plugins/maven-clover/maven-clover-plugin/src/main/resources/clover.license Fri Jul 8 05:52:48 2005 @@ -0,0 +1,103 @@ +Product: Clover +License: Maven License, 0.x, 1.x +Issued: Sun Feb 20 2005 16:07:54 CST +Expiry: Mon Jan 30 2006 00:00:00 CST +Key: cb1bdacca8bc16c87e3a54ba8 +Name: Vincent Massol +Org: Maven +Certificate: AAACSW+Ow8B7/zEbxOMqqKwwrdpP+b9RI3QpJp1p5GYetnEZ1bTfFsNcI +BFgt6wjsr7mkJwsqpdgk/yEZJj3job+JBdaXy0D57q4LR5IvOBFb4CejKlB7R0tBLMtZB1 +z8E40a4RpZPEs1unqS5oRKOLDDsuZMK6fVZK9RnYiEzfIO6UjDvImCYDyjkq8SSYBJdTpP +KHHttTJZrrTOMq/onTG48fHvG9PJns/HPb08BUDW+OhGX392JfAVPEJPR3tJ3kJbsdNe3K +DbyXxMdbmpVPTFD/p1UWP4Cm+zU6apE12fkU37zazJkv0Q1mB4tJSu103bmrK83fzu+OQj +HD73nDmuu84w+7Wz6BkTwZ3Pgbru/ZBE0Kq+kRj6NrNxlW/DiEd4zB+AW7+Qy14jzsO+S3 +W1eBP1QQz88lSku5Vsdlezr9RI3QpYckovj9d43Rdl/GKLKVBMQFrzvg86OLtkp4kqZRa0 +6P9INP30s+9c1JaZikH7732AANCtuALXuLGyoNd9hstErAhNgwvwAI1cpY7IeAvn/XgW5R +9MvPLTNa0La7aN4umT2tlUWLJULQ5XfI5TYO5m1S8TVgIbN74fPLj/snfZ+/CNJ79v2SOt +pGR/T1bZCZ8f+G79hUWSK2zZmbvzsrGEekROxW3ZH4QOsMYdDKWbDO2PJPp9ErbWTnoywC +fr3+03UmSok12cAN7xTm5Pl3jLQmT4Z1VoEc8RGrbvVHt6abF3h72zjPGov0xmP/XxKNjD +Dl2cUDIupIJHlit5kJn5pLN0UT6chGtCFewIgXb4OHJQofIsVe4/cJ/PI+oEiBn+LUsWdR +V+N1F7iPpwLb5bqcbkDxH4mWlDlXAjzRtTR/OkoH80Gehmmg1Om/jUbTp15rrEmaamjWB0 +4HWNlAeZDDpM3xtu1UgIhYPAkm4b9kurZBLJVB5dHHCh3wz7BRPPxhbN7Ik +License Agreement: CENQUA CLOVER EVALUATION SOFTWARE LICENSE AGREEMENT + +CENQUA IS WILLING TO LICENSE CLOVER AND ACCOMPANYING DOCUMENTATION +(THE "SOFTWARE") TO YOU (THE "EVALUATOR") FOR EVALUATION PURPOSES ONLY +UPON THE CONDITION THAT YOU ACCEPT ALL OF THE TERMS OF THIS LICENSE +AGREEMENT. PLEASE READ THESE TERMS CAREFULLY BEFORE INSTALLING OR +USING THE SOFTWARE. BY INSTALLING OR USING THE SOFTWARE, YOU ARE +CONSENTING TO BE BOUND BY AND ARE BECOMING A PARTY TO THIS AGREEMENT. + +1. Software: The licensed Software is "Clover Evaluation Edition". + +2. Grant of License: Cortex eBusiness Pty Ltd ("Cenqua") hereby + grants to Evaluator, for 30 days (the "Evaluation Period") + following the execution of this Agreement (the "Agreement"), a + limited, nontransferable, nonexclusive, nonsublicensable, + revocable, worldwide license to use the Software for the purposes + of internal evaluation and testing for suitability for commercial + licensing ("Evaluation") by Evaluator. Title to the Software shall + remain with Cenqua at all times. + +3. Exclusions: Evaluator shall not: a. copy any part of the Software + except to make one copy for back-up purposes only; b. reverse + compile or reverse assemble any portion of the Software where the + source code is not freely accessible; c. distribute, disclose, + market, rent, lease, or transfer the Software; d. export the + Software; or e. allow others to make or obtain copies of the + Software. + +4. Support: Cenqua may, during the Evaluation Period, make + available updates, enhancements, and/or modifications to the + Software and may provide such updates to Evaluator, but is under no + obligation to do so. The provision by Cenqua to Evaluator of + such updates, enhancements, and/or modifications to the Software + shall be subject to all terms and conditions of this Agreement and + shall expire at the end of the Evaluation Period. + +5. Specific Disclaimer of Warranty and Limitation of Liability: + +THE SOFTWARE IS PROVIDED WITHOUT WARRANTY OF ANY KIND. CENQUA +DISCLAIMS ALL WARRANTIES, EXPRESSED OR IMPLIED, INCLUDING BUT NOT +LIMITED TO THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +PARTICULAR PURPOSE. CENQUA WILL NOT BE LIABLE FOR ANY DAMAGES +ASSOCIATED WITH THE SOFTWARE, INCLUDING, WITHOUT LIMITATION, ORDINARY, +INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES OF ANY KIND, INCLUDING +BUT NOT LIMITED TO DAMAGES RELATING TO LOST DATA OR LOST PROFITS, EVEN +IF CENQUA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + +6. Termination: Evaluator's license to use the Software shall + terminate on the earlier of (i) written notice by either Cenqua + or Evaluator, or (ii) expiration of the Evaluation Period. Upon + termination of the license as provided above, Evaluator shall + promptly destroy the Software and any back-up copy of the Software + made during the Evaluation Period. Evaluator shall also promptly + return all materials provided by Cenqua in connection with the + Software. + +7. Warranties and Representations; Indemnification. Evaluator warrants + and represents that Evaluator's actions with regard to the Software + will be in compliance with all applicable laws; and Evaluator will + indemnify, defend, and hold Cenqua harmless from and against any + and all liabilities, damages, losses, claims, costs, and expenses + (including legal fees) arising out of or resulting from Evaluator's + failure to observe the use restrictions set forth herein. + +8. Governing Law: This Agreement shall be governed by the laws of New + South Wales, Australia. + +9.Independent Contractors; Assignment: The parties are independent + contractors with respect to each other, and nothing in this + Agreement shall be construed as creating an employer-employee + relationship, a partnership, agency relationship or a joint venture + between the parties. This Agreement is not assignable or + transferable by Evaluator. + +10.Entire Agreement: This Agreement constitutes the entire agreement + between the parties concerning Evaluator's use of the + Software. This Agreement supersedes any prior verbal understanding + between the parties and any Evaluator purchase order or other + ordering document, regardless of whether such document is received + by Cenqua before or after execution of this Agreement. This + Agreement may be amended only in writing by Cenqua. + Added: maven/components/trunk/maven-plugins/maven-clover/maven-clover-plugin/src/test/java/org/apache/maven/plugin/clover/CloverMojoTest.java URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-plugins/maven-clover/maven-clover-plugin/src/test/java/org/apache/maven/plugin/clover/CloverMojoTest.java?rev=209751&view=auto ============================================================================== --- maven/components/trunk/maven-plugins/maven-clover/maven-clover-plugin/src/test/java/org/apache/maven/plugin/clover/CloverMojoTest.java (added) +++ maven/components/trunk/maven-plugins/maven-clover/maven-clover-plugin/src/test/java/org/apache/maven/plugin/clover/CloverMojoTest.java Fri Jul 8 05:52:48 2005 @@ -0,0 +1,35 @@ +/* + * Copyright 2005 The Apache Software Foundation. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.maven.plugin.clover; + +import org.apache.maven.plugin.MojoExecutionException; + +import junit.framework.TestCase; + +/** + * Unit tests for [EMAIL PROTECTED] org.apache.maven.plugin.clover.CloverInstrumentMojo}. + * + * @author <a href="mailto:[EMAIL PROTECTED]">Vincent Massol</a> + * @version $Id$ + */ +public class CloverMojoTest extends TestCase +{ + public void testExecution() throws MojoExecutionException + { + CloverInstrumentMojo mojo = new CloverInstrumentMojo(); + //TODO: write a test here... + } +} Propchange: maven/components/trunk/maven-plugins/maven-clover/maven-clover-plugin/src/test/java/org/apache/maven/plugin/clover/CloverMojoTest.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: maven/components/trunk/maven-plugins/maven-clover/maven-clover-plugin/src/test/java/org/apache/maven/plugin/clover/CloverMojoTest.java ------------------------------------------------------------------------------ svn:keywords = "Author Date Id Revision" Added: maven/components/trunk/maven-plugins/maven-clover/pom.xml URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-plugins/maven-clover/pom.xml?rev=209751&view=auto ============================================================================== --- maven/components/trunk/maven-plugins/maven-clover/pom.xml (added) +++ maven/components/trunk/maven-plugins/maven-clover/pom.xml Fri Jul 8 05:52:48 2005 @@ -0,0 +1,26 @@ +<model> + <modelVersion>4.0.0</modelVersion> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-clover</artifactId> + <packaging>pom</packaging> + <name>Maven Clover Plugin Parent</name> + <description>Maven Clover Plugin Parent</description> + <version>1.0-SNAPSHOT</version> + <inceptionYear>2005</inceptionYear> + <developers> + <developer> + <id>vmassol</id> + <name>Vincent Massol</name> + <email>[EMAIL PROTECTED]</email> + <organization>Apache Software Foundation</organization> + <roles> + <role>Architect</role> + <role>Release Manager</role> + </roles> + </developer> + </developers> + <modules> + <module>maven-clover-plugin</module> + <module>maven-clover-plugin-samples</module> + </modules> +</model> --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]