diff --git a/scm-webapp/src/main/java/sonia/scm/plugin/AetherPluginHandler.java b/scm-webapp/src/main/java/sonia/scm/plugin/AetherPluginHandler.java
index 6e4c8bac87..a6c5722771 100644
--- a/scm-webapp/src/main/java/sonia/scm/plugin/AetherPluginHandler.java
+++ b/scm-webapp/src/main/java/sonia/scm/plugin/AetherPluginHandler.java
@@ -54,6 +54,7 @@ import org.sonatype.aether.impl.ArtifactDescriptorReader;
import org.sonatype.aether.impl.VersionRangeResolver;
import org.sonatype.aether.impl.VersionResolver;
import org.sonatype.aether.impl.internal.DefaultServiceLocator;
+import org.sonatype.aether.impl.internal.Slf4jLogger;
import org.sonatype.aether.repository.LocalRepository;
import org.sonatype.aether.repository.Proxy;
import org.sonatype.aether.repository.RemoteRepository;
@@ -68,6 +69,7 @@ import sonia.scm.SCMContextProvider;
import sonia.scm.boot.BootstrapListener;
import sonia.scm.boot.Classpath;
import sonia.scm.config.ScmConfiguration;
+import sonia.scm.net.Proxies;
import sonia.scm.util.IOUtil;
import sonia.scm.util.Util;
@@ -84,7 +86,6 @@ import java.util.Set;
import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBException;
import javax.xml.bind.Marshaller;
-import sonia.scm.net.Proxies;
/**
*
@@ -336,19 +337,7 @@ public class AetherPluginHandler
*/
private RepositorySystem createRepositorySystem()
{
- DefaultServiceLocator locator = new DefaultServiceLocator();
-
- locator.addService(VersionResolver.class, DefaultVersionResolver.class);
- locator.addService(VersionRangeResolver.class,
- DefaultVersionRangeResolver.class);
- locator.addService(ArtifactDescriptorReader.class,
- DefaultArtifactDescriptorReader.class);
- locator.addService(RepositoryConnectorFactory.class,
- AsyncRepositoryConnectorFactory.class);
- locator.addService(RepositoryConnectorFactory.class,
- FileRepositoryConnectorFactory.class);
-
- return locator.getService(RepositorySystem.class);
+ return new AetherServiceLocator().getService(RepositorySystem.class);
}
/**
diff --git a/scm-webapp/src/main/java/sonia/scm/plugin/AetherServiceLocator.java b/scm-webapp/src/main/java/sonia/scm/plugin/AetherServiceLocator.java
new file mode 100644
index 0000000000..0fa3addd8a
--- /dev/null
+++ b/scm-webapp/src/main/java/sonia/scm/plugin/AetherServiceLocator.java
@@ -0,0 +1,84 @@
+/**
+ * Copyright (c) 2010, Sebastian Sdorra All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer. 2. Redistributions in
+ * binary form must reproduce the above copyright notice, this list of
+ * conditions and the following disclaimer in the documentation and/or other
+ * materials provided with the distribution. 3. Neither the name of SCM-Manager;
+ * nor the names of its contributors may be used to endorse or promote products
+ * derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+ * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * http://bitbucket.org/sdorra/scm-manager
+ *
+ */
+
+
+
+package sonia.scm.plugin;
+
+//~--- non-JDK imports --------------------------------------------------------
+
+import org.apache.maven.repository.internal.DefaultArtifactDescriptorReader;
+import org.apache.maven.repository.internal.DefaultVersionRangeResolver;
+import org.apache.maven.repository.internal.DefaultVersionResolver;
+
+import org.slf4j.LoggerFactory;
+
+import org.sonatype.aether.connector.async.AsyncRepositoryConnectorFactory;
+import org.sonatype.aether.connector.file.FileRepositoryConnectorFactory;
+import org.sonatype.aether.impl.ArtifactDescriptorReader;
+import org.sonatype.aether.impl.VersionRangeResolver;
+import org.sonatype.aether.impl.VersionResolver;
+import org.sonatype.aether.impl.internal.DefaultServiceLocator;
+import org.sonatype.aether.impl.internal.Slf4jLogger;
+import org.sonatype.aether.spi.connector.RepositoryConnectorFactory;
+import org.sonatype.aether.spi.log.Logger;
+
+/**
+ *
+ * @author Sebastian Sdorra
+ */
+public class AetherServiceLocator extends DefaultServiceLocator
+{
+
+ /** Field description */
+ private static final String LOGGER_NAME = "org.sonatype.aether";
+
+ /** Field description */
+ private static final Slf4jLogger logger =
+ new Slf4jLogger(LoggerFactory.getLogger(LOGGER_NAME));
+
+ //~--- constructors ---------------------------------------------------------
+
+ /**
+ * Constructs ...
+ *
+ */
+ public AetherServiceLocator()
+ {
+ setServices(Logger.class, logger);
+ addService(VersionResolver.class, DefaultVersionResolver.class);
+ addService(VersionRangeResolver.class, DefaultVersionRangeResolver.class);
+ addService(ArtifactDescriptorReader.class,
+ DefaultArtifactDescriptorReader.class);
+ addService(RepositoryConnectorFactory.class,
+ AsyncRepositoryConnectorFactory.class);
+ addService(RepositoryConnectorFactory.class,
+ FileRepositoryConnectorFactory.class);
+ }
+}
diff --git a/scm-webapp/src/main/resources/logback.default.xml b/scm-webapp/src/main/resources/logback.default.xml
index 04e4a8c34a..8ede379ac6 100644
--- a/scm-webapp/src/main/resources/logback.default.xml
+++ b/scm-webapp/src/main/resources/logback.default.xml
@@ -58,6 +58,12 @@
+
+
+
+
+
+
+
+