Maven
  1. Maven
  2. MNG-4279

wagon provider selection should fail gracefully and use protocol for roleHint if protocol-provider roleHint isn't available.

    Details

    • Type: Improvement Improvement
    • Status: Closed Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 2.2.1
    • Fix Version/s: 2.2.1
    • Labels:
      None
    • Complexity:
      Intermediate
    • Number of attachments :
      0

      Description

      Currently, if the server section of the settings.xml uses wagonProvider to set a provider suffix, that provider may apply to multiple different repository definitions.

      If the user specifies a repository with protocol == http and provider == httpclient for artifact resolution using a server id of 'foo', then configure a distribution repository with protocol == scp, the provider == httpclient will be applied to this distribution repo, and result in an error like this:

      Component descriptor cannot be found in the component repository: org.apache.maven.wagon.Wagonscp-httpclient.
      

      Obviously, this will never work. In these cases, ideally different server IDs should be used. However, if not then Maven should fallback gracefully to a roleHint of 'scp'.

        Issue Links

          Activity

          Hide
          John Casey added a comment -

          added code to check that the protocol-provider hint exists before blindly passing it back. If it doesn't exist, simply fall back to the protocol as the hint.

          Show
          John Casey added a comment - added code to check that the protocol-provider hint exists before blindly passing it back. If it doesn't exist, simply fall back to the protocol as the hint.

            People

            • Assignee:
              John Casey
              Reporter:
              John Casey
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: