Philip Pearson opened MINSTALL-115 and commented
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).
Affects: 2.5.2
Attachments:
Issue Links:
Remote Links:
1 votes, 6 watchers
Philip Pearson opened MINSTALL-115 and commented
When the
installAtEndconfiguration parameter is set totrueon a multimodule project with multiple class realms then because a different class loaders creates instances of theInstallMojoclass there will be muliple instances ofreadyProjectsCounterandinstallRequests.However, because the end is determined by
projectsReady = readyProjectsCounter.incrementAndGet() == reactorProjects.size()it will never complete asreadyProjectsCounterwill never equal the sizereactorProjectsif even one project is executed in another class realm.maven-deploy-pluginpartially solved this in MDEPLOY-193 by usingproject.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 thecreateChecksumandupdateReleaseInfoconfiguration 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 callinstallProject(instalRequest).Affects: 2.5.2
Attachments:
Issue Links:
MINSTALL-102 installAtEnd does not install artifacts for multi-module with packaging maven-archetype
KYLIN-3644 NumberFormatExcetion on null values when building cube with Spark
("is required by")
Remote Links:
1 votes, 6 watchers