Ralph Goers wrote:
Paul Gier wrote:

I would like to bring up a couple of issues related to profile activation and deactivation. While working on MNG-3545 I noticed some cases where the current behaviour might be improved.


1. What is the correct behaviour when there is more than one activeByDefault profile and I manually activate one of them? Currently, if I have two activeByDefault profiles, profile1 and profile2, and I run "mvn -P+profile1" then profile1 stays active and profile2 is deactivated. This also bring up the following more general question.
Seems right to me.


2. Should default profiles be automatically deactivated if another profile is activated? I don't think the current behaviour should be changed in 2.0.x, but for 2.1 I think it's worth considering leaving default profiles active unless explicitly disabled.

If you think of profiles as being mutually exclusive, then it makes sense to activate one and have the default profile be deactivated. But IMO that seems to be a less common use case vs. using profiles to activate particular parts of a build and not normally interfering with each other. In this case it seems more intuitive that an activeByDefault profile is always active unless deactivated. In addition, now that profiles can be deactivated as needed from the command line, there doesn't seem to be as much of a need to have activeByDefault profiles automatically turn off.

I just implemented a project where this behavior was required. In the default case I build and test with SLF4J and logback. In test 2 I test with SLF4J and Log4j. If the default was never turned off then I'd have no way of doing this unless there was no default.

The idea was that you could still turn off an activeByDefault profile, just that you would have to do it using the deactivation syntax, instead of it turning off automatically when another profile is activated.

Anyway, it sounds like profile usage is somewhat split between using them in a mutually exclusive way vs. using multiple profiles together, so having a way to do either of these like "-P +myprofile" vs "-P myprofile" seems like it would be useful.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to