profile activation have trouble when based on project variable
--------------------------------------------------------------

                 Key: MNG-4927
                 URL: http://jira.codehaus.org/browse/MNG-4927
             Project: Maven 2 & 3
          Issue Type: Bug
    Affects Versions: 3.0.1, 2.2.1
         Environment: Ubuntu/Maven 3.0.1 or WindowsXP/Maven 2.2.1
JVM 1.6
            Reporter: David N'DIAYE
         Attachments: pom.xml

I tried to manage the generation of Java code from a wsdl via a Maven profile 
that is activated only if the build directory does not exist, and the 
activation profile behaved oddly.

For example, this activation code is always active, even if 
{{'target/generated-sources'}} exists.
{code:xml}
<activation>
        <activeByDefault>false</activeByDefault>
        <file>
                <missing>${project.build.directory}/generated-sources/</missing>
        </file>
</activation>
{code}

I create a simple test case.
# first step, check profiles which are activate
{code:title=mvn help:active-profiles|borderStyle=solid}
$ mvn help:active-profiles
[INFO] Scanning for projects...
[INFO]                                                                         
[INFO] ------------------------------------------------------------------------
[INFO] Building profile 0.0.1
[INFO] ------------------------------------------------------------------------
[INFO] 
[INFO] --- maven-help-plugin:2.1.1:active-profiles (default-cli) @ profile ---
[INFO] 
Active Profiles for Project 'tescase:profile:jar:0.0.1': 

The following profiles are active:

 - test-profile-ok (source: pom)
 - test-profile-ko (source: pom)
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
{code}
# second step, compile
{code:title=mvn compile|borderStyle=solid}
$ mvn compile
[INFO] Scanning for projects...
[INFO]                                                                         
[INFO] ------------------------------------------------------------------------
[INFO] Building profile 0.0.1
[INFO] ------------------------------------------------------------------------
[INFO] 
[INFO] --- maven-antrun-plugin:1.3:run (wsdl2java-ko) @ profile ---
[INFO] Executing tasks
     [echo] profile test-profile-ko : unfortunately this profile is always 
active
[INFO] Executed tasks
[INFO] 
[INFO] --- maven-antrun-plugin:1.3:run (wsdl2java-ok) @ profile ---
[INFO] Executing tasks
     [echo] profile test-profile-ok : This profile is active if and only if, 
the directory 'target/generated-sources' does not exist
[INFO] Executed tasks
[INFO] 
[INFO] --- maven-resources-plugin:2.4.3:resources (default-resources) @ profile 
---
[WARNING] Using platform encoding (UTF-8 actually) to copy filtered resources, 
i.e. build is platform dependent!
[INFO] skip non existing resourceDirectory 
/home/david/tmp/jira/maven/activationProfile/src/main/resources
[INFO] 
[INFO] --- maven-compiler-plugin:2.3.2:compile (default-compile) @ profile ---
[INFO] No sources to compile
[INFO] 
[INFO] --- maven-antrun-plugin:1.3:run (default) @ profile ---
[INFO] Executing tasks
     [echo] build sample
     [echo] mkdir 
/home/david/tmp/jira/maven/activationProfile/target/generated-sources
    [mkdir] Created dir: 
/home/david/tmp/jira/maven/activationProfile/target/generated-sources
[INFO] Executed tasks
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
{code}
# third step : the first error, *{color:red}the profile which is activate by 
variable is always active{color}*
{code:title=mvn help:active-profiles|borderStyle=solid}
$ mvn help:active-profiles
[INFO] Scanning for projects...
[INFO]                                                                         
[INFO] ------------------------------------------------------------------------
[INFO] Building profile 0.0.1
[INFO] ------------------------------------------------------------------------
[INFO] 
[INFO] --- maven-help-plugin:2.1.1:active-profiles (default-cli) @ profile ---
[INFO] 
Active Profiles for Project 'tescase:profile:jar:0.0.1': 

The following profiles are active:

 - test-profile-ko (source: pom)
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
{code}
# fourth step : when i relaunch the compile *{color:red}the profile is still 
active{color}*
{code:title=mvn compile|borderStyle=solid}
$ mvn compile
[INFO] Scanning for projects...
[INFO]                                                                         
[INFO] ------------------------------------------------------------------------
[INFO] Building profile 0.0.1
[INFO] ------------------------------------------------------------------------
[INFO] 
[INFO] --- maven-antrun-plugin:1.3:run (wsdl2java-ko) @ profile ---
[INFO] Executing tasks
     [echo] profile test-profile-ko : unfortunately this profile is always 
active
[INFO] Executed tasks
...
{code}

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