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, 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