I am pretty sure it should only affect the current pom. However, perhaps there's a subtle difference between using -P to explicitly activate a profile and using a property to activate (combined with -D)
-----Original Message----- From: Glen Mazza [mailto:[EMAIL PROTECTED] Sent: Wednesday, June 11, 2008 8:15 PM To: [email protected] Subject: Does explicitly activating a profile deactivate activeByDefault profiles in parent POMs? Hello, I created Mavenized web service build scripts[1] that work with either the GlassFish Metro or Apache CXF web service stacks. I was hoping that the user can just enter -PMetro or -PCXF and the scripts would give them a CXF-based or a Metro-based web service provider or SOAP client. But I think I've detected either a Maven bug or an error in my thinking. The Maven Build Profile documentation[2] states that activeByDefault=true profiles are deactivated if another profile within the same pom file is explicitly activated: "All profiles that are active by default are automatically deactivated when a profile in the pom is activated on the command line or through its activation config." [1] shows three pom files, a parent pom and separate submodule poms for the web service provider and SOAP client. Within the parent POM and service POM I have two profiles defined, "Metro" and "CXF", with CXF active by default for both. Here was what I was thinking: 1.) If I'm in the service POM's directory and enter "mvn whatever -PMetro", not only is the activeByDefault CXF profile in the service POM deactivated, but also the CXF in the parent POM. Furthermore, the parent POM's Metro profile would be activated. 2.) If I'm in the client POM's directory (the POM with no profiles declared), and enter "mvn whatever -PMetro", again, the CXF profile in the parent POM would be deactivated and the Metro one activated. Am I wrong on both accounts here? Does this activation/deactivation of activeByDefault profiles only hold for the current POM in the directory I am in--they will *not* carry over to parent POM's? If I have to, I can change the blog entry to instruct the user to manually move the activeByDefault in the parent POM to the web service stack he/she is actually using, unless someone can think of something better. Thanks, Glen [1] http://www.jroller.com/gmazza/date/20080417#WFstep3 [2] http://maven.apache.org/guides/introduction/introduction-to-profiles.htm l -- View this message in context: http://www.nabble.com/Does-explicitly-activating-a-profile-deactivate-ac tiveByDefault-profiles-in-parent-POMs--tp17790007p17790007.html Sent from the Maven - Users mailing list archive at Nabble.com. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
