You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by vm...@apache.org on 2006/05/19 13:11:59 UTC

svn commit: r407771 - in /maven/plugins/trunk/maven-clover-plugin: ./ src/it/simple/ src/main/java/org/apache/maven/plugin/clover/ src/test/java/org/apache/maven/plugin/clover/

Author: vmassol
Date: Fri May 19 04:11:59 2006
New Revision: 407771

URL: http://svn.apache.org/viewvc?rev=407771&view=rev
Log:
MCLOVER-36: Plugin should locate clover artifact based on groupId+artifactId and not only on artifactId

Added:
    maven/plugins/trunk/maven-clover-plugin/src/test/java/org/apache/maven/plugin/clover/CloverInstrumentInternalMojoTest.java   (with props)
Modified:
    maven/plugins/trunk/maven-clover-plugin/pom.xml
    maven/plugins/trunk/maven-clover-plugin/src/it/simple/pom.xml
    maven/plugins/trunk/maven-clover-plugin/src/main/java/org/apache/maven/plugin/clover/CloverInstrumentInternalMojo.java

Modified: maven/plugins/trunk/maven-clover-plugin/pom.xml
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-clover-plugin/pom.xml?rev=407771&r1=407770&r2=407771&view=diff
==============================================================================
--- maven/plugins/trunk/maven-clover-plugin/pom.xml (original)
+++ maven/plugins/trunk/maven-clover-plugin/pom.xml Fri May 19 04:11:59 2006
@@ -32,12 +32,6 @@
   </developers>
   <dependencies>
     <dependency>
-      <groupId>junit</groupId>
-      <artifactId>junit</artifactId>
-      <version>3.8.1</version>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
       <groupId>org.codehaus.plexus</groupId>
       <artifactId>plexus-compiler-api</artifactId>
       <version>1.5.2</version>
@@ -48,12 +42,6 @@
       <version>2.0</version>
     </dependency>
     <dependency>
-      <groupId>jmock</groupId>
-      <artifactId>jmock</artifactId>
-      <version>1.0.1</version>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
       <groupId>org.apache.maven</groupId>
       <artifactId>maven-plugin-api</artifactId>
       <version>2.0</version>
@@ -77,6 +65,18 @@
       <groupId>com.cenqua.clover</groupId>
       <artifactId>clover</artifactId>
       <version>1.3.12</version>
+    </dependency>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <version>3.8.1</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>jmock</groupId>
+      <artifactId>jmock</artifactId>
+      <version>1.0.1</version>
+      <scope>test</scope>
     </dependency>
   </dependencies>
 </project>

Modified: maven/plugins/trunk/maven-clover-plugin/src/it/simple/pom.xml
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-clover-plugin/src/it/simple/pom.xml?rev=407771&r1=407770&r2=407771&view=diff
==============================================================================
--- maven/plugins/trunk/maven-clover-plugin/src/it/simple/pom.xml (original)
+++ maven/plugins/trunk/maven-clover-plugin/src/it/simple/pom.xml Fri May 19 04:11:59 2006
@@ -49,15 +49,6 @@
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-clover-plugin</artifactId>
-
-        <dependencies>
-          <dependency>
-            <groupId>junit</groupId>
-            <artifactId>junit</artifactId>
-            <version>3.8.1</version>
-          </dependency>
-        </dependencies>
-
         <configuration>
 
           <targetPercentage>1%</targetPercentage>

Modified: maven/plugins/trunk/maven-clover-plugin/src/main/java/org/apache/maven/plugin/clover/CloverInstrumentInternalMojo.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-clover-plugin/src/main/java/org/apache/maven/plugin/clover/CloverInstrumentInternalMojo.java?rev=407771&r1=407770&r2=407771&view=diff
==============================================================================
--- maven/plugins/trunk/maven-clover-plugin/src/main/java/org/apache/maven/plugin/clover/CloverInstrumentInternalMojo.java (original)
+++ maven/plugins/trunk/maven-clover-plugin/src/main/java/org/apache/maven/plugin/clover/CloverInstrumentInternalMojo.java Fri May 19 04:11:59 2006
@@ -282,23 +282,32 @@
         return resolvedArtifacts;
     }
 
-    private void addCloverDependencyToCompileClasspath()
-        throws MojoExecutionException
+    protected Artifact findCloverArtifact(List pluginArtifacts)
     {
         Artifact cloverArtifact = null;
-        Iterator artifacts = this.pluginArtifacts.iterator();
+        Iterator artifacts = pluginArtifacts.iterator();
         while ( artifacts.hasNext() && cloverArtifact == null )
         {
             Artifact artifact = (Artifact) artifacts.next();
-            if ( "clover".equalsIgnoreCase( artifact.getArtifactId() ) )
+
+            // We identify the clover JAR by checking the groupId and artifactId.
+            if ( "com.cenqua.clover".equals( artifact.getGroupId() )
+                && "clover".equals( artifact.getArtifactId() ) )
             {
                 cloverArtifact = artifact;
             }
         }
+        return cloverArtifact;
+    }
 
+    private void addCloverDependencyToCompileClasspath()
+        throws MojoExecutionException
+    {
+        Artifact cloverArtifact = findCloverArtifact(this.pluginArtifacts);
         if ( cloverArtifact == null )
         {
-            throw new MojoExecutionException( "Couldn't find 'clover' artifact in plugin dependencies" );
+            throw new MojoExecutionException(
+                "Couldn't find [com.cenqua.cover:clover] artifact in plugin dependencies" );
         }
 
         cloverArtifact = artifactFactory.createArtifact( cloverArtifact.getGroupId(), cloverArtifact.getArtifactId(),

Added: maven/plugins/trunk/maven-clover-plugin/src/test/java/org/apache/maven/plugin/clover/CloverInstrumentInternalMojoTest.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-clover-plugin/src/test/java/org/apache/maven/plugin/clover/CloverInstrumentInternalMojoTest.java?rev=407771&view=auto
==============================================================================
--- maven/plugins/trunk/maven-clover-plugin/src/test/java/org/apache/maven/plugin/clover/CloverInstrumentInternalMojoTest.java (added)
+++ maven/plugins/trunk/maven-clover-plugin/src/test/java/org/apache/maven/plugin/clover/CloverInstrumentInternalMojoTest.java Fri May 19 04:11:59 2006
@@ -0,0 +1,55 @@
+/*
+ * Copyright 2006 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.jmock.MockObjectTestCase;
+import org.jmock.Mock;
+import org.apache.maven.artifact.Artifact;
+
+import java.util.Collections;
+
+/**
+ * Unit tests for {@link org.apache.maven.plugin.clover.CloverInstrumentInternalMojo}.
+ *
+ * @author <a href="mailto:vmassol@apache.org">Vincent Massol</a>
+ * @version $Id$
+ */
+public class CloverInstrumentInternalMojoTest extends MockObjectTestCase
+{
+    public void testFindCloverArtifactWithCorrectArtifactIdButWrongGroupId()
+    {
+        Mock mockArtifact = mock(Artifact.class);
+        mockArtifact.stubs().method( "getArtifactId" ).will( returnValue( "clover" ) );
+        mockArtifact.stubs().method( "getGroupId" ).will( returnValue( "notcenquaid" ) );
+
+        CloverInstrumentInternalMojo mojo = new CloverInstrumentInternalMojo();
+        Artifact clover = mojo.findCloverArtifact( Collections.singletonList( mockArtifact.proxy() ) );
+
+        assertNull( "Clover artifact should not have been found!", clover );
+    }
+
+    public void testFindCloverArtifactWhenCorrectIds()
+    {
+        Mock mockArtifact = mock(Artifact.class);
+        mockArtifact.stubs().method( "getArtifactId" ).will( returnValue( "clover" ) );
+        mockArtifact.stubs().method( "getGroupId" ).will( returnValue( "com.cenqua.clover" ) );
+
+        CloverInstrumentInternalMojo mojo = new CloverInstrumentInternalMojo();
+        Artifact clover = mojo.findCloverArtifact( Collections.singletonList( mockArtifact.proxy() ) );
+
+        assertNotNull( "Clover artifact should have been found!", clover );
+    }
+}

Propchange: maven/plugins/trunk/maven-clover-plugin/src/test/java/org/apache/maven/plugin/clover/CloverInstrumentInternalMojoTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/plugins/trunk/maven-clover-plugin/src/test/java/org/apache/maven/plugin/clover/CloverInstrumentInternalMojoTest.java
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision