Philip Pearson created MINSTALL-115:
---------------------------------------

             Summary: 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


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