[ 
http://jira.codehaus.org/browse/MNG-4516?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=205373#action_205373
 ] 

Barnabas Bodnar edited comment on MNG-4516 at 1/6/10 8:15 AM:
--------------------------------------------------------------

Apparently it was consciously decided for an "OR"-logic in the version 2.0.x 
(MNG-3106), although the documentation of that version too spoke about an 
"AND"-logic. Which were the reasons for it?


      was (Author: bbodnar):
    Apparently it was consciously decided for an "OR"-logic in the version 
2.0.x (MNG-3106), although the documentation of that version too spoke about an 
"AND"-logic. Which were the arguments for it?

  
> Contradiction between the documentation and Maven's behavior related to 
> profile-activation with multiple criteria
> -----------------------------------------------------------------------------------------------------------------
>
>                 Key: MNG-4516
>                 URL: http://jira.codehaus.org/browse/MNG-4516
>             Project: Maven 2 & 3
>          Issue Type: Bug
>          Components: Profiles
>    Affects Versions: 2.2.1
>            Reporter: Barnabas Bodnar
>            Priority: Critical
>         Attachments: debug_output.txt, example2.zip, output.txt, pom.xml
>
>
> The chapter 5.3.1 of the Maven Complete Reference (edition 0.2.1, Novemeber 
> 2009) speaks unambiguously about considering a logical "AND" between more 
> activation-conditions of a profile (cit.: "A profile is activated when all 
> activation criteria has been satisfied. For example, a profile could list an 
> Operating System family of Windows, and a JDK version of 1.4, this profile 
> will only be activated when the build is executed on a Windows machine 
> running Java 1.4."). 
> Suprisingly, Maven's real behavior suggests, that the logical "OR" operator 
> is used. The attached demo project contains a profile with two 
> activation-criteria: a property and the existence of a file. As the output 
> shows (attachement output.txt), the fulfillment of a single criterion is 
> enough for activating the profile. Also the corresponding implementation in 
> the Maven core expresses the intention to use an "OR" logic 
> (maven-project/src/main/java/org/apache/maven/profiles/DefaultProfileManager.java
>  r813685 (branch 2.2.x), line 268):
> for ( Iterator activatorIterator = activators.iterator(); 
> activatorIterator.hasNext(); )
> {
>     ProfileActivator activator = (ProfileActivator) activatorIterator.next();
>     if ( activator.canDetermineActivation( profile ) )
>     {
>         if ( activator.isActive( profile ) )
>         {
>             return true;
>         }
>     }
> }
> return false;
> As I'm considering the documentation's variant more reasonable, I'm reporting 
> this as a bug instead of a documentation-issue.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to