This proposal contains some suggestions for making profile activation and deactivation more powerful.
Currently each profile activator (property, os, jdk, etc) can only be specified for a single value. This limits the flexibility in many cases. For example, I may want to activate a certain profile for windows 2000 and windows xp, but not for any other versions of windows. If multiple os profile activators were allowed, the syntax for this would be very simple:
2. Allow deactivation options similar to the activation options (MNG-3326).
In order to provide the most flexibility, it would be helpful to have deactivation options. For example, I may want to use a particular profile for every os except for windows 98. In this case, I
It is also worth noting that some of these negatives have already been implemented in somewhat non-obvious ways. For example, a property activator can use an exclamation point in it's value
<value>!some-value</value> to accomplish something similar to profile deactivation. Also, the file operator also uses a
<missing> tag to provide similar behaviour to a file deactivator.
3. Add the ability to group profiles together.
There are some cases where it is useful to define a group of mutually exclusive profiles. For example, there could be a suite of tests that need to run against one of serveral database configurations. It would be helpful if profiles could be grouped together so that only one profile of a given group can be active at a time, without affecting profiles in other groups. For example, in the following configuration, the mysql and dev-reports profiles are active by default. Activating the oracle profile would automatically deactivate the mysql profile but have no effect on the activation/deactivation of the dev-reports profile.