directory-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Pierre-Arnaud Marcelot ...@marcelot.net>
Subject Re: Compiling Studio
Date Mon, 06 Sep 2010 15:43:13 GMT
Hi Felix,

On 6 sept. 2010, at 17:19, Felix Knecht wrote:

> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
> 
> 
>>> A normal "mvn clean install" should build all modules.
> 
> +1 - That's what I do when trying out anything maven build based before
> doing RTFM.
> 
>> 
>> You're right.
>> 
>>> And a "mvn clean install -P !studio-full" should deactivate the
>>> profile and hence skip the modules.
>> 
>> 
>> With the following diff, all modules are built by default and the 'not-code' plugins
are excluded when running the following command lines:
>> - mvn clean install -Dfastbuild
>> - mvn clean install -P-studio-full
> 
> What happens when using "-Dfastbuild -Pstudio-full"? Isn't it rather
> confusing having to different variations to force the same profile. Once
> by indicating the profile once by setting a property? What's the benefit
> of it?

When using 'mvn clean install -Dfastbuild -Pstudio-full', the 'studio-full' profile is activated.

Actually there's no benefit of using both profile id or the property, it's just that you have
the choice of using one of them.
I tried to use the 'activeByDefault' activation property but it can't work properly with our
other profiles.
When setting this property on a profile, all other active by default profiles are deactivated.

Quoting the Maven documentation at [1]:
> 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.


So I used the property based activation to solve this.



However, I found a more clever solution and we could use the activation based on presence
of the 'pom.xml' file.

Using the following diff on Studio's trunk, by default, 'mvn clean install' would build everything,
and 'mvn clean install -P-studio-full' (notice the '-' in front of studio-full) would only
build the core code plugins:
> MacBookPro:Studio pajbam$ svn diff
> Index: pom.xml
> ===================================================================
> --- pom.xml	(revision 992968)
> +++ pom.xml	(working copy)
> @@ -133,6 +133,11 @@
>      -->
>      <profile>
>        <id>studio-full</id>
> +     <activation>
> +        <file>
> +          <exists>pom.xml</exists>
> +        </file>
> +     </activation>
>        <modules>
>          <module>libraries</module>
>          <module>helps</module>


WDYT?

Regards,
Pierre-Arnaud

[1] — http://maven.apache.org/guides/introduction/introduction-to-profiles.html


Mime
View raw message