You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Robert Scholte (JIRA)" <ji...@codehaus.org> on 2013/02/02 12:04:14 UTC

[jira] (MNG-5127) CLONE - Maven profile activation does not work when profile is defined in inherited 'parent' pom

     [ https://jira.codehaus.org/browse/MNG-5127?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Robert Scholte updated MNG-5127:
--------------------------------

    Description: 
The goal is to activate a maven profile based on OS user name.
When I create a standalone project with a profile activation, it works,
however, when I define the profile in a "parent" pom, it is never activated.

this works:
{code:xml}
...
  <profile>
    <id>TONY</id>
<activation>
<property>
<name>user.name</name>
<value>WINTONY</value>
</property>
</activation>
    <properties>
    </properties>
{code}
   
So in this case, my profile is activated based on my OS user name
{noformat}
[INFO] Scanning for projects...
[INFO] Searching repository for plugin with prefix: 'help'.
[INFO] ----------------------------------------------------------------------------
[INFO] Building Proj1
[INFO] task-segment: [help:active-profiles] (aggregator-style)
[INFO] ----------------------------------------------------------------------------
[INFO] [help:active-profiles]
[INFO]
Active Profiles for Project 'com.capgemini.be.proj1:parent:pom:4.0.2':

The following profiles are active:

 - TONY (source: pom)
{noformat}

------------------


However, if I now have the profiles definition in the "parent" pom, it doesn't work when I build a child project
So the child project references the parent pom containing the profiles and the activation, but when it is built,
the profile is not activated
{code:xml|title=PARENT POM}
...
  <profiles>
  <profile>
    <id>TONY</id>
<activation>
<property>
<name>user.name</name>
<value>WINTONY</value>
</property>
</activation>
    <properties>
...
{code}

{code:xml|title=CHILD POM (the one being built)}
<project>
<parent>
<groupId>com.capgemini.be.proj1</groupId>
<artifactId>parent</artifactId>
<version>4.0.2</version>
</parent>
{code}

{noformat}
[INFO] Scanning for projects...
[INFO] Searching repository for plugin with prefix: 'help'.
[INFO] ----------------------------------------------------------------------------
[INFO] Building Proj1 Application
[INFO] task-segment: [help:active-profiles] (aggregator-style)
[INFO] ----------------------------------------------------------------------------
[INFO] [help:active-profiles]
[INFO]
Active Profiles for Project 'com.capgemini.be.proj1:proj1-webapp:jar:4.0.2':

There are no active profiles. 
{noformat}

  was:
The goal is to activate a maven profile based on OS user name.
When I create a standalone project with a profile activation, it works,
however, when I define the profile in a "parent" pom, it is never activated.

this works:
...
  <profile>
    <id>TONY</id>
<activation>
<property>
<name>user.name</name>
<value>WINTONY</value>
</property>
</activation>
    <properties>
    </properties>
   
So in this case, my profile is activated based on my OS user name

[INFO] Scanning for projects...
[INFO] Searching repository for plugin with prefix: 'help'.
[INFO] ----------------------------------------------------------------------------
[INFO] Building Proj1
[INFO] task-segment: [help:active-profiles] (aggregator-style)
[INFO] ----------------------------------------------------------------------------
[INFO] [help:active-profiles]
[INFO]
Active Profiles for Project 'com.capgemini.be.proj1:parent:pom:4.0.2':

The following profiles are active:

 - TONY (source: pom)


------------------


However, if I now have the profiles definition in the "parent" pom, it doesn't work when I build a child project
So the child project references the parent pom containing the profiles and the activation, but when it is built,
the profile is not activated
PARENT POM:
...
  <profiles>
  <profile>
    <id>TONY</id>
<activation>
<property>
<name>user.name</name>
<value>WINTONY</value>
</property>
</activation>
    <properties>
...

CHILD POM (the one being built)
<project>
<parent>
<groupId>com.capgemini.be.proj1</groupId>
<artifactId>parent</artifactId>
<version>4.0.2</version>
</parent>



[INFO] Scanning for projects...
[INFO] Searching repository for plugin with prefix: 'help'.
[INFO] ----------------------------------------------------------------------------
[INFO] Building Proj1 Application
[INFO] task-segment: [help:active-profiles] (aggregator-style)
[INFO] ----------------------------------------------------------------------------
[INFO] [help:active-profiles]
[INFO]
Active Profiles for Project 'com.capgemini.be.proj1:proj1-webapp:jar:4.0.2':

There are no active profiles. 

    
> CLONE - Maven profile activation does not work when profile is defined in inherited 'parent' pom
> ------------------------------------------------------------------------------------------------
>
>                 Key: MNG-5127
>                 URL: https://jira.codehaus.org/browse/MNG-5127
>             Project: Maven 2 & 3
>          Issue Type: Bug
>            Reporter: Gilles Scokart
>            Assignee: John Casey
>         Attachments: daddy2.zip, daddy.zip
>
>
> The goal is to activate a maven profile based on OS user name.
> When I create a standalone project with a profile activation, it works,
> however, when I define the profile in a "parent" pom, it is never activated.
> this works:
> {code:xml}
> ...
>   <profile>
>     <id>TONY</id>
> <activation>
> <property>
> <name>user.name</name>
> <value>WINTONY</value>
> </property>
> </activation>
>     <properties>
>     </properties>
> {code}
>    
> So in this case, my profile is activated based on my OS user name
> {noformat}
> [INFO] Scanning for projects...
> [INFO] Searching repository for plugin with prefix: 'help'.
> [INFO] ----------------------------------------------------------------------------
> [INFO] Building Proj1
> [INFO] task-segment: [help:active-profiles] (aggregator-style)
> [INFO] ----------------------------------------------------------------------------
> [INFO] [help:active-profiles]
> [INFO]
> Active Profiles for Project 'com.capgemini.be.proj1:parent:pom:4.0.2':
> The following profiles are active:
>  - TONY (source: pom)
> {noformat}
> ------------------
> However, if I now have the profiles definition in the "parent" pom, it doesn't work when I build a child project
> So the child project references the parent pom containing the profiles and the activation, but when it is built,
> the profile is not activated
> {code:xml|title=PARENT POM}
> ...
>   <profiles>
>   <profile>
>     <id>TONY</id>
> <activation>
> <property>
> <name>user.name</name>
> <value>WINTONY</value>
> </property>
> </activation>
>     <properties>
> ...
> {code}
> {code:xml|title=CHILD POM (the one being built)}
> <project>
> <parent>
> <groupId>com.capgemini.be.proj1</groupId>
> <artifactId>parent</artifactId>
> <version>4.0.2</version>
> </parent>
> {code}
> {noformat}
> [INFO] Scanning for projects...
> [INFO] Searching repository for plugin with prefix: 'help'.
> [INFO] ----------------------------------------------------------------------------
> [INFO] Building Proj1 Application
> [INFO] task-segment: [help:active-profiles] (aggregator-style)
> [INFO] ----------------------------------------------------------------------------
> [INFO] [help:active-profiles]
> [INFO]
> Active Profiles for Project 'com.capgemini.be.proj1:proj1-webapp:jar:4.0.2':
> There are no active profiles. 
> {noformat}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://jira.codehaus.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira