You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@maven.apache.org by Jim McCaskey <ji...@pervasive.com> on 2010/02/25 21:40:48 UTC
Multiple active profiles issue
Hello all,
I'm having a little problem with profiles that I can't quite seem to figure out. I have a pom that has 3 profiles defined in it. 2 active by default and one active if a env var is set (BUILD_TAG). My little test pom is below.
Now, when I do not set BUILD_TAG, it works as I expect.
[INFO] [help:active-profiles]
[INFO]
Active Profiles for Project 'test:test:pom:0.1':
The following profiles are active:
- win32 (source: pom)
- win64 (source: pom)
- profile-1 (source: settings.xml)
But as soon as I set the env var, the win32 and win64 profiles go away:
[INFO] [help:active-profiles]
[INFO]
Active Profiles for Project 'test:test:pom:0.1':
The following profiles are active:
- hudson (source: pom)
- profile-1 (source: settings.xml)
We typically use Maven 2.1.0 but I have also tested Maven 2.2.1. I tried Maven 3.0 and that ignores the env var all together. Any ideas on what I may be doing wrong in my pom?
-Jim
<?xml version="1.0" encoding="UTF-8"?>
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>test</groupId>
<artifactId>test</artifactId>
<packaging>pom</packaging>
<version>0.1</version>
<profiles>
<profile>
<id>win32</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
</profile>
<profile>
<id>win64</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
</profile>
<profile>
<id>hudson</id>
<activation>
<activeByDefault>false</activeByDefault>
<property>
<name>env.BUILD_TAG</name>
</property>
</activation>
</profile>
</profiles>
</project>
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
For additional commands, e-mail: users-help@maven.apache.org
RE: Multiple active profiles issue
Posted by Jim McCaskey <ji...@pervasive.com>.
To answer my own question (talking to myself in public... sheesh), I fixed it well enough for me (see pom below). I also think it turns out as working as designed. Apparently if any activation element comes up true, it overrides all activeByDefault elements [1]. I guess I assumed that meant it was active unless deactivated via cli. Live and learn.
-Jim
[1] http://maven.apache.org/guides/introduction/introduction-to-profiles.html (search for activeByDefault)
<?xml version="1.0" encoding="UTF-8"?>
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>test</groupId>
<artifactId>test</artifactId>
<packaging>pom</packaging>
<version>0.1</version>
<profiles>
<profile>
<id>win32</id>
<activation>
<activeByDefault>true</activeByDefault>
<property>
<name>env.BUILD_TAG</name>
</property>
</activation>
</profile>
<profile>
<id>win64</id>
<activation>
<activeByDefault>true</activeByDefault>
<property>
<name>env.BUILD_TAG</name>
</property>
</activation>
</profile>
<profile>
<id>hudson</id>
<activation>
<activeByDefault>false</activeByDefault>
<property>
<name>env.BUILD_TAG</name>
</property>
</activation>
</profile>
</profiles>
</project>
-----Original Message-----
From: Jim McCaskey [mailto:jim.mccaskey@pervasive.com]
Sent: Thursday, February 25, 2010 2:41 PM
To: 'users@maven.apache.org'
Subject: Multiple active profiles issue
Hello all,
I'm having a little problem with profiles that I can't quite seem to figure out. I have a pom that has 3 profiles defined in it. 2 active by default and one active if a env var is set (BUILD_TAG). My little test pom is below.
Now, when I do not set BUILD_TAG, it works as I expect.
[INFO] [help:active-profiles]
[INFO]
Active Profiles for Project 'test:test:pom:0.1':
The following profiles are active:
- win32 (source: pom)
- win64 (source: pom)
- profile-1 (source: settings.xml)
But as soon as I set the env var, the win32 and win64 profiles go away:
[INFO] [help:active-profiles]
[INFO]
Active Profiles for Project 'test:test:pom:0.1':
The following profiles are active:
- hudson (source: pom)
- profile-1 (source: settings.xml)
We typically use Maven 2.1.0 but I have also tested Maven 2.2.1. I tried Maven 3.0 and that ignores the env var all together. Any ideas on what I may be doing wrong in my pom?
-Jim
<?xml version="1.0" encoding="UTF-8"?>
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>test</groupId>
<artifactId>test</artifactId>
<packaging>pom</packaging>
<version>0.1</version>
<profiles>
<profile>
<id>win32</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
</profile>
<profile>
<id>win64</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
</profile>
<profile>
<id>hudson</id>
<activation>
<activeByDefault>false</activeByDefault>
<property>
<name>env.BUILD_TAG</name>
</property>
</activation>
</profile>
</profiles>
</project>
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
For additional commands, e-mail: users-help@maven.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
For additional commands, e-mail: users-help@maven.apache.org