[BUILD-196] maven-clover2-plugin installs and overrides artifacts with clover-suffixed ones Created: 13/Mar/15  Updated: 07/May/15  Resolved: 16/Mar/15

Status: Closed
Project: Build
Component/s: None
Affects Version/s: None
Fix Version/s: POMs 31

Type: Bug Priority: Neutral
Reporter: Philip Mundt Assignee: Magnolia International
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
relation
is related to BUILD-23 Don't install nor deploy clover-instr... Closed
is related to BUILD-124 Skipping Clover on releases does not ... Closed
is related to BUILD-210 Upgrade to Clover 4.0.4 and enable re... Closed
Template:
Acceptance criteria:
Empty
Date of First Response:

 Description   

When running mvn clean install -Penable-clover, the maven-clover2-plugin will install and override previously built artifacts with the clover artifacts causing problems in downstream builds.

It's also interesting to note that the install-plugin consequently does nothing in its "installAtEnd" execution.
This doesn't seem to happen on Jenkins, despite clover being run there.

[INFO]
[INFO] --- maven-clover2-plugin:4.0.2:log (instrument-and-check) @ magnolia-module-diff ---
[INFO] No Clover database found, skipping Clover database logging
[INFO]
[INFO] --- maven-clover2-plugin:4.0.2:check (instrument-and-check) @ magnolia-module-diff ---
[INFO]
[INFO] --- maven-install-plugin:2.5.2:install (default-install) @ magnolia-module-diff ---
[INFO] Installing /Users/johndoe/code/enterprise/diff/target/clover/magnolia-module-diff-1.7-SNAPSHOT-clover.jar to /Users/johndoe/.m2/repository/info/magnolia/magnolia-module-diff/1.7-SNAPSHOT/magnolia-module-diff-1.7-SNAPSHOT-clover.jar
[INFO] Installing /Users/johndoe/code/enterprise/diff/pom.xml to /Users/johndoe/.m2/repository/info/magnolia/magnolia-module-diff/1.7-SNAPSHOT/magnolia-module-diff-1.7-SNAPSHOT.pom
[INFO] Installing /Users/johndoe/code/enterprise/diff/target/magnolia-module-diff-1.7-SNAPSHOT-bundle.zip to /Users/johndoe/.m2/repository/info/magnolia/magnolia-module-diff/1.7-SNAPSHOT/magnolia-module-diff-1.7-SNAPSHOT-bundle.zip
[INFO] Installing /Users/johndoe/code/enterprise/diff/target/magnolia-module-diff-1.7-SNAPSHOT-bundle.tar.gz to /Users/johndoe/.m2/repository/info/magnolia/magnolia-module-diff/1.7-SNAPSHOT/magnolia-module-diff-1.7-SNAPSHOT-bundle.tar.gz
[INFO] Installing /Users/johndoe/code/enterprise/diff/target/magnolia-module-diff-1.7-SNAPSHOT-tests.jar to /Users/johndoe/.m2/repository/info/magnolia/magnolia-module-diff/1.7-SNAPSHOT/magnolia-module-diff-1.7-SNAPSHOT-tests.jar
[INFO] Installing /Users/johndoe/code/enterprise/diff/target/clover/magnolia-module-diff-1.7-SNAPSHOT-clover-bundle.zip to /Users/johndoe/.m2/repository/info/magnolia/magnolia-module-diff/1.7-SNAPSHOT/magnolia-module-diff-1.7-SNAPSHOT-bundle.zip
[INFO] Installing /Users/johndoe/code/enterprise/diff/target/clover/magnolia-module-diff-1.7-SNAPSHOT-clover-bundle.tar.gz to /Users/johndoe/.m2/repository/info/magnolia/magnolia-module-diff/1.7-SNAPSHOT/magnolia-module-diff-1.7-SNAPSHOT-bundle.tar.gz
[INFO] Installing /Users/johndoe/code/enterprise/diff/target/clover/magnolia-module-diff-1.7-SNAPSHOT-clover-tests.jar to /Users/johndoe/.m2/repository/info/magnolia/magnolia-module-diff/1.7-SNAPSHOT/magnolia-module-diff-1.7-SNAPSHOT-tests.jar
[INFO]
[INFO] <<< maven-clover2-plugin:4.0.2:instrument (instrument-and-check) < [clover]install @ magnolia-module-diff <<<
[INFO]
[INFO] --- maven-clover2-plugin:4.0.2:instrument (instrument-and-check) @ magnolia-module-diff ---
[INFO]
[INFO] --- maven-clover2-plugin:4.0.2:log (instrument-and-check) @ magnolia-module-diff ---
[INFO] Clover Version 4.0.2, built on October 13 2014 (build-943)
[INFO] Loaded from: /Users/johndoe/.m2/repository/com/atlassian/clover/clover/4.0.2/clover-4.0.2.jar
[INFO] Clover: Open Source License registered to Magnolia CMS.
[INFO] Clover Coverage Report
Coverage Timestamp: Fri Mar 13 13:12:45 CET 2015
Report for code   : APPLICATION


Coverage Overview -
Coverage:-
      Methods: 77/96 (80.2%)
   Statements: 430/585 (73.5%)
     Branches: 84/140 (60%)
        Total: 72%
Complexity:-
   Avg Method: 2.167
      Density: 0.356
        Total: 208

[INFO]
[INFO] --- maven-clover2-plugin:4.0.2:check (instrument-and-check) @ magnolia-module-diff ---
[INFO] Checking for coverage of [67] for database [/Users/johndoe/code/enterprise/diff/target/clover/clover.db]
[WARNING] has test file source dir = true
[WARNING] test file source dir = /Users/johndoe/code/enterprise/diff/src/test/java
[WARNING] test file source dir = /Users/johndoe/code/enterprise/diff/target/generated-test-sources/test-annotations
[INFO] Clover Version 4.0.2, built on October 13 2014 (build-943)
[INFO] Loaded from: /Users/johndoe/.m2/repository/com/atlassian/clover/clover/4.0.2/clover-4.0.2.jar
[INFO] Clover: Open Source License registered to Magnolia CMS.
[INFO] Coverage check PASSED
[INFO]
[INFO] --- maven-install-plugin:2.5.2:install (default-install) @ magnolia-module-diff ---
[INFO] Installing info.magnolia:magnolia-module-diff:1.7-SNAPSHOT at end
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 58.014 s
[INFO] Finished at: 2015-03-13T13:12:50+01:00
[INFO] Final Memory: 45M/262M
[INFO] ------------------------------------------------------------------------


 Comments   
Comment by Magnolia International [ 13/Mar/15 ]

While releases binary jars seem fine, it looks like -javadoc jars are also impacted, at least locally.
The following command finds the diff jar just built above, but also some non-snapshot javadoc jars, which indeed have clover-instrument classes javadoc. Luckily those don't seem to have been deployed.
find ~/.m2/repository/info/ -name *jar ! -name *-clover.jar -exec grep -H CLR4 {} \;

Comment by Magnolia International [ 13/Mar/15 ]

If we disable installAtEnd, the issue is partly fixed:

[INFO] --- maven-clover2-plugin:4.0.2:check (instrument-and-check) @ magnolia-module-diff ---
[INFO] 
[INFO] --- maven-install-plugin:2.5.2:install (default-install) @ magnolia-module-diff ---
[INFO] Installing /Users/gjoseph/Dev/magnolia/git/enterprise/diff/target/clover/magnolia-module-diff-1.7-SNAPSHOT-clover.jar to /Users/gjoseph/.m2/repository/info/magnolia/magnolia-module-diff/1.7-SNAPSHOT/magnolia-module-diff-1.7-SNAPSHOT-clover.jar
[INFO] Installing /Users/gjoseph/Dev/magnolia/git/enterprise/diff/pom.xml to /Users/gjoseph/.m2/repository/info/magnolia/magnolia-module-diff/1.7-SNAPSHOT/magnolia-module-diff-1.7-SNAPSHOT.pom
[INFO] Installing /Users/gjoseph/Dev/magnolia/git/enterprise/diff/target/magnolia-module-diff-1.7-SNAPSHOT-bundle.zip to /Users/gjoseph/.m2/repository/info/magnolia/magnolia-module-diff/1.7-SNAPSHOT/magnolia-module-diff-1.7-SNAPSHOT-bundle.zip
[INFO] Installing /Users/gjoseph/Dev/magnolia/git/enterprise/diff/target/magnolia-module-diff-1.7-SNAPSHOT-bundle.tar.gz to /Users/gjoseph/.m2/repository/info/magnolia/magnolia-module-diff/1.7-SNAPSHOT/magnolia-module-diff-1.7-SNAPSHOT-bundle.tar.gz
[INFO] Installing /Users/gjoseph/Dev/magnolia/git/enterprise/diff/target/magnolia-module-diff-1.7-SNAPSHOT-tests.jar to /Users/gjoseph/.m2/repository/info/magnolia/magnolia-module-diff/1.7-SNAPSHOT/magnolia-module-diff-1.7-SNAPSHOT-tests.jar
[INFO] Installing /Users/gjoseph/Dev/magnolia/git/enterprise/diff/target/clover/magnolia-module-diff-1.7-SNAPSHOT-clover-bundle.zip to /Users/gjoseph/.m2/repository/info/magnolia/magnolia-module-diff/1.7-SNAPSHOT/magnolia-module-diff-1.7-SNAPSHOT-bundle.zip
[INFO] Installing /Users/gjoseph/Dev/magnolia/git/enterprise/diff/target/clover/magnolia-module-diff-1.7-SNAPSHOT-clover-bundle.tar.gz to /Users/gjoseph/.m2/repository/info/magnolia/magnolia-module-diff/1.7-SNAPSHOT/magnolia-module-diff-1.7-SNAPSHOT-bundle.tar.gz
[INFO] Installing /Users/gjoseph/Dev/magnolia/git/enterprise/diff/target/clover/magnolia-module-diff-1.7-SNAPSHOT-clover-tests.jar to /Users/gjoseph/.m2/repository/info/magnolia/magnolia-module-diff/1.7-SNAPSHOT/magnolia-module-diff-1.7-SNAPSHOT-tests.jar
[INFO] 
[INFO] <<< maven-clover2-plugin:4.0.2:instrument (instrument-and-check) < [clover]install @ magnolia-module-diff <<<
[INFO] 
[...]
[INFO] Coverage check PASSED
[INFO] 
[INFO] --- maven-install-plugin:2.5.2:install (default-install) @ magnolia-module-diff ---
[INFO] Installing /Users/gjoseph/Dev/magnolia/git/enterprise/diff/target/magnolia-module-diff-1.7-SNAPSHOT.jar to /Users/gjoseph/.m2/repository/info/magnolia/magnolia-module-diff/1.7-SNAPSHOT/magnolia-module-diff-1.7-SNAPSHOT.jar
[INFO] Installing /Users/gjoseph/Dev/magnolia/git/enterprise/diff/pom.xml to /Users/gjoseph/.m2/repository/info/magnolia/magnolia-module-diff/1.7-SNAPSHOT/magnolia-module-diff-1.7-SNAPSHOT.pom
[INFO] Installing /Users/gjoseph/Dev/magnolia/git/enterprise/diff/target/magnolia-module-diff-1.7-SNAPSHOT-bundle.zip to /Users/gjoseph/.m2/repository/info/magnolia/magnolia-module-diff/1.7-SNAPSHOT/magnolia-module-diff-1.7-SNAPSHOT-bundle.zip
[INFO] Installing /Users/gjoseph/Dev/magnolia/git/enterprise/diff/target/magnolia-module-diff-1.7-SNAPSHOT-bundle.tar.gz to /Users/gjoseph/.m2/repository/info/magnolia/magnolia-module-diff/1.7-SNAPSHOT/magnolia-module-diff-1.7-SNAPSHOT-bundle.tar.gz
[INFO] Installing /Users/gjoseph/Dev/magnolia/git/enterprise/diff/target/magnolia-module-diff-1.7-SNAPSHOT-tests.jar to /Users/gjoseph/.m2/repository/info/magnolia/magnolia-module-diff/1.7-SNAPSHOT/magnolia-module-diff-1.7-SNAPSHOT-tests.jar
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------

Partly, because Clover still deploys the instrument jar where the non-instrumented ones should be, but then get overwritten by the install plugin later on.

Comment by Magnolia International [ 13/Mar/15 ]

Funny thing is we already fixed this with BUILD-23 and Poms 10 a while ago. Unfortunately the linked forum thread has disappeared.

Comment by Magnolia International [ 13/Mar/15 ]

While we could fix our pom and use the instrument-test goal instead of instrument, it still seems that Clover itself needs to fix this bug. Since this is an easy fix, I'd like to wait until we release poms 31 to decide.

Comment by Magnolia International [ 07/May/15 ]

Switched back to use the instrument-test goal. BUILD-210 provides additional safety with the repositoryPollutionProtection feature.

Generated at Sun Feb 11 23:39:41 CET 2024 using Jira 9.4.2#940002-sha1:46d1a51de284217efdcb32434eab47a99af2938b.