[ 
https://issues.apache.org/jira/browse/MINSTALL-115?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Philip Pearson updated MINSTALL-115:
------------------------------------
    Attachment: InstallConfiguration.java
                mojo.patch

The attached files are sufficient to fixed the issue for me, but the 
{{InstallConfiguration}} class makes certain assumptions about the 
configuration object which probably could be improved upon.

> Setting installAtEnd causes no installs to occur when a multimodule project 
> has multiple class realms
> -----------------------------------------------------------------------------------------------------
>
>                 Key: MINSTALL-115
>                 URL: https://issues.apache.org/jira/browse/MINSTALL-115
>             Project: Maven Install Plugin
>          Issue Type: Bug
>          Components: install:install
>    Affects Versions: 2.5.2
>            Reporter: Philip Pearson
>         Attachments: InstallConfiguration.java, mojo.patch
>
>
> When the {{installAtEnd}} configuration parameter is set to {{true}} on a 
> multimodule project with multiple class realms then because a different class 
> loaders creates instances of the {{InstallMojo}} class there will be muliple 
> instances of {{readyProjectsCounter}} and {{installRequests}}.
> However, because the end is determined by {{projectsReady = 
> readyProjectsCounter.incrementAndGet() == reactorProjects.size()}} it will 
> never complete as {{readyProjectsCounter}} will never equal the size 
> {{reactorProjects}} if even one project is executed in another class realm.
> {{maven-deploy-plugin}} partially solved this in MDEPLOY-193 by using 
> {{project.equals(reactorProjects.get(reactorProjects.size() - 1))}} instead.  
> However, the installation is a little more complex than the deploy as we need 
> to read the used the {{createChecksum}} and {{updateReleaseInfo}} 
> configuration parameters from each installed project - we can't store them 
> ahead of time because of the issue with the class realms, so we need to read 
> the plugin configurations before we can call 
> {{installProject(instalRequest)}}.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to