[
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>\$\{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.
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.
* 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
> 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. 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.
--
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]>
----------------------------------------------------------------