maven-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Leonard Brünings (JIRA) <j...@apache.org>
Subject [jira] [Commented] (MINSTALL-115) Setting installAtEnd causes no installs to occur when a multimodule project has multiple class realms
Date Tue, 04 Dec 2018 18:08:00 GMT

    [ https://issues.apache.org/jira/browse/MINSTALL-115?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16709063#comment-16709063
] 

Leonard Brünings commented on MINSTALL-115:
-------------------------------------------

This also happens if different versions of the install/deploy plugins are used in the multimodule
build. I hope this gets fixed soon.

> 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
>            Priority: Major
>         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
(v7.6.3#76005)

Mime
View raw message