[ 
https://issues.apache.org/jira/browse/MNG-6000?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15765549#comment-15765549
 ] 

Joerg Schaible commented on MNG-6000:
-------------------------------------

This is already possible using file exists.

> activeProfiles in pom.xml
> -------------------------
>
>                 Key: MNG-6000
>                 URL: https://issues.apache.org/jira/browse/MNG-6000
>             Project: Maven
>          Issue Type: Improvement
>          Components: POM, Profiles
>            Reporter: Fabrizio Lungo
>              Labels: features, maven
>
> I would like to see the ability to define {{<activeProfiles>}} in a pom. I 
> think this would be extremely useful and provide a way for a parent pom to 
> provide a set of profiles that can be picked and chosen from as per the needs 
> of the project.
> A simple but specific example is where I would like to have a profile from 
> our corporate parent pom that is activated when a project should build an 
> executable jar. This profile provides the configuration for the 
> {{maven-jar-plugin}} (as well as adding some validations and checks) and we 
> would like to activate this on a per project level.
> Initially I tried using properties but activation conditions only look at 
> system properties (and not pom defined ones) and even using a property in the 
> {{<activateByDefault>}} tag. As described in MNG-5235 this is because 
> profiles need to be processed first and using properties from the pom would 
> create chicken-egg problems and inconsistencies because a profile can then 
> modify these properties.
> If {{<activeProfiles>}} were to be added to pom, this could be read first to 
> determine if any profiles need to be activated and allow a pom to define 
> which profiles will be active by default.
> Two optional features that could be implemented to supplement this would be:
> * Support for {{<activeProfiles>}} inside of a profile for profiles to be 
> able to recursively enable other profiles (that they may depend on). This 
> would allow reduction of duplication if two profiles require some shared 
> preconditions they can then just activate the profile with this shared 
> configuration and if one or both are activated, the shared configuration 
> profile will be activated too. This should be fairly easy to implement using 
> recursive checks and not revisiting any profiles already in an active list 
> (to avoid cycles - which should be warned about - and unnecessary 
> re-evaluations)
> * Support for disabling profiles (possibly by using 
> {{<profile>!profile-1</profile>}} syntax. This could have advantages where a 
> parent pom activates a profile by default and the child wants it disabled by 
> default although I can see this may cause problems.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to