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 0f7095e77a..fbbb20afcb 100644
--- a/scm-webapp/src/main/java/sonia/scm/plugin/AetherPluginHandler.java
+++ b/scm-webapp/src/main/java/sonia/scm/plugin/AetherPluginHandler.java
@@ -35,9 +35,6 @@ 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.apache.maven.repository.internal.MavenRepositorySystemSession;
import org.slf4j.Logger;
@@ -45,15 +42,9 @@ import org.slf4j.LoggerFactory;
import org.sonatype.aether.RepositorySystem;
import org.sonatype.aether.collection.CollectRequest;
-import org.sonatype.aether.connector.async.AsyncRepositoryConnectorFactory;
-import org.sonatype.aether.connector.file.FileRepositoryConnectorFactory;
import org.sonatype.aether.graph.Dependency;
import org.sonatype.aether.graph.DependencyFilter;
import org.sonatype.aether.graph.DependencyNode;
-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.repository.LocalArtifactRegistration;
import org.sonatype.aether.repository.LocalRepository;
import org.sonatype.aether.repository.LocalRepositoryManager;
@@ -61,7 +52,6 @@ import org.sonatype.aether.repository.Proxy;
import org.sonatype.aether.repository.RemoteRepository;
import org.sonatype.aether.repository.RepositoryPolicy;
import org.sonatype.aether.resolution.DependencyRequest;
-import org.sonatype.aether.spi.connector.RepositoryConnectorFactory;
import org.sonatype.aether.util.artifact.DefaultArtifact;
import org.sonatype.aether.util.graph.PreorderNodeListGenerator;
@@ -347,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 @@
+
+
+
+
+
+
+
+