That would be a lovely solution...unfortunately the property activation refers to system properties (i.e. specified on the command line), not project properties.
I think you're right about packaging. It would be great to have a <packaging> profile activation. > -----Original Message----- > From: Tim Kettler [mailto:[EMAIL PROTECTED] > Sent: Thursday, April 06, 2006 10:51 PM > To: Maven Users List > Subject: Re: Can I activate a profile based on module type? > > Hi, > > I never tried this but I think this could/should work: > > 1. You define the profiles in your parent pom like this > > <profiles> > <profile> > <id>library</id> > <activation> > <property> > <name>moduletype</name> > <value>jar</value> > </property> > </activation> > ... > </profile> > > <profile> > <id>webapp</id> > <activation> > <property> > <name>moduletype</name> > <value>war</value> > </property> > </activation> > ... > </profile> > </profiles> > > 2. In your modules you then define the property as needed > > <properties> > <moduletype>lib</moduletype> > </properties> > > The most elegant solution would be to not use a custom defined property at > all but the > vaule of the <packaging/> element of the module poms but I don't know if > the content is > made available as a property. > > -Tim > > John Didion schrieb: > > I have a project with several different types of modules - some are > > libraries (stand-alone jars), some are wars, some are executables (jars > > plus some extra plugins to generate batch files and create an assembly). > > I would like to put the configuration for all these different project > > types in to my top-level pom, and then have each module activate only > > the plugin configurations that apply to its type. Profiles seem a > > natural way to do this, but I can't find any way to explicitly activate > > them from a module. > > > > Using the activeProfiles element in settings.xml doesn't make sense > > since the profile I want to activate will differ depending on the > > module. I tried using a profiles.xml and setting the activeProfiles > > there, but unfortunately that only applies to the profiles defined in > > profiles.xml. > > > > Is there another way to do what I want? > > > > Here's an example: > > > > pom.xml > > ------------- > > <project> > > > > <groupId>test</groupId> > > <artifactId>parent</artifactId> > > > > <profile> > > <id>library</id> > > <pluginManagement> > > <plugins> > > <plugin> > > <groupId>foo</groupId> > > <artifactId>foo</artifactId> > > <configuration> > > ... > > </configuration> > > </plugin> > > </plugins> > > </pluginManagement> > > </profile> > > > > <profile> > > <id>webapp</id> > > <pluginManagement> > > <plugins> > > <plugin> > > <groupId>foo</groupId> > > <artifactId>foo</artifactId> > > <configuration> > > ... (different than the library profile's configuration) > > </configuration> > > </plugin> > > </plugins> > > </pluginManagement> > > </profile> > > > > </project> > > > > child/pom.xml > > --------------------- > > <project> > > <parent> > > <groupId>test</groupId> > > <artifactId>parent</artifactId> > > </parent> > > <groupId>test</groupId> > > <artifactId>child</artifactId> > > > > ...what do I do here to activate the library profile?... > > </project> > > > > --------------------------------------------------------------------- > > 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] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]