On 9/27/2010 6:29 AM, Marshall Schor wrote:
>  Here's what I think I've learned.
>
> The release plugin operates in an unusual way, in that there are two 
> invocations
> of work, the "outer" invocation, and an "inner" one. 
>
> The inner one is evidenced in the output by having output lines to the console
> that have two prefixes:
>
> [INFO] [INFO] message...
>
> The inner one is run with profiles that can be set using the release plugin's
> configuration parameters:
>
> <useReleaseProfile>false</useReleaseProfile>
> <arguments>-Papache-release</arguments>
>
> These settings *do-not* affect the running of the "outer" invocation.
>
> The outer invocation, when passed a multi-module configuration, does a couple 
> of
> interesting things:
>
> 1) it sets itself up so it SKIPS all the module processing.  You can see this 
> in
> the build at the end, where it displays a summary of the build steps, and it
> shows all the other modules in the build with a line:
> [INFO] ...name... SKIPPED

Here's how it does that:  Each "mojo" (corresponds to a "goal") in the release
plugin which operates this way, is annotated with "@aggregator".  See
http://www.sonatype.com/books/mvnref-book/reference/writing-plugins-sect-plugin-descriptor.html
and search for "aggregator".

-Marshall Schor

<http://www.sonatype.com/books/mvnref-book/reference/writing-plugins-sect-plugin-descriptor.html>

> 2) Nevertheless, it uses all the information about all of the projects in the
> Reactor, to walk through all of them, and do various operations on all of 
> them. 
> These include manipulating the poms to new versions.  (This information is 
> also
> used during release:clean - to clean up all the submodules.)
>
> This is why it is able to find and update inter-dependent sets of modules, at
> -SNAPSHOT levels, and update all of them.
>
> The message "There are still some remaining snapshot dependencies" - comes 
> after
> the inter-dependent set of modules have been processed to update from the
> -SNAPSHOT levels.  This the meaning of the word *still*, here.
>
> This message isn't given if all of the -SNAPSHOTs were resolved during the
> processing of all the modules in the Reactor in the "outer" invocation.
>  
>
> Maybe one of the implementors of the release plugin can confirm this theory 
> :-).
>
> -Marshall
>
> On 9/26/2010 5:45 AM, Antonio Petrelli wrote:
>> 2010/9/26 Marshall Schor <[email protected]>:
>>> I guess the super-pom turning on apache-release happened after my <profile> 
>>> in
>>> my top level aggregator project was "processed", maybe...  (not sure about 
>>> this).
>> Mmm... Here it is:
>> https://repository.apache.org/service/local/repositories/releases/content/org/apache/apache/7/apache-7.pom
>> The only relevant thing I see is a different configuration of the deploy 
>> plugin:
>> <updateReleaseInfo>true</updateReleaseInfo>
>>
>> Antonio
>>
>> ---------------------------------------------------------------------
>> 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]
>
>
>

Reply via email to