maven-plugin-tools-api carried a compile dependency on wagon-provider-api
for two classes, as its own comment said: "wagon for proxy related
classes". The whole of that use was building a ProxyInfo as a carrier for
one string and handing it to ProxyUtils.validateNonProxyHosts.
The matching itself is a handful of lines with nothing Maven-specific in
it -- split on '|', treat '*' as a wildcard and '.' as a literal -- so it
is done here instead, and the dependency goes. Tests cover the wildcard,
the escaped dot, the pipe separator and the null cases.
Nothing else in plugin-tools touches Wagon.
Backport of #1151 to maven-plugin-tools-3.x. The cherry-pick was clean — JavadocSite.java is identical on the two branches.
maven-plugin-tools-api carries a compile dependency on wagon-provider-api for two classes, as its own comment says (<!-- wagon for proxy related classes -->). The whole use is building a ProxyInfo as a carrier for one string and passing it to ProxyUtils.validateNonProxyHosts. That matching is a handful of lines with nothing Maven-specific in it, so it is done in place and the dependency goes.
Verified on this branch: mvn -pl maven-plugin-tools-api test gives 48 tests, 0 failures — the 44 that were there plus the 4 new ones covering the wildcard, the escaped dot, the pipe separator and the null cases.
Why on a maintenance branch at all
3.x is the line that ships, and it is still active — this branch had a commit yesterday. Removing a compile dependency does change the published POM of a future 3.x release, so this is a judgement call rather than an obvious bugfix, and I am happy for it to be declined if you would rather 3.x took fixes only. The equivalent change for master is #1151.