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/08/17 18:59:53 UTC
(maven-wagon) 01/02: Replace the Plexus javadoc tags with JSR-330 annotations
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 20d688a206e127a2e12523f2a38591fd8b7475d4
Author: Sylwester Lachiewicz <sl...@apache.org>
AuthorDate: Sun Aug 16 22:01:55 2026 +0200
Replace the Plexus javadoc tags with JSR-330 annotations
The @plexus.component / @plexus.requirement / @plexus.configuration javadoc tags
predate even the Plexus annotations, and needed plexus-component-metadata to turn
them into descriptors at build time. Replace them with @Named and @Inject, and let
sisu-maven-plugin index the beans instead.
Notes on the less mechanical parts:
- Plexus defaults to singleton, JSR-330 to per-lookup. Eighteen components declared
instantiation-strategy="per-lookup" and so need nothing, but
LightweightHttpWagonAuthenticator and PrompterUIKeyboardInteractive did not, and
are marked @Singleton to keep the scope they have today. That matters for the
authenticator, which registers itself with Authenticator.setDefault and keys
wagons by ThreadLocal: one instance per wagon would let concurrent wagons
overwrite the JVM-wide authenticator.
- Sisu publishes a bean under every interface it implements, whereas Plexus
published it under the single declared role. AbstractJschWagon implements both
SshWagon and CommandExecutor, and ScpExternalWagon implements CommandExecutor, so
ScpWagon, SftpWagon and ScpExternalWagon would gain CommandExecutor bindings they
do not have today -- and ScpCommandExecutor and ScpExternalCommandExecutor, which
extend them, would collide with their parents on the same hint. @Typed pins each
one back to its Plexus role.
- The @plexus.configuration defaults are dropped rather than translated. Six of them
restate a value the field already initialises, and the other four never set a
default at all. Per-server configuration keeps arriving through the resolver's
wagon configurator, which works on the instance.
- wagon-http and wagon-webdav-jackrabbit map one implementation onto several hints,
which a single @Named cannot express, so they keep their handwritten descriptors.
The Plexus shim reads those regardless of scanning.
The test containers now need SCANNING_INDEX, since the beans they look up are no
longer in a descriptor.
Unlike master, this line declared plexus-component-metadata in each provider POM
rather than in the root, so the plugin is removed from all ten of them and
sisu-maven-plugin takes its place in the root build.
Verified: the role/hint/implementation/instantiation-strategy triples in the
descriptors this branch generated before the change match the @Named beans indexed
after it, module by module.
(cherry picked from commit 4af0905a1ac803123d2d3f63af38243fcd5c7af0)
---
pom.xml | 8 ++++-
.../maven/wagon/CommandExecutorTestCase.java | 8 +++++
.../java/org/apache/maven/wagon/WagonTestCase.java | 8 +++++
wagon-providers/pom.xml | 38 ++++++----------------
wagon-providers/wagon-file/pom.xml | 9 -----
.../maven/wagon/providers/file/FileWagon.java | 4 ++-
wagon-providers/wagon-ftp/pom.xml | 9 -----
.../maven/wagon/providers/ftp/FtpHttpWagon.java | 6 ++--
.../apache/maven/wagon/providers/ftp/FtpWagon.java | 15 ++-------
.../maven/wagon/providers/ftp/FtpsWagon.java | 15 ++-------
wagon-providers/wagon-http-lightweight/pom.xml | 9 -----
.../wagon/providers/http/LightweightHttpWagon.java | 13 +++-----
.../http/LightweightHttpWagonAuthenticator.java | 6 +++-
.../providers/http/LightweightHttpsWagon.java | 6 ++--
.../wagon/shared/http/AbstractHttpClientWagon.java | 1 -
wagon-providers/wagon-http/pom.xml | 4 ---
wagon-providers/wagon-scm/pom.xml | 4 ---
.../apache/maven/wagon/providers/scm/ScmWagon.java | 9 ++---
.../providers/scm/UserSafeGitExeScmProvider.java | 3 --
.../ssh/knownhost/KnownHostsProviderTestCase.java | 8 +++++
wagon-providers/wagon-ssh-common/pom.xml | 9 -----
.../interactive/ConsoleInteractiveUserInfo.java | 11 ++++---
.../ssh/knownhost/AbstractKnownHostsProvider.java | 1 -
.../ssh/knownhost/FileKnownHostsProvider.java | 6 ++--
.../ssh/knownhost/NullKnownHostProvider.java | 6 ++--
.../ssh/knownhost/SingleKnownHostProvider.java | 6 ++--
wagon-providers/wagon-ssh-external/pom.xml | 9 -----
.../ssh/external/ScpExternalCommandExecutor.java | 10 ++++--
.../providers/ssh/external/ScpExternalWagon.java | 9 +++--
wagon-providers/wagon-ssh/pom.xml | 9 -----
.../providers/ssh/jsch/AbstractJschWagon.java | 19 ++++-------
.../providers/ssh/jsch/ScpCommandExecutor.java | 10 ++++--
.../maven/wagon/providers/ssh/jsch/ScpWagon.java | 9 +++--
.../maven/wagon/providers/ssh/jsch/SftpWagon.java | 9 +++--
.../interactive/PrompterUIKeyboardInteractive.java | 12 ++++---
.../providers/ssh/jsch/ScpWagonWithProxyTest.java | 8 +++++
wagon-providers/wagon-webdav-jackrabbit/pom.xml | 4 ---
.../maven/wagon/providers/webdav/WebDavWagon.java | 3 --
.../maven/wagon/tck/http/HttpWagonTests.java | 11 +++++--
39 files changed, 149 insertions(+), 195 deletions(-)
diff --git a/pom.xml b/pom.xml
index 85a0c919..ceffcdf7 100644
--- a/pom.xml
+++ b/pom.xml
@@ -295,7 +295,13 @@ under the License.
</plugin>
</plugins>
</pluginManagement>
-
+ <plugins>
+ <!-- indexes the @Named beans into META-INF/sisu; executions come from maven-parent -->
+ <plugin>
+ <groupId>org.eclipse.sisu</groupId>
+ <artifactId>sisu-maven-plugin</artifactId>
+ </plugin>
+ </plugins>
</build>
<profiles>
diff --git a/wagon-provider-test/src/main/java/org/apache/maven/wagon/CommandExecutorTestCase.java b/wagon-provider-test/src/main/java/org/apache/maven/wagon/CommandExecutorTestCase.java
index 5c9210d8..5b6b3e45 100644
--- a/wagon-provider-test/src/main/java/org/apache/maven/wagon/CommandExecutorTestCase.java
+++ b/wagon-provider-test/src/main/java/org/apache/maven/wagon/CommandExecutorTestCase.java
@@ -20,6 +20,8 @@
import org.apache.maven.wagon.authentication.AuthenticationInfo;
import org.apache.maven.wagon.repository.Repository;
+import org.codehaus.plexus.ContainerConfiguration;
+import org.codehaus.plexus.PlexusConstants;
import org.codehaus.plexus.PlexusTestCase;
/**
@@ -29,6 +31,12 @@
*
*/
public abstract class CommandExecutorTestCase extends PlexusTestCase {
+ @Override
+ protected void customizeContainerConfiguration(ContainerConfiguration configuration) {
+ // the providers are @Named beans now, so the container has to read META-INF/sisu
+ configuration.setClassPathScanning(PlexusConstants.SCANNING_INDEX);
+ }
+
public void testErrorInCommandExecuted() throws Exception {
CommandExecutor exec = (CommandExecutor) lookup(CommandExecutor.ROLE);
diff --git a/wagon-provider-test/src/main/java/org/apache/maven/wagon/WagonTestCase.java b/wagon-provider-test/src/main/java/org/apache/maven/wagon/WagonTestCase.java
index da788886..f81dab29 100644
--- a/wagon-provider-test/src/main/java/org/apache/maven/wagon/WagonTestCase.java
+++ b/wagon-provider-test/src/main/java/org/apache/maven/wagon/WagonTestCase.java
@@ -37,6 +37,8 @@
import org.apache.maven.wagon.repository.Repository;
import org.apache.maven.wagon.repository.RepositoryPermissions;
import org.apache.maven.wagon.resource.Resource;
+import org.codehaus.plexus.ContainerConfiguration;
+import org.codehaus.plexus.PlexusConstants;
import org.codehaus.plexus.PlexusTestCase;
import org.codehaus.plexus.util.FileUtils;
import org.junit.Assume;
@@ -55,6 +57,12 @@
* @author <a href="mailto:jason@maven.org">Jason van Zyl</a>
*/
public abstract class WagonTestCase extends PlexusTestCase {
+ @Override
+ protected void customizeContainerConfiguration(ContainerConfiguration configuration) {
+ // the providers are @Named beans now, so the container has to read META-INF/sisu
+ configuration.setClassPathScanning(PlexusConstants.SCANNING_INDEX);
+ }
+
protected static Logger logger = LoggerFactory.getLogger(WagonTestCase.class);
static final class ProgressAnswer implements Answer<Object> {
diff --git a/wagon-providers/pom.xml b/wagon-providers/pom.xml
index 2997c50e..26b61aba 100644
--- a/wagon-providers/pom.xml
+++ b/wagon-providers/pom.xml
@@ -64,38 +64,20 @@ under the License.
<groupId>org.apache.maven.wagon</groupId>
<artifactId>wagon-provider-api</artifactId>
</dependency>
+ <dependency>
+ <groupId>javax.inject</groupId>
+ <artifactId>javax.inject</artifactId>
+ <version>1</version>
+ </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>
+ </dependency>
<dependency>
<groupId>org.apache.maven.wagon</groupId>
<artifactId>wagon-provider-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
-
- <build>
- <pluginManagement>
- <plugins>
- <!-- required due to Javadoc based Plexus components -->
- <plugin>
- <groupId>org.codehaus.plexus</groupId>
- <artifactId>plexus-component-metadata</artifactId>
- <version>2.2.0</version>
- <executions>
- <execution>
- <id>generate</id>
- <goals>
- <goal>generate-metadata</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </pluginManagement>
-
- <plugins>
- <plugin>
- <groupId>org.eclipse.sisu</groupId>
- <artifactId>sisu-maven-plugin</artifactId>
- </plugin>
- </plugins>
- </build>
</project>
diff --git a/wagon-providers/wagon-file/pom.xml b/wagon-providers/wagon-file/pom.xml
index c1b322b3..122ce038 100644
--- a/wagon-providers/wagon-file/pom.xml
+++ b/wagon-providers/wagon-file/pom.xml
@@ -41,13 +41,4 @@ under the License.
<scope>test</scope>
</dependency>
</dependencies>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.codehaus.plexus</groupId>
- <artifactId>plexus-component-metadata</artifactId>
- </plugin>
- </plugins>
- </build>
</project>
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..2fae7860 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;
@@ -45,8 +47,8 @@
*
* @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 f6f40a06..444ed757 100644
--- a/wagon-providers/wagon-ftp/pom.xml
+++ b/wagon-providers/wagon-ftp/pom.xml
@@ -57,13 +57,4 @@ under the License.
<artifactId>commons-io</artifactId>
</dependency>
</dependencies>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.codehaus.plexus</groupId>
- <artifactId>plexus-component-metadata</artifactId>
- </plugin>
- </plugins>
- </build>
</project>
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..d5c07f0b 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;
@@ -28,10 +30,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..2b13c8ea 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;
@@ -52,21 +54,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() {
@@ -345,9 +339,6 @@ private void ftpChangeDirectory(Resource resource)
}
}
- /**
- *
- */
public class PrintCommandListener implements ProtocolCommandListener {
private FtpWagon wagon;
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..41b2b104 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;
@@ -27,26 +29,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/pom.xml b/wagon-providers/wagon-http-lightweight/pom.xml
index dcd0a6d1..789ec69a 100644
--- a/wagon-providers/wagon-http-lightweight/pom.xml
+++ b/wagon-providers/wagon-http-lightweight/pom.xml
@@ -68,13 +68,4 @@ under the License.
<scope>test</scope>
</dependency>
</dependencies>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.codehaus.plexus</groupId>
- <artifactId>plexus-component-metadata</artifactId>
- </plugin>
- </plugins>
- </build>
</project>
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 4db6b7bd..8e524a08 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;
@@ -80,18 +83,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..2b5e4d67 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
@@ -18,13 +18,17 @@
*/
package org.apache.maven.wagon.providers.http;
+import javax.inject.Named;
+import javax.inject.Singleton;
+
import java.net.Authenticator;
import java.net.PasswordAuthentication;
/**
* @author <a href="mailto:nicolas.deloof@cloudbees.com">Nicolas De loof</a>
- * @plexus.component role="org.apache.maven.wagon.providers.http.LightweightHttpWagonAuthenticator"
*/
+@Named
+@Singleton
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..39db4bd1 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;
@@ -28,10 +30,8 @@
* @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 9f1f2445..da1aa3ca 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-http/pom.xml b/wagon-providers/wagon-http/pom.xml
index bfdd634c..fe6de279 100644
--- a/wagon-providers/wagon-http/pom.xml
+++ b/wagon-providers/wagon-http/pom.xml
@@ -108,10 +108,6 @@ under the License.
<build>
<plugins>
- <plugin>
- <groupId>org.codehaus.plexus</groupId>
- <artifactId>plexus-component-metadata</artifactId>
- </plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
diff --git a/wagon-providers/wagon-scm/pom.xml b/wagon-providers/wagon-scm/pom.xml
index 71393e3e..af5ffb90 100644
--- a/wagon-providers/wagon-scm/pom.xml
+++ b/wagon-providers/wagon-scm/pom.xml
@@ -93,10 +93,6 @@ under the License.
<build>
<plugins>
- <plugin>
- <groupId>org.codehaus.plexus</groupId>
- <artifactId>plexus-component-metadata</artifactId>
- </plugin>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
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..af6467fb 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;
@@ -70,12 +73,10 @@
* @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;
/**
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..b01fc2f3 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
@@ -26,9 +26,6 @@
import org.apache.maven.scm.provider.git.gitexe.GitExeScmProvider;
import org.apache.maven.scm.repository.ScmRepository;
-/**
- * @plexus.component role="org.apache.maven.scm.provider.ScmProvider" role-hint="git"
- */
public class UserSafeGitExeScmProvider extends GitExeScmProvider {
@Override
diff --git a/wagon-providers/wagon-ssh-common-test/src/main/java/org/apache/maven/wagon/providers/ssh/knownhost/KnownHostsProviderTestCase.java b/wagon-providers/wagon-ssh-common-test/src/main/java/org/apache/maven/wagon/providers/ssh/knownhost/KnownHostsProviderTestCase.java
index 8616a187..fa8fc1e2 100644
--- a/wagon-providers/wagon-ssh-common-test/src/main/java/org/apache/maven/wagon/providers/ssh/knownhost/KnownHostsProviderTestCase.java
+++ b/wagon-providers/wagon-ssh-common-test/src/main/java/org/apache/maven/wagon/providers/ssh/knownhost/KnownHostsProviderTestCase.java
@@ -22,12 +22,20 @@
import org.apache.maven.wagon.providers.ssh.SshWagon;
import org.apache.maven.wagon.providers.ssh.TestData;
import org.apache.maven.wagon.repository.Repository;
+import org.codehaus.plexus.ContainerConfiguration;
+import org.codehaus.plexus.PlexusConstants;
import org.codehaus.plexus.PlexusTestCase;
/**
*
*/
public class KnownHostsProviderTestCase extends PlexusTestCase {
+ @Override
+ protected void customizeContainerConfiguration(ContainerConfiguration configuration) {
+ // the providers are @Named beans now, so the container has to read META-INF/sisu
+ configuration.setClassPathScanning(PlexusConstants.SCANNING_INDEX);
+ }
+
protected KnownHostsProvider okHostsProvider;
protected KnownHostsProvider failHostsProvider;
diff --git a/wagon-providers/wagon-ssh-common/pom.xml b/wagon-providers/wagon-ssh-common/pom.xml
index 56a1e9b8..6800b8d5 100644
--- a/wagon-providers/wagon-ssh-common/pom.xml
+++ b/wagon-providers/wagon-ssh-common/pom.xml
@@ -44,13 +44,4 @@ under the License.
<scope>test</scope>
</dependency>
</dependencies>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.codehaus.plexus</groupId>
- <artifactId>plexus-component-metadata</artifactId>
- </plugin>
- </plugins>
- </build>
</project>
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..fdfca20b 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;
@@ -29,13 +32,11 @@
* @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
+ @Named("default")
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..8c37bc80 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
@@ -32,7 +32,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..52e8577f 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;
@@ -33,10 +35,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..af570f90 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,14 @@
*/
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..57035c66 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,16 @@
*/
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 67217a1d..09ba6123 100644
--- a/wagon-providers/wagon-ssh-external/pom.xml
+++ b/wagon-providers/wagon-ssh-external/pom.xml
@@ -60,15 +60,6 @@ under the License.
</dependency>
</dependencies>
- <build>
- <plugins>
- <plugin>
- <groupId>org.codehaus.plexus</groupId>
- <artifactId>plexus-component-metadata</artifactId>
- </plugin>
- </plugins>
- </build>
-
<profiles>
<profile>
<id>no-ssh-tests</id>
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..7f8130af 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,11 @@
*/
package org.apache.maven.wagon.providers.ssh.external;
+import javax.inject.Named;
+
+import org.apache.maven.wagon.CommandExecutor;
+import org.eclipse.sisu.Typed;
+
/**
* ScpExternalCommandExecutor - bridge class for plexus:descriptor
*
@@ -26,10 +31,9 @@
*
* @todo is this even needed anymore?
*
- * @plexus.component role="org.apache.maven.wagon.CommandExecutor"
- * role-hint="scpexe"
- * instantiation-strategy="per-lookup"
*/
+@Named("scpexe")
+@Typed(CommandExecutor.class)
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..df648b05 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;
@@ -31,6 +33,7 @@
import org.apache.maven.wagon.ResourceDoesNotExistException;
import org.apache.maven.wagon.Streams;
import org.apache.maven.wagon.TransferFailedException;
+import org.apache.maven.wagon.Wagon;
import org.apache.maven.wagon.WagonConstants;
import org.apache.maven.wagon.authentication.AuthenticationException;
import org.apache.maven.wagon.authentication.AuthenticationInfo;
@@ -43,6 +46,7 @@
import org.codehaus.plexus.util.cli.CommandLineException;
import org.codehaus.plexus.util.cli.CommandLineUtils;
import org.codehaus.plexus.util.cli.Commandline;
+import org.eclipse.sisu.Typed;
/**
* SCP deployer using "external" scp program. To allow for
@@ -50,10 +54,9 @@
*
* @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")
+@Typed(Wagon.class)
public class ScpExternalWagon extends AbstractWagon implements CommandExecutor {
/**
* The external SCP command to use - default is <code>scp</code>.
diff --git a/wagon-providers/wagon-ssh/pom.xml b/wagon-providers/wagon-ssh/pom.xml
index 0c0eb372..122f295a 100644
--- a/wagon-providers/wagon-ssh/pom.xml
+++ b/wagon-providers/wagon-ssh/pom.xml
@@ -99,15 +99,6 @@ under the License.
</dependency>
</dependencies>
- <build>
- <plugins>
- <plugin>
- <groupId>org.codehaus.plexus</groupId>
- <artifactId>plexus-component-metadata</artifactId>
- </plugin>
- </plugins>
- </build>
-
<profiles>
<profile>
<id>no-ssh-tests</id>
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..eaa25450 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,11 @@
*/
package org.apache.maven.wagon.providers.ssh.jsch;
+import javax.inject.Named;
+
+import org.apache.maven.wagon.CommandExecutor;
+import org.eclipse.sisu.Typed;
+
/**
* ScpCommandExecutor - bridge class for plexus:descriptor
*
@@ -26,10 +31,9 @@
*
* @todo is this even needed anymore?
*
- * @plexus.component role="org.apache.maven.wagon.CommandExecutor"
- * role-hint="scp"
- * instantiation-strategy="per-lookup"
*/
+@Named("scp")
+@Typed(CommandExecutor.class)
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 54e3b088..870f9e6f 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;
@@ -31,10 +33,12 @@
import org.apache.maven.wagon.OutputData;
import org.apache.maven.wagon.ResourceDoesNotExistException;
import org.apache.maven.wagon.TransferFailedException;
+import org.apache.maven.wagon.Wagon;
import org.apache.maven.wagon.events.TransferEvent;
import org.apache.maven.wagon.providers.ssh.ScpHelper;
import org.apache.maven.wagon.repository.RepositoryPermissions;
import org.apache.maven.wagon.resource.Resource;
+import org.eclipse.sisu.Typed;
/**
* SCP protocol wagon.
@@ -48,10 +52,9 @@
*
*
* @todo [BP] add compression flag
- * @plexus.component role="org.apache.maven.wagon.Wagon"
- * role-hint="scp"
- * instantiation-strategy="per-lookup"
*/
+@Named("scp")
+@Typed(Wagon.class)
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..80f9098d 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;
@@ -33,12 +35,14 @@
import org.apache.maven.wagon.PathUtils;
import org.apache.maven.wagon.ResourceDoesNotExistException;
import org.apache.maven.wagon.TransferFailedException;
+import org.apache.maven.wagon.Wagon;
import org.apache.maven.wagon.authentication.AuthenticationException;
import org.apache.maven.wagon.authorization.AuthorizationException;
import org.apache.maven.wagon.events.TransferEvent;
import org.apache.maven.wagon.providers.ssh.ScpHelper;
import org.apache.maven.wagon.repository.RepositoryPermissions;
import org.apache.maven.wagon.resource.Resource;
+import org.eclipse.sisu.Typed;
/**
* SFTP protocol wagon.
@@ -48,10 +52,9 @@
* @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")
+@Typed(Wagon.class)
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..7368268d 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,10 @@
*/
package org.apache.maven.wagon.providers.ssh.jsch.interactive;
+import javax.inject.Inject;
+import javax.inject.Named;
+import javax.inject.Singleton;
+
import com.jcraft.jsch.UIKeyboardInteractive;
import org.codehaus.plexus.components.interactivity.Prompter;
import org.codehaus.plexus.components.interactivity.PrompterException;
@@ -32,12 +36,12 @@
* @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
+@Singleton
public class PrompterUIKeyboardInteractive implements UIKeyboardInteractive {
- /**
- * @plexus.requirement role-hint="default"
- */
+ @Inject
+ @Named("default")
private volatile Prompter prompter;
public PrompterUIKeyboardInteractive() {}
diff --git a/wagon-providers/wagon-ssh/src/test/java/org/apache/maven/wagon/providers/ssh/jsch/ScpWagonWithProxyTest.java b/wagon-providers/wagon-ssh/src/test/java/org/apache/maven/wagon/providers/ssh/jsch/ScpWagonWithProxyTest.java
index aed55deb..c524bc2c 100644
--- a/wagon-providers/wagon-ssh/src/test/java/org/apache/maven/wagon/providers/ssh/jsch/ScpWagonWithProxyTest.java
+++ b/wagon-providers/wagon-ssh/src/test/java/org/apache/maven/wagon/providers/ssh/jsch/ScpWagonWithProxyTest.java
@@ -32,6 +32,8 @@
import org.apache.maven.wagon.authentication.AuthenticationException;
import org.apache.maven.wagon.proxy.ProxyInfo;
import org.apache.maven.wagon.repository.Repository;
+import org.codehaus.plexus.ContainerConfiguration;
+import org.codehaus.plexus.PlexusConstants;
import org.codehaus.plexus.PlexusTestCase;
import org.eclipse.jetty.server.Handler;
import org.eclipse.jetty.server.HttpConfiguration;
@@ -42,6 +44,12 @@
import org.eclipse.jetty.server.handler.AbstractHandler;
public class ScpWagonWithProxyTest extends PlexusTestCase {
+ @Override
+ protected void customizeContainerConfiguration(ContainerConfiguration configuration) {
+ // the providers are @Named beans now, so the container has to read META-INF/sisu
+ configuration.setClassPathScanning(PlexusConstants.SCANNING_INDEX);
+ }
+
private boolean handled;
public void testHttpProxy() throws Exception {
diff --git a/wagon-providers/wagon-webdav-jackrabbit/pom.xml b/wagon-providers/wagon-webdav-jackrabbit/pom.xml
index 263f7813..f1c0a580 100644
--- a/wagon-providers/wagon-webdav-jackrabbit/pom.xml
+++ b/wagon-providers/wagon-webdav-jackrabbit/pom.xml
@@ -117,10 +117,6 @@ under the License.
<build>
<plugins>
- <plugin>
- <groupId>org.codehaus.plexus</groupId>
- <artifactId>plexus-component-metadata</artifactId>
- </plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
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 5ca7a49f..7c3eb3da 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
@@ -53,9 +53,6 @@
* @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"
*/
public class WebDavWagon extends AbstractHttpClientWagon {
protected static final String CONTINUE_ON_FAILURE_PROPERTY = "wagon.webdav.continueOnFailure";
diff --git a/wagon-tcks/wagon-tck-http/src/main/java/org/apache/maven/wagon/tck/http/HttpWagonTests.java b/wagon-tcks/wagon-tck-http/src/main/java/org/apache/maven/wagon/tck/http/HttpWagonTests.java
index 8fcbd25c..55000dde 100644
--- a/wagon-tcks/wagon-tck-http/src/main/java/org/apache/maven/wagon/tck/http/HttpWagonTests.java
+++ b/wagon-tcks/wagon-tck-http/src/main/java/org/apache/maven/wagon/tck/http/HttpWagonTests.java
@@ -30,7 +30,10 @@
import org.apache.maven.wagon.proxy.ProxyInfo;
import org.apache.maven.wagon.repository.Repository;
import org.apache.maven.wagon.tck.http.fixture.ServerFixture;
+import org.codehaus.plexus.ContainerConfiguration;
+import org.codehaus.plexus.DefaultContainerConfiguration;
import org.codehaus.plexus.DefaultPlexusContainer;
+import org.codehaus.plexus.PlexusConstants;
import org.codehaus.plexus.PlexusContainer;
import org.codehaus.plexus.component.configurator.ComponentConfigurationException;
import org.codehaus.plexus.component.repository.exception.ComponentLifecycleException;
@@ -85,9 +88,11 @@ public static void beforeAll() throws Exception {
System.setProperty("javax.net.ssl.trustStore", keystore.getAbsolutePath());
System.setProperty("javax.net.ssl.trustStorePassword", ServerFixture.SERVER_SSL_KEYSTORE_PASSWORD);
- container = new DefaultPlexusContainer();
- // container.initialize();
- // container.start();
+ ContainerConfiguration config = new DefaultContainerConfiguration();
+ // the providers are @Named beans now, so the container has to read META-INF/sisu
+ config.setClassPathScanning(PlexusConstants.SCANNING_INDEX);
+
+ container = new DefaultPlexusContainer(config);
configurator = (WagonTestCaseConfigurator) container.lookup(WagonTestCaseConfigurator.class.getName());
}