Uploaded image for project: 'Maven'
  1. Maven
  2. MNG-4081

Subtle case: Avoid resolving artifacts from outside the reactor for plugins and extensions whose projects are inside the reactor

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Major
    • Resolution: Duplicate
    • 2.1.0-M1
    • None
    • None
    • None

    Description

      DefaultLifecycleExecutor.constructLifecycleMappings() can trigger the resolution of all the plugins declared in the project's build section. When this happens, even if those plugins are in the current reactor, that version will not be used. Instead, since those plugin artifacts haven't been built yet, the plugin will be resolved externally and bound into the plugin collector for later use. This means that even if the plugin itself isn't used until after it's build in the reactor, that version won't be used.

      I'm still investigating exactly how build extensions will interact with the reactor, but I suspect they cannot be available from the current reactor either, since build extensions are loaded up front and for the entire reactor at once. I'll post an update once I've explored that section of the code.

      Attachments

        Issue Links

          Activity

            People

              bentmann Benjamin Bentmann
              jdcasey John Dennis Casey
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: