You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by sl...@apache.org on 2026/09/04 13:55:30 UTC

(maven-wagon) branch wagon-3.x updated (f0b0877f -> 60950447)

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

slachiewicz pushed a change to branch wagon-3.x
in repository https://gitbox.apache.org/repos/asf/maven-wagon.git


    from f0b0877f Give MKCOL the status vocabulary RFC 4918 defines
     new c9205322 Keep the JSR-330 annotations off the wagon transitive classpath
     new 60950447 Publish the HTTP and WebDAV wagons as JSR-330 beans

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 wagon-providers/pom.xml                            |  5 +-
 .../maven/wagon/providers/http/HttpWagon.java      |  3 ++
 .../http/{HttpWagon.java => HttpsWagon.java}       |  7 +--
 .../main/resources/META-INF/plexus/components.xml  | 35 ------------
 .../wagon/providers/webdav/WebDavHttpWagon.java    | 14 +++--
 .../wagon/providers/webdav/WebDavHttpsWagon.java   | 14 +++--
 .../maven/wagon/providers/webdav/WebDavWagon.java  |  3 ++
 .../maven/wagon/providers/webdav/WebDavsWagon.java | 14 +++--
 .../main/resources/META-INF/plexus/components.xml  | 63 ----------------------
 9 files changed, 32 insertions(+), 126 deletions(-)
 copy wagon-providers/wagon-http/src/main/java/org/apache/maven/wagon/providers/http/{HttpWagon.java => HttpsWagon.java} (81%)
 delete mode 100644 wagon-providers/wagon-http/src/main/resources/META-INF/plexus/components.xml
 copy wagon-tcks/wagon-tck-http/src/main/java/org/apache/maven/wagon/tck/http/HttpsGetWagonTests.java => wagon-providers/wagon-webdav-jackrabbit/src/main/java/org/apache/maven/wagon/providers/webdav/WebDavHttpWagon.java (78%)
 copy wagon-tcks/wagon-tck-http/src/main/java/org/apache/maven/wagon/tck/http/HttpsGetWagonTests.java => wagon-providers/wagon-webdav-jackrabbit/src/main/java/org/apache/maven/wagon/providers/webdav/WebDavHttpsWagon.java (78%)
 copy wagon-tcks/wagon-tck-http/src/main/java/org/apache/maven/wagon/tck/http/HttpsGetWagonTests.java => wagon-providers/wagon-webdav-jackrabbit/src/main/java/org/apache/maven/wagon/providers/webdav/WebDavsWagon.java (79%)
 delete mode 100644 wagon-providers/wagon-webdav-jackrabbit/src/main/resources/META-INF/plexus/components.xml


(maven-wagon) 02/02: Publish the HTTP and WebDAV wagons as JSR-330 beans

Posted by sl...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

slachiewicz pushed a commit to branch wagon-3.x
in repository https://gitbox.apache.org/repos/asf/maven-wagon.git

commit 60950447fe4e69d66d10962256095f4da28410f1
Author: Sylwester Lachiewicz <sl...@apache.org>
AuthorDate: Fri Sep 4 12:43:31 2026 +0200

    Publish the HTTP and WebDAV wagons as JSR-330 beans
    
    These two providers kept handwritten Plexus descriptors because each maps one
    implementation onto several role hints, which a single @Named cannot express. Give
    each hint its own empty subclass, the way wagon-ftp and wagon-http-lightweight
    already do, so all ten providers now resolve from the Sisu index alone.
    
    Do not restore the descriptors to add a hint: a component named there is invisible
    to any consumer that scans for @Named beans without the Plexus shim.
---
 .../maven/wagon/providers/http/HttpWagon.java      |  3 ++
 .../http/{HttpWagon.java => HttpsWagon.java}       |  7 +--
 .../main/resources/META-INF/plexus/components.xml  | 35 ------------
 .../wagon/providers/webdav/WebDavHttpWagon.java}   |  9 ++--
 .../wagon/providers/webdav/WebDavHttpsWagon.java}  |  9 ++--
 .../maven/wagon/providers/webdav/WebDavWagon.java  |  3 ++
 .../wagon/providers/webdav/WebDavsWagon.java}      |  9 ++--
 .../main/resources/META-INF/plexus/components.xml  | 63 ----------------------
 8 files changed, 25 insertions(+), 113 deletions(-)

diff --git a/wagon-providers/wagon-http/src/main/java/org/apache/maven/wagon/providers/http/HttpWagon.java b/wagon-providers/wagon-http/src/main/java/org/apache/maven/wagon/providers/http/HttpWagon.java
index ae5d720f..4b810ff4 100644
--- a/wagon-providers/wagon-http/src/main/java/org/apache/maven/wagon/providers/http/HttpWagon.java
+++ b/wagon-providers/wagon-http/src/main/java/org/apache/maven/wagon/providers/http/HttpWagon.java
@@ -18,9 +18,12 @@
  */
 package org.apache.maven.wagon.providers.http;
 
+import javax.inject.Named;
+
 import org.apache.maven.wagon.shared.http.AbstractHttpClientWagon;
 
 /**
  * @author <a href="michal.maczka@dimatics.com">Michal Maczka</a>
  */
+@Named("http")
 public class HttpWagon extends AbstractHttpClientWagon {}
diff --git a/wagon-providers/wagon-http/src/main/java/org/apache/maven/wagon/providers/http/HttpWagon.java b/wagon-providers/wagon-http/src/main/java/org/apache/maven/wagon/providers/http/HttpsWagon.java
similarity index 81%
copy from wagon-providers/wagon-http/src/main/java/org/apache/maven/wagon/providers/http/HttpWagon.java
copy to wagon-providers/wagon-http/src/main/java/org/apache/maven/wagon/providers/http/HttpsWagon.java
index ae5d720f..8cf36d97 100644
--- a/wagon-providers/wagon-http/src/main/java/org/apache/maven/wagon/providers/http/HttpWagon.java
+++ b/wagon-providers/wagon-http/src/main/java/org/apache/maven/wagon/providers/http/HttpsWagon.java
@@ -18,9 +18,10 @@
  */
 package org.apache.maven.wagon.providers.http;
 
-import org.apache.maven.wagon.shared.http.AbstractHttpClientWagon;
+import javax.inject.Named;
 
 /**
- * @author <a href="michal.maczka@dimatics.com">Michal Maczka</a>
+ * Publishes {@link HttpWagon} under the <code>https</code> protocol.
  */
-public class HttpWagon extends AbstractHttpClientWagon {}
+@Named("https")
+public class HttpsWagon extends HttpWagon {}
diff --git a/wagon-providers/wagon-http/src/main/resources/META-INF/plexus/components.xml b/wagon-providers/wagon-http/src/main/resources/META-INF/plexus/components.xml
deleted file mode 100644
index 49c61e51..00000000
--- a/wagon-providers/wagon-http/src/main/resources/META-INF/plexus/components.xml
+++ /dev/null
@@ -1,35 +0,0 @@
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one
-  ~ or more contributor license agreements.  See the NOTICE file
-  ~ distributed with this work for additional information
-  ~ regarding copyright ownership.  The ASF licenses this file
-  ~ to you under the Apache License, Version 2.0 (the
-  ~ "License"); you may not use this file except in compliance
-  ~ with the License.  You may obtain a copy of the License at
-  ~
-  ~   http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing,
-  ~ software distributed under the License is distributed on an
-  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  ~ KIND, either express or implied.  See the License for the
-  ~ specific language governing permissions and limitations
-  ~ under the License.
-  -->
-
-<component-set>
-    <components>
-      <component>
-        <role>org.apache.maven.wagon.Wagon</role>
-        <role-hint>http</role-hint>
-        <implementation>org.apache.maven.wagon.providers.http.HttpWagon</implementation>
-        <instantiation-strategy>per-lookup</instantiation-strategy>
-      </component>
-      <component>
-        <role>org.apache.maven.wagon.Wagon</role>
-        <role-hint>https</role-hint>
-        <implementation>org.apache.maven.wagon.providers.http.HttpWagon</implementation>
-        <instantiation-strategy>per-lookup</instantiation-strategy>
-      </component>
-    </components>
-</component-set>
diff --git a/wagon-providers/wagon-http/src/main/java/org/apache/maven/wagon/providers/http/HttpWagon.java b/wagon-providers/wagon-webdav-jackrabbit/src/main/java/org/apache/maven/wagon/providers/webdav/WebDavHttpWagon.java
similarity index 77%
copy from wagon-providers/wagon-http/src/main/java/org/apache/maven/wagon/providers/http/HttpWagon.java
copy to wagon-providers/wagon-webdav-jackrabbit/src/main/java/org/apache/maven/wagon/providers/webdav/WebDavHttpWagon.java
index ae5d720f..3d97e893 100644
--- a/wagon-providers/wagon-http/src/main/java/org/apache/maven/wagon/providers/http/HttpWagon.java
+++ b/wagon-providers/wagon-webdav-jackrabbit/src/main/java/org/apache/maven/wagon/providers/webdav/WebDavHttpWagon.java
@@ -16,11 +16,12 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.maven.wagon.providers.http;
+package org.apache.maven.wagon.providers.webdav;
 
-import org.apache.maven.wagon.shared.http.AbstractHttpClientWagon;
+import javax.inject.Named;
 
 /**
- * @author <a href="michal.maczka@dimatics.com">Michal Maczka</a>
+ * Publishes {@link WebDavWagon} under the <code>dav+http</code> protocol.
  */
-public class HttpWagon extends AbstractHttpClientWagon {}
+@Named("dav+http")
+public class WebDavHttpWagon extends WebDavWagon {}
diff --git a/wagon-providers/wagon-http/src/main/java/org/apache/maven/wagon/providers/http/HttpWagon.java b/wagon-providers/wagon-webdav-jackrabbit/src/main/java/org/apache/maven/wagon/providers/webdav/WebDavHttpsWagon.java
similarity index 77%
copy from wagon-providers/wagon-http/src/main/java/org/apache/maven/wagon/providers/http/HttpWagon.java
copy to wagon-providers/wagon-webdav-jackrabbit/src/main/java/org/apache/maven/wagon/providers/webdav/WebDavHttpsWagon.java
index ae5d720f..650f512d 100644
--- a/wagon-providers/wagon-http/src/main/java/org/apache/maven/wagon/providers/http/HttpWagon.java
+++ b/wagon-providers/wagon-webdav-jackrabbit/src/main/java/org/apache/maven/wagon/providers/webdav/WebDavHttpsWagon.java
@@ -16,11 +16,12 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.maven.wagon.providers.http;
+package org.apache.maven.wagon.providers.webdav;
 
-import org.apache.maven.wagon.shared.http.AbstractHttpClientWagon;
+import javax.inject.Named;
 
 /**
- * @author <a href="michal.maczka@dimatics.com">Michal Maczka</a>
+ * Publishes {@link WebDavWagon} under the <code>dav+https</code> protocol.
  */
-public class HttpWagon extends AbstractHttpClientWagon {}
+@Named("dav+https")
+public class WebDavHttpsWagon extends WebDavWagon {}
diff --git a/wagon-providers/wagon-webdav-jackrabbit/src/main/java/org/apache/maven/wagon/providers/webdav/WebDavWagon.java b/wagon-providers/wagon-webdav-jackrabbit/src/main/java/org/apache/maven/wagon/providers/webdav/WebDavWagon.java
index e0045198..8d2cc95f 100644
--- a/wagon-providers/wagon-webdav-jackrabbit/src/main/java/org/apache/maven/wagon/providers/webdav/WebDavWagon.java
+++ b/wagon-providers/wagon-webdav-jackrabbit/src/main/java/org/apache/maven/wagon/providers/webdav/WebDavWagon.java
@@ -18,6 +18,8 @@
  */
 package org.apache.maven.wagon.providers.webdav;
 
+import javax.inject.Named;
+
 import java.io.File;
 import java.io.IOException;
 import java.net.URLDecoder;
@@ -54,6 +56,7 @@
  * @author <a href="mailto:carlos@apache.org">Carlos Sanchez</a>
  * @author <a href="mailto:james@atlassian.com">James William Dumay</a>
  */
+@Named("dav")
 public class WebDavWagon extends AbstractHttpClientWagon {
     protected static final String CONTINUE_ON_FAILURE_PROPERTY = "wagon.webdav.continueOnFailure";
 
diff --git a/wagon-providers/wagon-http/src/main/java/org/apache/maven/wagon/providers/http/HttpWagon.java b/wagon-providers/wagon-webdav-jackrabbit/src/main/java/org/apache/maven/wagon/providers/webdav/WebDavsWagon.java
similarity index 77%
copy from wagon-providers/wagon-http/src/main/java/org/apache/maven/wagon/providers/http/HttpWagon.java
copy to wagon-providers/wagon-webdav-jackrabbit/src/main/java/org/apache/maven/wagon/providers/webdav/WebDavsWagon.java
index ae5d720f..f3bf12cd 100644
--- a/wagon-providers/wagon-http/src/main/java/org/apache/maven/wagon/providers/http/HttpWagon.java
+++ b/wagon-providers/wagon-webdav-jackrabbit/src/main/java/org/apache/maven/wagon/providers/webdav/WebDavsWagon.java
@@ -16,11 +16,12 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.maven.wagon.providers.http;
+package org.apache.maven.wagon.providers.webdav;
 
-import org.apache.maven.wagon.shared.http.AbstractHttpClientWagon;
+import javax.inject.Named;
 
 /**
- * @author <a href="michal.maczka@dimatics.com">Michal Maczka</a>
+ * Publishes {@link WebDavWagon} under the <code>davs</code> protocol.
  */
-public class HttpWagon extends AbstractHttpClientWagon {}
+@Named("davs")
+public class WebDavsWagon extends WebDavWagon {}
diff --git a/wagon-providers/wagon-webdav-jackrabbit/src/main/resources/META-INF/plexus/components.xml b/wagon-providers/wagon-webdav-jackrabbit/src/main/resources/META-INF/plexus/components.xml
deleted file mode 100644
index c2a53db4..00000000
--- a/wagon-providers/wagon-webdav-jackrabbit/src/main/resources/META-INF/plexus/components.xml
+++ /dev/null
@@ -1,63 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-<component-set>
-  <components>
-    <component>
-      <role>org.apache.maven.wagon.Wagon</role>
-      <role-hint>dav</role-hint>
-      <implementation>org.apache.maven.wagon.providers.webdav.WebDavWagon</implementation>
-      <instantiation-strategy>per-lookup</instantiation-strategy>
-      <description>&lt;p&gt;WebDavWagon&lt;/p&gt;
-&lt;p/&gt;
-&lt;p&gt;Allows using a WebDAV remote repository for downloads and deployments&lt;/p&gt;</description>
-      <isolated-realm>false</isolated-realm>
-    </component>
-    <component>
-      <role>org.apache.maven.wagon.Wagon</role>
-      <role-hint>davs</role-hint>
-      <implementation>org.apache.maven.wagon.providers.webdav.WebDavWagon</implementation>
-      <instantiation-strategy>per-lookup</instantiation-strategy>
-      <description>&lt;p&gt;WebDavWagon&lt;/p&gt;
-&lt;p/&gt;
-&lt;p&gt;Allows using a WebDAV remote repository for downloads and deployments&lt;/p&gt;</description>
-      <isolated-realm>false</isolated-realm>
-    </component>
-    <component>
-      <role>org.apache.maven.wagon.Wagon</role>
-      <role-hint>dav+http</role-hint>
-      <implementation>org.apache.maven.wagon.providers.webdav.WebDavWagon</implementation>
-      <instantiation-strategy>per-lookup</instantiation-strategy>
-      <description>&lt;p&gt;WebDavWagon&lt;/p&gt;
-&lt;p/&gt;
-&lt;p&gt;Allows using a WebDAV remote repository for downloads and deployments&lt;/p&gt;</description>
-      <isolated-realm>false</isolated-realm>
-    </component>
-    <component>
-      <role>org.apache.maven.wagon.Wagon</role>
-      <role-hint>dav+https</role-hint>
-      <implementation>org.apache.maven.wagon.providers.webdav.WebDavWagon</implementation>
-      <instantiation-strategy>per-lookup</instantiation-strategy>
-      <description>&lt;p&gt;WebDavWagon&lt;/p&gt;
-&lt;p/&gt;
-&lt;p&gt;Allows using a webdav remote repository for downloads and deployments&lt;/p&gt;</description>
-      <isolated-realm>false</isolated-realm>
-    </component>
-  </components>
-</component-set>


(maven-wagon) 01/02: Keep the JSR-330 annotations off the wagon transitive classpath

Posted by sl...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

slachiewicz pushed a commit to branch wagon-3.x
in repository https://gitbox.apache.org/repos/asf/maven-wagon.git

commit c9205322e16665212d680660c4d4bdd59f1c8a72
Author: Sylwester Lachiewicz <sl...@apache.org>
AuthorDate: Fri Sep 4 12:23:59 2026 +0200

    Keep the JSR-330 annotations off the wagon transitive classpath
    
    javax.inject and org.eclipse.sisu.inject arrived as compile dependencies with the
    JSR-330 migration, so every consumer of a provider now inherits them. Any container
    that can load a wagon already supplies both, and wagon pins sisu through maven-parent
    49 (1.0.1) while Maven ships 1.1.0, so the inherited copy is only ever a version to
    resolve away. Do not restore compile scope: provided still covers compilation, the
    test classpath and sisu-maven-plugin's indexing.
---
 wagon-providers/pom.xml | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/wagon-providers/pom.xml b/wagon-providers/pom.xml
index 6b0a9178..ea4a02b1 100644
--- a/wagon-providers/pom.xml
+++ b/wagon-providers/pom.xml
@@ -64,15 +64,18 @@ under the License.
       <groupId>org.apache.maven.wagon</groupId>
       <artifactId>wagon-provider-api</artifactId>
     </dependency>
+    <!-- @Named and @Typed are runtime-retained, but every container that loads a wagon
+         already supplies them, so they stay off the transitive classpath. -->
     <dependency>
       <groupId>javax.inject</groupId>
       <artifactId>javax.inject</artifactId>
       <version>1</version>
+      <scope>provided</scope>
     </dependency>
-    <!-- for @Typed, where a provider implements more roles than it is published under -->
     <dependency>
       <groupId>org.eclipse.sisu</groupId>
       <artifactId>org.eclipse.sisu.inject</artifactId>
+      <scope>provided</scope>
     </dependency>
     <dependency>
       <groupId>org.apache.maven.wagon</groupId>