diff --git a/pom.xml b/pom.xml index 505bd596..cde84670 100644 --- a/pom.xml +++ b/pom.xml @@ -299,9 +299,9 @@ under the License. - org.sonatype.sisu - sisu-inject-plexus - 1.4.2 + org.eclipse.sisu + org.eclipse.sisu.plexus + 0.9.0.M3 provided diff --git a/src/main/java/org/apache/maven/plugins/site/deploy/AbstractDeployMojo.java b/src/main/java/org/apache/maven/plugins/site/deploy/AbstractDeployMojo.java index 204f2fc6..9d906255 100644 --- a/src/main/java/org/apache/maven/plugins/site/deploy/AbstractDeployMojo.java +++ b/src/main/java/org/apache/maven/plugins/site/deploy/AbstractDeployMojo.java @@ -23,6 +23,7 @@ import java.net.URL; import java.util.List; import java.util.Locale; +import java.util.Map; import org.apache.maven.doxia.site.inheritance.URIPathDescriptor; import org.apache.maven.doxia.tools.SiteTool; @@ -53,8 +54,6 @@ import org.apache.maven.wagon.observers.Debug; import org.apache.maven.wagon.proxy.ProxyInfo; import org.apache.maven.wagon.repository.Repository; -import org.codehaus.plexus.PlexusContainer; -import org.codehaus.plexus.component.repository.exception.ComponentLookupException; /** * Abstract base class for deploy mojos. @@ -124,7 +123,7 @@ public abstract class AbstractDeployMojo extends AbstractSiteMojo { private Site deploySite; @Component - private PlexusContainer container; + private Map wagons; @Component SettingsDecrypter settingsDecrypter; @@ -277,16 +276,15 @@ private Wagon getWagon(final Repository repository) throws MojoExecutionExceptio if (protocol == null) { throw new MojoExecutionException("Unspecified protocol"); } - try { - Wagon wagon = container.lookup(Wagon.class, protocol.toLowerCase(Locale.ROOT)); - if (!wagon.supportsDirectoryCopy()) { - throw new MojoExecutionException( - "Wagon protocol '" + repository.getProtocol() + "' doesn't support directory copying"); - } - return wagon; - } catch (ComponentLookupException e) { - throw new MojoExecutionException("Cannot find wagon which supports the requested protocol: " + protocol, e); + Wagon wagon = wagons.get(protocol.toLowerCase(Locale.ROOT)); + if (wagon == null) { + throw new MojoExecutionException("Cannot find wagon which supports the requested protocol: " + protocol); + } + if (!wagon.supportsDirectoryCopy()) { + throw new MojoExecutionException( + "Wagon protocol '" + repository.getProtocol() + "' doesn't support directory copying"); } + return wagon; } public AuthenticationInfo getAuthenticationInfo(String id) { @@ -558,7 +556,7 @@ private static String encodeURI(final String uriString) { uri.append(c); } else { uri.append('%'); - uri.append(Integer.toHexString((int) c)); + uri.append(Integer.toHexString(c)); } } return uri.toString();