Add a way to completely skip Clover
-----------------------------------
Key: BUILD-110
URL: http://jira.magnolia-cms.com/browse/BUILD-110
Project: Build
Issue Type: New Feature
Security Level: Public
Components: poms
Reporter: Grégory Joseph
Assignee: Grégory Joseph
Fix For: POMs24
Attachments: CLV-5796 - Maven plugin can't seem to be able to
completely skip Clover execution.webarchive
Following BUILD-58 and BUILD-90, I (with the help of Atlassian folks, Google,
and various colleagues, obviously) came to the conclusion that:
* Clover can't be entirely skipped using the {{<skip>}} configuration item; a
lifecycle will *always* be forked, as soon as a Clover goal is registered in
the build.
* So we need to push all Clover configuration into a profile to be able to
isolate it.
* Profiles can only be activated by the presence of a file, system property
(not pom property!), or manually (via the {{-P}} flag). (or depending on JDK or
OS, but this is irrelevant here)
* The activation of a profile (i.e what file is used as the "trigger" for
example) can not rely on pom properties either. (I tired doing
{{<activation><file><exists>\$\{fileToTriggerColover\}}}, then have a pom
property with a value of {{pom.xml}} - it would thus have been easy to change
the value of that property to some non-existant file in projects where we want
to skip Clover entirely. Does not work. Maven 3 seems to allow *some*
properties to be, like {{basedir}}, but that's about it.
Consequently, here's what I'm seeing as a practical solution:
* Declare a profile that enables Clover.
* On local dev builds, activate the profile manually (with {{-P}}).
* On build servers, the profile can be activated by a well known property
provided by the build server, such as {{BUILD_NUMBER}} on Hudson.
* Configure the release plugin to activate this profile during releases. In
fact, we already do this, and activate the existing {{release-perform-profile}}
profile, which enforces usage of Maven 2.2.1. We can move this to a pom
property, thus letting each project configure their {{releaseProfiles}} list:
{{release-perform-profile,enable-clover}} will be the default.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.magnolia-cms.com/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
----------------------------------------------------------------
For list details, see: http://www.magnolia-cms.com/community/mailing-lists.html
Alternatively, use our forums: http://forum.magnolia-cms.com/
To unsubscribe, E-mail to: <[email protected]>
----------------------------------------------------------------