maven-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Robert Scholte" <rfscho...@apache.org>
Subject Re: How do I de-activate a profile if another profile is specified?
Date Thu, 08 Aug 2013 21:40:57 GMT
Ths is a good example for "activeByDefault" as described at  
http://maven.apache.org/ref/3.1.0/maven-model/maven.html#class_activation

"If set to true, this profile will be active unless another profile in  
this pom is activated using the command line -P option or by one of that  
profile's activators.
Default value is: false."

Robert

Op Thu, 08 Aug 2013 23:35:58 +0200 schreef Curtis Rueden  
<ctrueden@wisc.edu>:

> Hi Dave,
>
>> I want to activate a profile (profileA) at all times unless the user
>> specifically requests profile B on the command line
>
> I didn't look at the Maven source code, but I am guessing all profile
> activations are evaluated before any activations actually take place?  
> That
> would an intuitive way to code it, anyway.
>
> As a workaround, you could do:
>
>                 <profile>
>                         <id>recreateTestDbON</id>
>                         <activation>
>                                 <property>
>                                         <name>recreateTestDb</name>
>                                 </property>
>                         </activation>
>                         ...
>                 </profile>
>
>                 <profile>
>                         <id>recreateTestDbOFF</id>
>                         <activation>
>                                 <property>
>                                         <name>!recreateTestDb</name>
>                                 </property>
>                         </activation>
>                         ...
>                 </profile>
>
> And have your users enable the feature using:
>
>      mvn -DrecreateTestDb
>
> Regards,
> Curtis
>
>
> On Thu, Aug 8, 2013 at 4:13 PM, laredotornado-3  
> <laredotornado@gmail.com>wrote:
>
>> Hi,
>>
>> I'm using Maven 3.0.3.  I want to activate a profile (profileA) at all
>> times
>> unless the user specifically requests profile B on the command line  
>> (e.g.
>> "-P profileB").  However, right now both profiles are active when I run
>>
>>         mvn clean install -P profileB
>>
>> and I can't figure out why.  Here's the relevant section from my parent
>> pom.xml <profiles> section:
>>
>>                 <profile>
>>                         <id>profileB</id>
>>                         <properties>
>>                                 <recreateTestDb>true</recreateTestDb>
>>                         ...
>>                         </properties>
>>                 </profile>
>>
>>                 <profile>
>>                         <id>profileA</id>
>>                         <activation>
>>                                 <property>
>>                                         <name>!recreateTestDb</name>
>>                                 </property>
>>                         </activation>
>>                         <properties>
>>                                ...
>>                         </properties>
>>                 </profile>
>>
>> Any suggestions how to configure the profiles to get the desired  
>> behavior?
>> Thanks, - Dave
>>
>>
>>
>> --
>> View this message in context:
>> http://maven.40175.n5.nabble.com/How-do-I-de-activate-a-profile-if-another-profile-is-specified-tp5767107.html
>> Sent from the Maven - Users mailing list archive at Nabble.com.
>>
>> ---------------------------------------------------------------------
>> 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


Mime
View raw message