[ 
http://jira.magnolia-cms.com/browse/BUILD-110?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Grégory Joseph updated BUILD-110:
---------------------------------

    Description: 
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. See 
[CLV-5796|https://support.atlassian.com/browse/CLV-5796?focusedCommentId=2490535&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-2490535].
* 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>$\{fileToTriggerClover\}}}, 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.

  was:
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. See 
[CLV-5796|https://support.atlassian.com/browse/CLV-5796?focusedCommentId=2490535&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-2490535].
* 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.


> 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
>            Priority: Critical
>             Fix For: POMs 24
>
>         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. See 
> [CLV-5796|https://support.atlassian.com/browse/CLV-5796?focusedCommentId=2490535&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-2490535].
> * 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>$\{fileToTriggerClover\}}}, 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]>
----------------------------------------------------------------

Reply via email to