This is an automated email from the ASF dual-hosted git repository.

elharo pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/maven-javadoc-plugin.git


The following commit(s) were added to refs/heads/master by this push:
     new dd0c0660 Decouple from wagon proxy classes (#1209)
dd0c0660 is described below

commit dd0c06604747e6ad8c0b18bae0f87200a4119f8d
Author: Elliotte Rusty Harold <[email protected]>
AuthorDate: Sun Jul 6 07:52:52 2025 -0400

    Decouple from wagon proxy classes (#1209)
    
    * Decouple from wagon proxy classes
    * rename method
---
 .../apache/maven/plugins/javadoc/JavadocUtil.java  | 31 +++++++++++++++-------
 1 file changed, 22 insertions(+), 9 deletions(-)

diff --git a/src/main/java/org/apache/maven/plugins/javadoc/JavadocUtil.java 
b/src/main/java/org/apache/maven/plugins/javadoc/JavadocUtil.java
index 63de9bb5..4d272382 100644
--- a/src/main/java/org/apache/maven/plugins/javadoc/JavadocUtil.java
+++ b/src/main/java/org/apache/maven/plugins/javadoc/JavadocUtil.java
@@ -96,8 +96,6 @@ import 
org.apache.maven.shared.invoker.MavenInvocationException;
 import org.apache.maven.shared.invoker.PrintStreamHandler;
 import org.apache.maven.shared.utils.io.DirectoryScanner;
 import org.apache.maven.shared.utils.io.FileUtils;
-import org.apache.maven.wagon.proxy.ProxyInfo;
-import org.apache.maven.wagon.proxy.ProxyUtils;
 import org.codehaus.plexus.languages.java.version.JavaVersion;
 import org.codehaus.plexus.util.cli.CommandLineException;
 import org.codehaus.plexus.util.cli.CommandLineUtils;
@@ -1527,20 +1525,17 @@ public class JavadocUtil {
         // Some web servers don't allow the default user-agent sent by 
httpClient
         builder.setUserAgent("Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 
5.0)");
 
-        // Some server reject requests that do not have an Accept header
+        // Some servers reject requests that do not have an Accept header
         builder.setDefaultHeaders(Collections.singletonList(new 
BasicHeader(HttpHeaders.ACCEPT, "*/*")));
 
         if (settings != null && settings.getActiveProxy() != null) {
             Proxy activeProxy = settings.getActiveProxy();
-
-            ProxyInfo proxyInfo = new ProxyInfo();
-            proxyInfo.setNonProxyHosts(activeProxy.getNonProxyHosts());
-
+            String nonProxyHosts = activeProxy.getNonProxyHosts();
             String activeProxyHost = activeProxy.getHost();
             if (activeProxyHost != null
                     && !activeProxyHost.isEmpty()
-                    && (url == null || 
!ProxyUtils.validateNonProxyHosts(proxyInfo, url.getHost()))) {
-                HttpHost proxy = new HttpHost(activeProxy.getHost(), 
activeProxy.getPort());
+                    && (url == null || !isNonProxyHost(nonProxyHosts, 
url.getHost()))) {
+                HttpHost proxy = new HttpHost(activeProxyHost, 
activeProxy.getPort());
                 builder.setProxy(proxy);
 
                 String activeProxyUsername = activeProxy.getUsername();
@@ -1559,6 +1554,24 @@ public class JavadocUtil {
         return builder.build();
     }
 
+    private static boolean isNonProxyHost(String nonProxyHosts, String 
targetHost) {
+        if (nonProxyHosts == null) {
+            return false;
+        }
+        if (targetHost == null) {
+            targetHost = "";
+        }
+        StringTokenizer tokenizer = new StringTokenizer(nonProxyHosts, "|");
+        while (tokenizer.hasMoreTokens()) {
+            String pattern = tokenizer.nextToken();
+            pattern = pattern.replaceAll("\\.", "\\\\.").replaceAll("\\*", 
".*");
+            if (targetHost.matches(pattern)) {
+                return true;
+            }
+        }
+        return false;
+    }
+
     static boolean equalsIgnoreCase(String value, String... strings) {
         for (String s : strings) {
             if (s.equalsIgnoreCase(value)) {

Reply via email to