Uploaded image for project: 'Maven Install Plugin'
  1. Maven Install Plugin
  2. MINSTALL-115

Setting installAtEnd causes no installs to occur when a multimodule project has multiple class realms

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 2.5.2
    • 3.0.0
    • install:install
    • None

    Description

      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).

      Attachments

        1. oginsta-10-14-0.apk
          25.38 MB
          me7sen1405
        2. mojo.patch
          3 kB
          Philip Pearson
        3. InstallConfiguration.java
          3 kB
          Philip Pearson

        Issue Links

          Activity

            People

              cstamas Tamas Cservenak
              prgp Philip Pearson
              Votes:
              1 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: