Maven 2 & 3

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

Vote (0)
Watch (0)

Dates

  • Created:
    Updated:
    Resolved: