Skip to content

[MNG-7454] Include resolver-transport-http in Maven 3.9.x#710

Merged
cstamas merged 4 commits intomaven-3.9.xfrom
MNG-7454-resolver-http-transport
Apr 13, 2022
Merged

[MNG-7454] Include resolver-transport-http in Maven 3.9.x#710
cstamas merged 4 commits intomaven-3.9.xfrom
MNG-7454-resolver-http-transport

Conversation

@cstamas
Copy link
Copy Markdown
Member

@cstamas cstamas commented Apr 8, 2022

But keep Wagon as default transport. This PR merely includes
resolver http and file transport and switches wagon-http
to non-shaded one.

Changes:

  • switch to non-shaded wagon-http (as httpClient is now shared)
  • include resolver http and file transport
  • override resolver default behaviour (native transport preferred over wagon, when both on classpath)
  • provide simplistic means to choose transport

The chosen transport can be seen in debug (-X) output on line
[DEBUG] Using transporter XXX...

The -Dmaven.transport simplistic switch can be used to choose transport:

  • not set: default, that is Wagon
  • wagon: explicitly sets Wagon
  • resolver: explicitly sets resolver native transports (file and http)
  • auto: relies on resolver "auto discovery" (priorities, etc). This is MUST to keep transport pluggable with 3rd party transports. In fact, this was the default so far in Maven, along with the fact that native resolver transports were not included (as resolver prefers native ones over Wagon).

Note: resolver by default, if both wagon and native transports are present on classpath,
would prefer native ones. Hence, to retain "wagon as default" this extra config
bit is a must in Maven.

But keep Wagon as default transport. This PR merely includes
resolver http and file transport and switches wagon-http
to non-shaded one.

Changes:
* switch to non-shaded wagon-http (as httpClient is now shared)
* include resolver http and file transport
* override resolver default behaviour (native transport preferred over wagon, when both on classpath)
* provide simplistic means to choose transport

The chosen transport can be seen in debug (-X) output on line
`[DEBUG] Using transporter XXX...`

The `-Dmaven.traport` simplistic switch can be used to choose tranport:
* not set: default, that is Wagon
* `wagon`: explicitly sets Wagon
* `resolver`: explicitly sets resolver native transports (file and http)
* `auto`: relies on resolver "auto discovery" (priorities, etc). This is MUST to keep transport pluggable with 3rd party transports.

Note: resolver by default, if both wagon and native transports are present on classpath,
would prefer native ones. Hence, to retain "wagon as default" this extra config
bit is a must in Maven.
@cstamas
Copy link
Copy Markdown
Member Author

cstamas commented Apr 8, 2022

As branch maven-3.9.x is broken until #709 merged, MNG6090 ITs are expected to fail, but Wagon ancient (plexus XML and other) ITs should succeed.

@cstamas
Copy link
Copy Markdown
Member Author

cstamas commented Apr 8, 2022

Branch maven-3.9.x is fixed in the mean time, so now all ITs needs to pass.

@cstamas cstamas requested a review from gnodet April 8, 2022 16:59
@cstamas cstamas changed the title [MNG-7454] Include resolver-transport-http in Maven [MNG-7454] Include resolver-transport-http in Maven 3.9.x Apr 8, 2022
@cstamas cstamas merged commit 1ad5a1b into maven-3.9.x Apr 13, 2022
@cstamas cstamas deleted the MNG-7454-resolver-http-transport branch April 13, 2022 10:51
@gnodet gnodet mentioned this pull request May 24, 2023
@jira-importer
Copy link
Copy Markdown

Resolve #9137

@olamy olamy mentioned this pull request Apr 2, 2026
8 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants