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)