Hi,

Before my involvement in this project, we would make a branded version
of our software by going into the pom and changing
<artifactId>development-brand</artifactId> to
<artifactId>ad-brand</artifactId> in a <dependency> declaration, for a
number of brands, then running mvn assembly:assembly again.  This
worked, but was so awkward that branded versions just didn't get built
until somebody basically begged for them.

I've moved the dependency stating development-brand to a profile named
development-brand, and created a number of other profiles for each
brand.  If I use mvn assembly:assembly -Pad-brand,-development-brand I
get an AD-branded version, which is nice, but now just mvn
assembly:assembly does not work at all; the build completes but the
application won't start because of a missing dependency.  mvn
help:active-profiles confirms that development-brand is not included
by default.

An activation of <activeByDefault>true</activeByDefault> for
development-brand won't help, as we always have another, pre-existing
profile, activated, windows, linux or osx.  Naming the profile
'default' won't help either for the same reason.

I tried, in the ad-brand profile, setting
<properties><brand>ad-brand</brand></properties> and having
development-brand
<activation><property>!brand</property></activation>, but then found
that development-brand was activated all the time, unless explicitly
deactivated on the command-line, which at least makes the default case
of no -P parameter work.  It seems like the activations are all
decided before the first activated profile's elements are used.

So my question is; how can I make it so that development-brand is
activated only if none of the other brands are?

-- 
Ricky Clarkson
Java and Scala Programmer, AD Holdings
+44 1565 770804
Skype: ricky_clarkson
Google Talk: [email protected]
Google Wave: [email protected]

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to