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 2025/12/31 17:54:59 UTC
(maven-wagon) 01/01: Refactor to use javax.inject annotations for dependency injection providers
This is an automated email from the ASF dual-hosted git repository.
slachiewicz pushed a commit to branch plexus1
in repository https://gitbox.apache.org/repos/asf/maven-wagon.git
commit d07fc3034b8c9792e0aa1b421708fb04929855a4
Author: Sylwester Lachiewicz <sl...@apache.org>
AuthorDate: Wed Dec 31 18:24:41 2025 +0100
Refactor to use javax.inject annotations for dependency injection providers
---
pom.xml | 11 +++++++++++
wagon-providers/wagon-file/pom.xml | 8 ++++++--
.../apache/maven/wagon/providers/file/FileWagon.java | 5 +++--
wagon-providers/wagon-ftp/pom.xml | 8 ++++++--
.../maven/wagon/providers/ftp/FtpHttpWagon.java | 8 +++-----
.../apache/maven/wagon/providers/ftp/FtpWagon.java | 14 +++-----------
.../apache/maven/wagon/providers/ftp/FtpsWagon.java | 17 +++--------------
.../wagon/providers/http/LightweightHttpWagon.java | 14 +++++---------
.../http/LightweightHttpWagonAuthenticator.java | 1 +
.../wagon/providers/http/LightweightHttpsWagon.java | 8 +++-----
.../wagon/shared/http/AbstractHttpClientWagon.java | 1 -
wagon-providers/wagon-scm/pom.xml | 8 ++++++--
.../apache/maven/wagon/providers/scm/ScmWagon.java | 14 +++++---------
.../providers/scm/UserSafeGitExeScmProvider.java | 5 ++++-
wagon-providers/wagon-ssh-common/pom.xml | 8 ++++++--
.../ssh/interactive/ConsoleInteractiveUserInfo.java | 11 +++++------
.../ssh/knownhost/AbstractKnownHostsProvider.java | 2 --
.../ssh/knownhost/FileKnownHostsProvider.java | 7 +++----
.../ssh/knownhost/NullKnownHostProvider.java | 7 +++----
.../ssh/knownhost/SingleKnownHostProvider.java | 7 +++----
wagon-providers/wagon-ssh-external/pom.xml | 4 ++--
.../ssh/external/ScpExternalCommandExecutor.java | 7 +++----
.../providers/ssh/external/ScpExternalWagon.java | 14 +++-----------
wagon-providers/wagon-ssh/pom.xml | 8 ++++++--
.../wagon/providers/ssh/jsch/AbstractJschWagon.java | 19 +++++++------------
.../wagon/providers/ssh/jsch/ScpCommandExecutor.java | 7 +++----
.../maven/wagon/providers/ssh/jsch/ScpWagon.java | 6 +++---
.../maven/wagon/providers/ssh/jsch/SftpWagon.java | 7 +++----
.../interactive/PrompterUIKeyboardInteractive.java | 10 +++++-----
wagon-providers/wagon-webdav-jackrabbit/pom.xml | 8 ++++++--
.../maven/wagon/providers/webdav/WebDavWagon.java | 6 +++---
31 files changed, 123 insertions(+), 137 deletions(-)
diff --git a/pom.xml b/pom.xml
index f174f91b..5b2fe767 100644
--- a/pom.xml
+++ b/pom.xml
@@ -203,6 +203,12 @@ under the License.
<artifactId>plexus-container-default</artifactId>
<version>2.1.1</version>
</dependency>
+ <dependency>
+ <groupId>com.google.inject</groupId>
+ <artifactId>guice</artifactId>
+ <version>5.1.0</version>
+ <classifier>classes</classifier>
+ </dependency>
<!-- for slf4j -->
<dependency>
<groupId>org.slf4j</groupId>
@@ -243,6 +249,11 @@ under the License.
<artifactId>mockito-core</artifactId>
<version>4.11.0</version>
</dependency>
+ <dependency>
+ <groupId>javax.inject</groupId>
+ <artifactId>javax.inject</artifactId>
+ <version>1</version>
+ </dependency>
</dependencies>
</dependencyManagement>
diff --git a/wagon-providers/wagon-file/pom.xml b/wagon-providers/wagon-file/pom.xml
index c1b322b3..eae3c984 100644
--- a/wagon-providers/wagon-file/pom.xml
+++ b/wagon-providers/wagon-file/pom.xml
@@ -31,6 +31,10 @@ under the License.
<description>Wagon provider that gets and puts artifacts using file system protocol</description>
<dependencies>
+ <dependency>
+ <groupId>javax.inject</groupId>
+ <artifactId>javax.inject</artifactId>
+ </dependency>
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-utils</artifactId>
@@ -45,8 +49,8 @@ under the License.
<build>
<plugins>
<plugin>
- <groupId>org.codehaus.plexus</groupId>
- <artifactId>plexus-component-metadata</artifactId>
+ <groupId>org.eclipse.sisu</groupId>
+ <artifactId>sisu-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
diff --git a/wagon-providers/wagon-file/src/main/java/org/apache/maven/wagon/providers/file/FileWagon.java b/wagon-providers/wagon-file/src/main/java/org/apache/maven/wagon/providers/file/FileWagon.java
index 778f28d4..d54fa36f 100644
--- a/wagon-providers/wagon-file/src/main/java/org/apache/maven/wagon/providers/file/FileWagon.java
+++ b/wagon-providers/wagon-file/src/main/java/org/apache/maven/wagon/providers/file/FileWagon.java
@@ -18,6 +18,8 @@
*/
package org.apache.maven.wagon.providers.file;
+import javax.inject.Named;
+
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
@@ -44,9 +46,8 @@
* Wagon Provider for Local File System
*
* @author <a href="michal.maczka@dimatics.com">Michal Maczka</a>
- *
- * @plexus.component role="org.apache.maven.wagon.Wagon" role-hint="file" instantiation-strategy="per-lookup"
*/
+@Named("file")
public class FileWagon extends StreamWagon {
public void fillInputData(InputData inputData) throws TransferFailedException, ResourceDoesNotExistException {
if (getRepository().getBasedir() == null) {
diff --git a/wagon-providers/wagon-ftp/pom.xml b/wagon-providers/wagon-ftp/pom.xml
index e74352ab..4f056b60 100644
--- a/wagon-providers/wagon-ftp/pom.xml
+++ b/wagon-providers/wagon-ftp/pom.xml
@@ -31,6 +31,10 @@ under the License.
<description>Wagon provider that gets and puts artifacts from and to remote server using FTP protocol</description>
<dependencies>
+ <dependency>
+ <groupId>javax.inject</groupId>
+ <artifactId>javax.inject</artifactId>
+ </dependency>
<dependency>
<groupId>commons-net</groupId>
<artifactId>commons-net</artifactId>
@@ -61,8 +65,8 @@ under the License.
<build>
<plugins>
<plugin>
- <groupId>org.codehaus.plexus</groupId>
- <artifactId>plexus-component-metadata</artifactId>
+ <groupId>org.eclipse.sisu</groupId>
+ <artifactId>sisu-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
diff --git a/wagon-providers/wagon-ftp/src/main/java/org/apache/maven/wagon/providers/ftp/FtpHttpWagon.java b/wagon-providers/wagon-ftp/src/main/java/org/apache/maven/wagon/providers/ftp/FtpHttpWagon.java
index e2067fac..f2b36a99 100644
--- a/wagon-providers/wagon-ftp/src/main/java/org/apache/maven/wagon/providers/ftp/FtpHttpWagon.java
+++ b/wagon-providers/wagon-ftp/src/main/java/org/apache/maven/wagon/providers/ftp/FtpHttpWagon.java
@@ -18,6 +18,8 @@
*/
package org.apache.maven.wagon.providers.ftp;
+import javax.inject.Named;
+
import org.apache.commons.net.ftp.FTPClient;
import org.apache.commons.net.ftp.FTPHTTPClient;
import org.apache.maven.wagon.proxy.ProxyInfo;
@@ -26,12 +28,8 @@
/**
* FtpHttpWagon
- *
- *
- * @plexus.component role="org.apache.maven.wagon.Wagon"
- * role-hint="ftph"
- * instantiation-strategy="per-lookup"
*/
+@Named("ftph")
public class FtpHttpWagon extends FtpWagon {
private static final Logger LOG = LoggerFactory.getLogger(FtpHttpWagon.class);
diff --git a/wagon-providers/wagon-ftp/src/main/java/org/apache/maven/wagon/providers/ftp/FtpWagon.java b/wagon-providers/wagon-ftp/src/main/java/org/apache/maven/wagon/providers/ftp/FtpWagon.java
index 7fd651d4..1db01184 100644
--- a/wagon-providers/wagon-ftp/src/main/java/org/apache/maven/wagon/providers/ftp/FtpWagon.java
+++ b/wagon-providers/wagon-ftp/src/main/java/org/apache/maven/wagon/providers/ftp/FtpWagon.java
@@ -18,6 +18,8 @@
*/
package org.apache.maven.wagon.providers.ftp;
+import javax.inject.Named;
+
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
@@ -50,23 +52,13 @@
/**
* FtpWagon
- *
- *
- * @plexus.component role="org.apache.maven.wagon.Wagon"
- * role-hint="ftp"
- * instantiation-strategy="per-lookup"
*/
+@Named("ftp")
public class FtpWagon extends StreamWagon {
private FTPClient ftp;
- /**
- * @plexus.configuration default-value="true"
- */
private boolean passiveMode = true;
- /**
- * @plexus.configuration default-value="ISO-8859-1"
- */
private String controlEncoding = FTP.DEFAULT_CONTROL_ENCODING;
public boolean isPassiveMode() {
diff --git a/wagon-providers/wagon-ftp/src/main/java/org/apache/maven/wagon/providers/ftp/FtpsWagon.java b/wagon-providers/wagon-ftp/src/main/java/org/apache/maven/wagon/providers/ftp/FtpsWagon.java
index cb878518..f0f273cb 100644
--- a/wagon-providers/wagon-ftp/src/main/java/org/apache/maven/wagon/providers/ftp/FtpsWagon.java
+++ b/wagon-providers/wagon-ftp/src/main/java/org/apache/maven/wagon/providers/ftp/FtpsWagon.java
@@ -18,6 +18,8 @@
*/
package org.apache.maven.wagon.providers.ftp;
+import javax.inject.Named;
+
import org.apache.commons.net.ftp.FTPClient;
import org.apache.commons.net.ftp.FTPSClient;
import org.slf4j.Logger;
@@ -25,28 +27,15 @@
/**
* FtpsWagon
- *
- *
- * @plexus.component role="org.apache.maven.wagon.Wagon"
- * role-hint="ftps"
- * instantiation-strategy="per-lookup"
*/
+@Named("ftps")
public class FtpsWagon extends FtpWagon {
private static final Logger LOG = LoggerFactory.getLogger(FtpsWagon.class);
- /**
- * @plexus.configuration default-value="TLS"
- */
private String securityProtocol = "TLS";
- /**
- * @plexus.configuration default-value="false"
- */
private boolean implicit = false;
- /**
- * @plexus.configuration default-value="true"
- */
private boolean endpointChecking = true;
@Override
diff --git a/wagon-providers/wagon-http-lightweight/src/main/java/org/apache/maven/wagon/providers/http/LightweightHttpWagon.java b/wagon-providers/wagon-http-lightweight/src/main/java/org/apache/maven/wagon/providers/http/LightweightHttpWagon.java
index 67e298bd..c65f0971 100644
--- a/wagon-providers/wagon-http-lightweight/src/main/java/org/apache/maven/wagon/providers/http/LightweightHttpWagon.java
+++ b/wagon-providers/wagon-http-lightweight/src/main/java/org/apache/maven/wagon/providers/http/LightweightHttpWagon.java
@@ -18,6 +18,9 @@
*/
package org.apache.maven.wagon.providers.http;
+import javax.inject.Inject;
+import javax.inject.Named;
+
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
@@ -62,9 +65,9 @@
* LightweightHttpWagon, using JDK's HttpURLConnection.
*
* @author <a href="michal.maczka@dimatics.com">Michal Maczka</a>
- * @plexus.component role="org.apache.maven.wagon.Wagon" role-hint="http" instantiation-strategy="per-lookup"
* @see HttpURLConnection
*/
+@Named("http")
public class LightweightHttpWagon extends StreamWagon {
private boolean preemptiveAuthentication;
@@ -79,19 +82,12 @@ public class LightweightHttpWagon extends StreamWagon {
/**
* Whether to use any proxy cache or not.
- *
- * @plexus.configuration default="false"
*/
private boolean useCache;
- /**
- * @plexus.configuration
- */
private Properties httpHeaders;
- /**
- * @plexus.requirement
- */
+ @Inject
private volatile LightweightHttpWagonAuthenticator authenticator;
/**
diff --git a/wagon-providers/wagon-http-lightweight/src/main/java/org/apache/maven/wagon/providers/http/LightweightHttpWagonAuthenticator.java b/wagon-providers/wagon-http-lightweight/src/main/java/org/apache/maven/wagon/providers/http/LightweightHttpWagonAuthenticator.java
index 52609041..9479ba12 100644
--- a/wagon-providers/wagon-http-lightweight/src/main/java/org/apache/maven/wagon/providers/http/LightweightHttpWagonAuthenticator.java
+++ b/wagon-providers/wagon-http-lightweight/src/main/java/org/apache/maven/wagon/providers/http/LightweightHttpWagonAuthenticator.java
@@ -25,6 +25,7 @@
* @author <a href="mailto:nicolas.deloof@cloudbees.com">Nicolas De loof</a>
* @plexus.component role="org.apache.maven.wagon.providers.http.LightweightHttpWagonAuthenticator"
*/
+// @Named
public class LightweightHttpWagonAuthenticator extends Authenticator {
ThreadLocal<LightweightHttpWagon> localWagon = new ThreadLocal<>();
diff --git a/wagon-providers/wagon-http-lightweight/src/main/java/org/apache/maven/wagon/providers/http/LightweightHttpsWagon.java b/wagon-providers/wagon-http-lightweight/src/main/java/org/apache/maven/wagon/providers/http/LightweightHttpsWagon.java
index 4661b161..3c93b130 100644
--- a/wagon-providers/wagon-http-lightweight/src/main/java/org/apache/maven/wagon/providers/http/LightweightHttpsWagon.java
+++ b/wagon-providers/wagon-http-lightweight/src/main/java/org/apache/maven/wagon/providers/http/LightweightHttpsWagon.java
@@ -18,6 +18,8 @@
*/
package org.apache.maven.wagon.providers.http;
+import javax.inject.Named;
+
import org.apache.maven.wagon.ConnectionException;
import org.apache.maven.wagon.authentication.AuthenticationException;
import org.apache.maven.wagon.proxy.ProxyInfo;
@@ -26,12 +28,8 @@
* LightweightHttpsWagon, using JDK's HttpURLConnection.
*
* @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
- *
- *
- * @plexus.component role="org.apache.maven.wagon.Wagon"
- * role-hint="https"
- * instantiation-strategy="per-lookup"
*/
+@Named("https")
public class LightweightHttpsWagon extends LightweightHttpWagon {
private String previousHttpsProxyHost;
diff --git a/wagon-providers/wagon-http-shared/src/main/java/org/apache/maven/wagon/shared/http/AbstractHttpClientWagon.java b/wagon-providers/wagon-http-shared/src/main/java/org/apache/maven/wagon/shared/http/AbstractHttpClientWagon.java
index 92dc157b..5069f9e5 100644
--- a/wagon-providers/wagon-http-shared/src/main/java/org/apache/maven/wagon/shared/http/AbstractHttpClientWagon.java
+++ b/wagon-providers/wagon-http-shared/src/main/java/org/apache/maven/wagon/shared/http/AbstractHttpClientWagon.java
@@ -516,7 +516,6 @@ private static CloseableHttpClient createClient() {
private Closeable closeable;
/**
- * @plexus.configuration
* @deprecated Use httpConfiguration instead.
*/
private Properties httpHeaders;
diff --git a/wagon-providers/wagon-scm/pom.xml b/wagon-providers/wagon-scm/pom.xml
index 473e9d09..6a9f2e05 100644
--- a/wagon-providers/wagon-scm/pom.xml
+++ b/wagon-providers/wagon-scm/pom.xml
@@ -35,6 +35,10 @@ under the License.
</properties>
<dependencies>
+ <dependency>
+ <groupId>javax.inject</groupId>
+ <artifactId>javax.inject</artifactId>
+ </dependency>
<dependency>
<groupId>org.apache.maven.scm</groupId>
<artifactId>maven-scm-api</artifactId>
@@ -84,8 +88,8 @@ under the License.
<build>
<plugins>
<plugin>
- <groupId>org.codehaus.plexus</groupId>
- <artifactId>plexus-component-metadata</artifactId>
+ <groupId>org.eclipse.sisu</groupId>
+ <artifactId>sisu-maven-plugin</artifactId>
</plugin>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
diff --git a/wagon-providers/wagon-scm/src/main/java/org/apache/maven/wagon/providers/scm/ScmWagon.java b/wagon-providers/wagon-scm/src/main/java/org/apache/maven/wagon/providers/scm/ScmWagon.java
index 5883ac05..afa0f068 100644
--- a/wagon-providers/wagon-scm/src/main/java/org/apache/maven/wagon/providers/scm/ScmWagon.java
+++ b/wagon-providers/wagon-scm/src/main/java/org/apache/maven/wagon/providers/scm/ScmWagon.java
@@ -18,6 +18,9 @@
*/
package org.apache.maven.wagon.providers.scm;
+import javax.inject.Inject;
+import javax.inject.Named;
+
import java.io.File;
import java.io.IOException;
import java.text.DecimalFormat;
@@ -69,26 +72,19 @@
* @author <a href="evenisse@apache.org">Emmanuel Venisse</a>
* @author <a href="carlos@apache.org">Carlos Sanchez</a>
* @author Jason van Zyl
- *
- * @plexus.component role="org.apache.maven.wagon.Wagon" role-hint="scm" instantiation-strategy="per-lookup"
*/
+@Named("scm")
public class ScmWagon extends AbstractWagon {
- /**
- * @plexus.requirement
- */
+ @Inject
private volatile ScmManager scmManager;
/**
* The SCM version, if any.
- *
- * @parameter
*/
private String scmVersion;
/**
* The SCM version type, if any. Defaults to "branch".
- *
- * @parameter
*/
private String scmVersionType;
diff --git a/wagon-providers/wagon-scm/src/test/java/org/apache/maven/wagon/providers/scm/UserSafeGitExeScmProvider.java b/wagon-providers/wagon-scm/src/test/java/org/apache/maven/wagon/providers/scm/UserSafeGitExeScmProvider.java
index fe4114a7..37af63e3 100644
--- a/wagon-providers/wagon-scm/src/test/java/org/apache/maven/wagon/providers/scm/UserSafeGitExeScmProvider.java
+++ b/wagon-providers/wagon-scm/src/test/java/org/apache/maven/wagon/providers/scm/UserSafeGitExeScmProvider.java
@@ -18,6 +18,8 @@
*/
package org.apache.maven.wagon.providers.scm;
+import javax.inject.Named;
+
import org.apache.maven.scm.ScmException;
import org.apache.maven.scm.ScmFileSet;
import org.apache.maven.scm.ScmVersion;
@@ -27,8 +29,9 @@
import org.apache.maven.scm.repository.ScmRepository;
/**
- * @plexus.component role="org.apache.maven.scm.provider.ScmProvider" role-hint="git"
+ * Test utility provider
*/
+@Named("git")
public class UserSafeGitExeScmProvider extends GitExeScmProvider {
@Override
diff --git a/wagon-providers/wagon-ssh-common/pom.xml b/wagon-providers/wagon-ssh-common/pom.xml
index dd8bc740..1e8484ee 100644
--- a/wagon-providers/wagon-ssh-common/pom.xml
+++ b/wagon-providers/wagon-ssh-common/pom.xml
@@ -30,6 +30,10 @@ under the License.
<name>Apache Maven Wagon :: Providers :: SSH Common Library</name>
<dependencies>
+ <dependency>
+ <groupId>javax.inject</groupId>
+ <artifactId>javax.inject</artifactId>
+ </dependency>
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-utils</artifactId>
@@ -48,8 +52,8 @@ under the License.
<build>
<plugins>
<plugin>
- <groupId>org.codehaus.plexus</groupId>
- <artifactId>plexus-component-metadata</artifactId>
+ <groupId>org.eclipse.sisu</groupId>
+ <artifactId>sisu-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
diff --git a/wagon-providers/wagon-ssh-common/src/main/java/org/apache/maven/wagon/providers/ssh/interactive/ConsoleInteractiveUserInfo.java b/wagon-providers/wagon-ssh-common/src/main/java/org/apache/maven/wagon/providers/ssh/interactive/ConsoleInteractiveUserInfo.java
index ee1f3a99..54cf766e 100644
--- a/wagon-providers/wagon-ssh-common/src/main/java/org/apache/maven/wagon/providers/ssh/interactive/ConsoleInteractiveUserInfo.java
+++ b/wagon-providers/wagon-ssh-common/src/main/java/org/apache/maven/wagon/providers/ssh/interactive/ConsoleInteractiveUserInfo.java
@@ -18,6 +18,9 @@
*/
package org.apache.maven.wagon.providers.ssh.interactive;
+import javax.inject.Inject;
+import javax.inject.Named;
+
import java.util.Arrays;
import org.codehaus.plexus.components.interactivity.Prompter;
@@ -28,14 +31,10 @@
*
* @author Juan F. Codagnone
* @since Sep 12, 2005
- *
- * @plexus.component role="org.apache.maven.wagon.providers.ssh.interactive.InteractiveUserInfo"
- * instantiation-strategy="per-lookup"
*/
+@Named
public class ConsoleInteractiveUserInfo implements InteractiveUserInfo {
- /**
- * @plexus.requirement role-hint="default"
- */
+ @Inject
private volatile Prompter prompter;
public ConsoleInteractiveUserInfo() {}
diff --git a/wagon-providers/wagon-ssh-common/src/main/java/org/apache/maven/wagon/providers/ssh/knownhost/AbstractKnownHostsProvider.java b/wagon-providers/wagon-ssh-common/src/main/java/org/apache/maven/wagon/providers/ssh/knownhost/AbstractKnownHostsProvider.java
index 00e5a017..148f552c 100644
--- a/wagon-providers/wagon-ssh-common/src/main/java/org/apache/maven/wagon/providers/ssh/knownhost/AbstractKnownHostsProvider.java
+++ b/wagon-providers/wagon-ssh-common/src/main/java/org/apache/maven/wagon/providers/ssh/knownhost/AbstractKnownHostsProvider.java
@@ -31,8 +31,6 @@
public abstract class AbstractKnownHostsProvider implements KnownHostsProvider {
/**
* Valid values are ask, yes, no.
- *
- * @plexus.configuration default-value="ask"
*/
private String hostKeyChecking = "ask";
diff --git a/wagon-providers/wagon-ssh-common/src/main/java/org/apache/maven/wagon/providers/ssh/knownhost/FileKnownHostsProvider.java b/wagon-providers/wagon-ssh-common/src/main/java/org/apache/maven/wagon/providers/ssh/knownhost/FileKnownHostsProvider.java
index 3c757814..99e0e14d 100644
--- a/wagon-providers/wagon-ssh-common/src/main/java/org/apache/maven/wagon/providers/ssh/knownhost/FileKnownHostsProvider.java
+++ b/wagon-providers/wagon-ssh-common/src/main/java/org/apache/maven/wagon/providers/ssh/knownhost/FileKnownHostsProvider.java
@@ -18,6 +18,8 @@
*/
package org.apache.maven.wagon.providers.ssh.knownhost;
+import javax.inject.Named;
+
import java.io.ByteArrayInputStream;
import java.io.File;
import java.io.FileInputStream;
@@ -32,11 +34,8 @@
*
* @author Juan F. Codagnone
* @since Sep 12, 2005
- *
- * @plexus.component role="org.apache.maven.wagon.providers.ssh.knownhost.KnownHostsProvider"
- * role-hint="file"
- * instantiation-strategy="per-lookup"
*/
+@Named("file")
public class FileKnownHostsProvider extends StreamKnownHostsProvider {
private final File file;
diff --git a/wagon-providers/wagon-ssh-common/src/main/java/org/apache/maven/wagon/providers/ssh/knownhost/NullKnownHostProvider.java b/wagon-providers/wagon-ssh-common/src/main/java/org/apache/maven/wagon/providers/ssh/knownhost/NullKnownHostProvider.java
index 46248510..899798d1 100644
--- a/wagon-providers/wagon-ssh-common/src/main/java/org/apache/maven/wagon/providers/ssh/knownhost/NullKnownHostProvider.java
+++ b/wagon-providers/wagon-ssh-common/src/main/java/org/apache/maven/wagon/providers/ssh/knownhost/NullKnownHostProvider.java
@@ -18,14 +18,13 @@
*/
package org.apache.maven.wagon.providers.ssh.knownhost;
+import javax.inject.Named;
+
/**
* Dummy <code>KnownHostsProvider</code>
*
* @author Juan F. Codagnone
* @since Sep 12, 2005
- *
- * @plexus.component role="org.apache.maven.wagon.providers.ssh.knownhost.KnownHostsProvider"
- * role-hint="null"
- * instantiation-strategy="per-lookup"
*/
+@Named("null")
public final class NullKnownHostProvider extends AbstractKnownHostsProvider {}
diff --git a/wagon-providers/wagon-ssh-common/src/main/java/org/apache/maven/wagon/providers/ssh/knownhost/SingleKnownHostProvider.java b/wagon-providers/wagon-ssh-common/src/main/java/org/apache/maven/wagon/providers/ssh/knownhost/SingleKnownHostProvider.java
index 229b4e05..572bd090 100644
--- a/wagon-providers/wagon-ssh-common/src/main/java/org/apache/maven/wagon/providers/ssh/knownhost/SingleKnownHostProvider.java
+++ b/wagon-providers/wagon-ssh-common/src/main/java/org/apache/maven/wagon/providers/ssh/knownhost/SingleKnownHostProvider.java
@@ -18,16 +18,15 @@
*/
package org.apache.maven.wagon.providers.ssh.knownhost;
+import javax.inject.Named;
+
/**
* Simple <code>KnownHostsProvider</code> with known wired values
*
- * @plexus.component role="org.apache.maven.wagon.providers.ssh.knownhost.KnownHostsProvider"
- * role-hint="single"
- * instantiation-strategy="per-lookup"
- *
* @author Juan F. Codagnone
* @since Sep 12, 2005
*/
+@Named("single")
public class SingleKnownHostProvider extends AbstractKnownHostsProvider {
public SingleKnownHostProvider() {}
diff --git a/wagon-providers/wagon-ssh-external/pom.xml b/wagon-providers/wagon-ssh-external/pom.xml
index 7164504b..9e059606 100644
--- a/wagon-providers/wagon-ssh-external/pom.xml
+++ b/wagon-providers/wagon-ssh-external/pom.xml
@@ -63,8 +63,8 @@ under the License.
<build>
<plugins>
<plugin>
- <groupId>org.codehaus.plexus</groupId>
- <artifactId>plexus-component-metadata</artifactId>
+ <groupId>org.eclipse.sisu</groupId>
+ <artifactId>sisu-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
diff --git a/wagon-providers/wagon-ssh-external/src/main/java/org/apache/maven/wagon/providers/ssh/external/ScpExternalCommandExecutor.java b/wagon-providers/wagon-ssh-external/src/main/java/org/apache/maven/wagon/providers/ssh/external/ScpExternalCommandExecutor.java
index 0d3567e5..655357cb 100644
--- a/wagon-providers/wagon-ssh-external/src/main/java/org/apache/maven/wagon/providers/ssh/external/ScpExternalCommandExecutor.java
+++ b/wagon-providers/wagon-ssh-external/src/main/java/org/apache/maven/wagon/providers/ssh/external/ScpExternalCommandExecutor.java
@@ -18,6 +18,8 @@
*/
package org.apache.maven.wagon.providers.ssh.external;
+import javax.inject.Named;
+
/**
* ScpExternalCommandExecutor - bridge class for plexus:descriptor
*
@@ -25,11 +27,8 @@
*
*
* @todo is this even needed anymore?
- *
- * @plexus.component role="org.apache.maven.wagon.CommandExecutor"
- * role-hint="scpexe"
- * instantiation-strategy="per-lookup"
*/
+@Named("scpexe")
public class ScpExternalCommandExecutor extends ScpExternalWagon {
public ScpExternalCommandExecutor() {
diff --git a/wagon-providers/wagon-ssh-external/src/main/java/org/apache/maven/wagon/providers/ssh/external/ScpExternalWagon.java b/wagon-providers/wagon-ssh-external/src/main/java/org/apache/maven/wagon/providers/ssh/external/ScpExternalWagon.java
index 0ab0cd29..5228a6dc 100644
--- a/wagon-providers/wagon-ssh-external/src/main/java/org/apache/maven/wagon/providers/ssh/external/ScpExternalWagon.java
+++ b/wagon-providers/wagon-ssh-external/src/main/java/org/apache/maven/wagon/providers/ssh/external/ScpExternalWagon.java
@@ -18,6 +18,8 @@
*/
package org.apache.maven.wagon.providers.ssh.external;
+import javax.inject.Named;
+
import java.io.File;
import java.io.FileNotFoundException;
import java.util.List;
@@ -50,36 +52,26 @@
*
* @author <a href="mailto:brett@apache.org">Brett Porter</a>
* @todo [BP] add compression flag
- * @plexus.component role="org.apache.maven.wagon.Wagon"
- * role-hint="scpexe"
- * instantiation-strategy="per-lookup"
*/
+@Named("scpexe")
public class ScpExternalWagon extends AbstractWagon implements CommandExecutor {
/**
* The external SCP command to use - default is <code>scp</code>.
- *
- * @component.configuration default="scp"
*/
private String scpExecutable = "scp";
/**
* The external SSH command to use - default is <code>ssh</code>.
- *
- * @component.configuration default="ssh"
*/
private String sshExecutable = "ssh";
/**
* Arguments to pass to the SCP command.
- *
- * @component.configuration
*/
private String scpArgs;
/**
* Arguments to pass to the SSH command.
- *
- * @component.configuration
*/
private String sshArgs;
diff --git a/wagon-providers/wagon-ssh/pom.xml b/wagon-providers/wagon-ssh/pom.xml
index 717d2934..26102e4e 100644
--- a/wagon-providers/wagon-ssh/pom.xml
+++ b/wagon-providers/wagon-ssh/pom.xml
@@ -34,6 +34,10 @@ under the License.
</properties>
<dependencies>
+ <dependency>
+ <groupId>javax.inject</groupId>
+ <artifactId>javax.inject</artifactId>
+ </dependency>
<dependency>
<groupId>com.jcraft</groupId>
<artifactId>jsch</artifactId>
@@ -96,8 +100,8 @@ under the License.
<build>
<plugins>
<plugin>
- <groupId>org.codehaus.plexus</groupId>
- <artifactId>plexus-component-metadata</artifactId>
+ <groupId>org.eclipse.sisu</groupId>
+ <artifactId>sisu-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
diff --git a/wagon-providers/wagon-ssh/src/main/java/org/apache/maven/wagon/providers/ssh/jsch/AbstractJschWagon.java b/wagon-providers/wagon-ssh/src/main/java/org/apache/maven/wagon/providers/ssh/jsch/AbstractJschWagon.java
index 825e1d75..a7320923 100644
--- a/wagon-providers/wagon-ssh/src/main/java/org/apache/maven/wagon/providers/ssh/jsch/AbstractJschWagon.java
+++ b/wagon-providers/wagon-ssh/src/main/java/org/apache/maven/wagon/providers/ssh/jsch/AbstractJschWagon.java
@@ -18,6 +18,9 @@
*/
package org.apache.maven.wagon.providers.ssh.jsch;
+import javax.inject.Inject;
+import javax.inject.Named;
+
import java.io.BufferedReader;
import java.io.ByteArrayInputStream;
import java.io.File;
@@ -80,24 +83,16 @@ public abstract class AbstractJschWagon extends StreamWagon implements SshWagon,
private String strictHostKeyChecking;
- /**
- * @plexus.requirement role-hint="file"
- */
+ @Inject
+ @Named("file")
private volatile KnownHostsProvider knownHostsProvider;
- /**
- * @plexus.requirement
- */
+ @Inject
private volatile InteractiveUserInfo interactiveUserInfo;
- /**
- * @plexus.configuration
- */
private volatile String preferredAuthentications;
- /**
- * @plexus.requirement
- */
+ @Inject
private volatile UIKeyboardInteractive uIKeyboardInteractive;
private static final int SOCKS5_PROXY_PORT = 1080;
diff --git a/wagon-providers/wagon-ssh/src/main/java/org/apache/maven/wagon/providers/ssh/jsch/ScpCommandExecutor.java b/wagon-providers/wagon-ssh/src/main/java/org/apache/maven/wagon/providers/ssh/jsch/ScpCommandExecutor.java
index f0757e7a..f0e84bde 100644
--- a/wagon-providers/wagon-ssh/src/main/java/org/apache/maven/wagon/providers/ssh/jsch/ScpCommandExecutor.java
+++ b/wagon-providers/wagon-ssh/src/main/java/org/apache/maven/wagon/providers/ssh/jsch/ScpCommandExecutor.java
@@ -18,6 +18,8 @@
*/
package org.apache.maven.wagon.providers.ssh.jsch;
+import javax.inject.Named;
+
/**
* ScpCommandExecutor - bridge class for plexus:descriptor
*
@@ -25,11 +27,8 @@
*
*
* @todo is this even needed anymore?
- *
- * @plexus.component role="org.apache.maven.wagon.CommandExecutor"
- * role-hint="scp"
- * instantiation-strategy="per-lookup"
*/
+@Named("scp")
public class ScpCommandExecutor extends ScpWagon {
public ScpCommandExecutor() {
super();
diff --git a/wagon-providers/wagon-ssh/src/main/java/org/apache/maven/wagon/providers/ssh/jsch/ScpWagon.java b/wagon-providers/wagon-ssh/src/main/java/org/apache/maven/wagon/providers/ssh/jsch/ScpWagon.java
index 978f225e..4d824f59 100644
--- a/wagon-providers/wagon-ssh/src/main/java/org/apache/maven/wagon/providers/ssh/jsch/ScpWagon.java
+++ b/wagon-providers/wagon-ssh/src/main/java/org/apache/maven/wagon/providers/ssh/jsch/ScpWagon.java
@@ -18,6 +18,8 @@
*/
package org.apache.maven.wagon.providers.ssh.jsch;
+import javax.inject.Named;
+
import java.io.EOFException;
import java.io.IOException;
import java.io.InputStream;
@@ -47,10 +49,8 @@
*
*
* @todo [BP] add compression flag
- * @plexus.component role="org.apache.maven.wagon.Wagon"
- * role-hint="scp"
- * instantiation-strategy="per-lookup"
*/
+@Named("scp")
public class ScpWagon extends AbstractJschWagon {
private static final char COPY_START_CHAR = 'C';
diff --git a/wagon-providers/wagon-ssh/src/main/java/org/apache/maven/wagon/providers/ssh/jsch/SftpWagon.java b/wagon-providers/wagon-ssh/src/main/java/org/apache/maven/wagon/providers/ssh/jsch/SftpWagon.java
index 71048ed1..93e44542 100644
--- a/wagon-providers/wagon-ssh/src/main/java/org/apache/maven/wagon/providers/ssh/jsch/SftpWagon.java
+++ b/wagon-providers/wagon-ssh/src/main/java/org/apache/maven/wagon/providers/ssh/jsch/SftpWagon.java
@@ -18,6 +18,8 @@
*/
package org.apache.maven.wagon.providers.ssh.jsch;
+import javax.inject.Named;
+
import java.io.File;
import java.io.InputStream;
import java.io.OutputStream;
@@ -47,11 +49,8 @@
*
* @todo [BP] add compression flag
* @todo see if SftpProgressMonitor allows us to do streaming (without it, we can't do checksums as the input stream is lost)
- *
- * @plexus.component role="org.apache.maven.wagon.Wagon"
- * role-hint="sftp"
- * instantiation-strategy="per-lookup"
*/
+@Named("sftp")
public class SftpWagon extends AbstractJschWagon {
private static final String SFTP_CHANNEL = "sftp";
diff --git a/wagon-providers/wagon-ssh/src/main/java/org/apache/maven/wagon/providers/ssh/jsch/interactive/PrompterUIKeyboardInteractive.java b/wagon-providers/wagon-ssh/src/main/java/org/apache/maven/wagon/providers/ssh/jsch/interactive/PrompterUIKeyboardInteractive.java
index 5bdd2e20..b4023234 100644
--- a/wagon-providers/wagon-ssh/src/main/java/org/apache/maven/wagon/providers/ssh/jsch/interactive/PrompterUIKeyboardInteractive.java
+++ b/wagon-providers/wagon-ssh/src/main/java/org/apache/maven/wagon/providers/ssh/jsch/interactive/PrompterUIKeyboardInteractive.java
@@ -18,6 +18,9 @@
*/
package org.apache.maven.wagon.providers.ssh.jsch.interactive;
+import javax.inject.Inject;
+import javax.inject.Named;
+
import com.jcraft.jsch.UIKeyboardInteractive;
import org.codehaus.plexus.components.interactivity.Prompter;
import org.codehaus.plexus.components.interactivity.PrompterException;
@@ -31,13 +34,10 @@
*
* @author <a href="mailto:juam at users.sourceforge.net">Juan F. Codagnone</a>
* @since Sep 22, 2005
- *
- * @plexus.component role="com.jcraft.jsch.UIKeyboardInteractive"
*/
+@Named
public class PrompterUIKeyboardInteractive implements UIKeyboardInteractive {
- /**
- * @plexus.requirement role-hint="default"
- */
+ @Inject
private volatile Prompter prompter;
public PrompterUIKeyboardInteractive() {}
diff --git a/wagon-providers/wagon-webdav-jackrabbit/pom.xml b/wagon-providers/wagon-webdav-jackrabbit/pom.xml
index 1cafcf92..5607ca25 100644
--- a/wagon-providers/wagon-webdav-jackrabbit/pom.xml
+++ b/wagon-providers/wagon-webdav-jackrabbit/pom.xml
@@ -42,6 +42,10 @@ under the License.
</contributors>
<dependencies>
+ <dependency>
+ <groupId>javax.inject</groupId>
+ <artifactId>javax.inject</artifactId>
+ </dependency>
<dependency>
<!-- Workaround for QDOX-148, see also MNG-3686 -->
<groupId>${project.groupId}</groupId>
@@ -119,8 +123,8 @@ under the License.
<build>
<plugins>
<plugin>
- <groupId>org.codehaus.plexus</groupId>
- <artifactId>plexus-component-metadata</artifactId>
+ <groupId>org.eclipse.sisu</groupId>
+ <artifactId>sisu-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
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 97a57912..4be3caa6 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;
@@ -59,10 +61,8 @@
* @author <a href="mailto:joakime@apache.org">Joakim Erdfelt</a>
* @author <a href="mailto:carlos@apache.org">Carlos Sanchez</a>
* @author <a href="mailto:james@atlassian.com">James William Dumay</a>
- * @plexus.component role="org.apache.maven.wagon.Wagon"
- * role-hint="dav"
- * instantiation-strategy="per-lookup"
*/
+@Named("dav")
public class WebDavWagon extends AbstractHttpClientWagon {
protected static final String CONTINUE_ON_FAILURE_PROPERTY = "wagon.webdav.continueOnFailure";