mirror of
https://github.com/scm-manager/scm-manager.git
synced 2026-03-09 13:50:18 +01:00
update fron sonatype aether to eclipse aether 1.1.0
This commit is contained in:
@@ -25,22 +25,22 @@
|
||||
</dependency>
|
||||
|
||||
<!-- fix javadoc -->
|
||||
|
||||
<dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>javax.transaction</groupId>
|
||||
<artifactId>jta</artifactId>
|
||||
<version>1.1</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
|
||||
|
||||
<!-- scm -->
|
||||
|
||||
|
||||
<dependency>
|
||||
<groupId>sonia.scm</groupId>
|
||||
<artifactId>scm-core</artifactId>
|
||||
<version>1.58-SNAPSHOT</version>
|
||||
</dependency>
|
||||
|
||||
|
||||
<dependency>
|
||||
<groupId>sonia.scm</groupId>
|
||||
<artifactId>scm-dao-xml</artifactId>
|
||||
@@ -64,7 +64,7 @@
|
||||
<artifactId>scm-git-plugin</artifactId>
|
||||
<version>1.58-SNAPSHOT</version>
|
||||
</dependency>
|
||||
|
||||
|
||||
<!-- security -->
|
||||
|
||||
<dependency>
|
||||
@@ -72,7 +72,7 @@
|
||||
<artifactId>shiro-web</artifactId>
|
||||
<version>${shiro.version}</version>
|
||||
</dependency>
|
||||
|
||||
|
||||
<dependency>
|
||||
<groupId>org.apache.shiro</groupId>
|
||||
<artifactId>shiro-guice</artifactId>
|
||||
@@ -116,13 +116,13 @@
|
||||
<!-- included by dependency rewrite -->
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
|
||||
|
||||
<dependency>
|
||||
<groupId>com.sun.jersey.contribs</groupId>
|
||||
<artifactId>jersey-multipart</artifactId>
|
||||
<version>${jersey.version}</version>
|
||||
</dependency>
|
||||
|
||||
|
||||
<!-- injection -->
|
||||
|
||||
<dependency>
|
||||
@@ -130,26 +130,26 @@
|
||||
<artifactId>guice-multibindings</artifactId>
|
||||
<version>${guice.version}</version>
|
||||
</dependency>
|
||||
|
||||
|
||||
<!-- logging -->
|
||||
|
||||
<dependency>
|
||||
<groupId>ch.qos.logback</groupId>
|
||||
<artifactId>logback-classic</artifactId>
|
||||
</dependency>
|
||||
|
||||
|
||||
<dependency>
|
||||
<groupId>org.slf4j</groupId>
|
||||
<artifactId>jcl-over-slf4j</artifactId>
|
||||
<version>${slf4j.version}</version>
|
||||
</dependency>
|
||||
|
||||
|
||||
<dependency>
|
||||
<groupId>org.slf4j</groupId>
|
||||
<artifactId>log4j-over-slf4j</artifactId>
|
||||
<version>${slf4j.version}</version>
|
||||
</dependency>
|
||||
|
||||
|
||||
<!-- cache -->
|
||||
|
||||
<dependency>
|
||||
@@ -157,46 +157,46 @@
|
||||
<artifactId>ehcache-core</artifactId>
|
||||
<version>${ehcache.version}</version>
|
||||
</dependency>
|
||||
|
||||
|
||||
<!--
|
||||
fix java.lang.NoClassDefFoundError org/w3c/dom/ElementTraversal
|
||||
-->
|
||||
|
||||
|
||||
<dependency>
|
||||
<groupId>xml-apis</groupId>
|
||||
<artifactId>xml-apis</artifactId>
|
||||
<version>1.4.01</version>
|
||||
</dependency>
|
||||
|
||||
|
||||
<!-- only for BeanComparator, replace with own implementation -->
|
||||
|
||||
|
||||
<dependency>
|
||||
<groupId>commons-beanutils</groupId>
|
||||
<artifactId>commons-beanutils</artifactId>
|
||||
</dependency>
|
||||
|
||||
|
||||
<dependency>
|
||||
<groupId>commons-collections</groupId>
|
||||
<artifactId>commons-collections</artifactId>
|
||||
</dependency>
|
||||
|
||||
<!--
|
||||
fix installation of httpasswd-plugin
|
||||
|
||||
<!--
|
||||
fix installation of httpasswd-plugin
|
||||
https://groups.google.com/d/topic/scmmanager/eN7UtG8TwW8/discussion
|
||||
-->
|
||||
|
||||
|
||||
<dependency>
|
||||
<groupId>commons-codec</groupId>
|
||||
<artifactId>commons-codec</artifactId>
|
||||
<version>1.9</version>
|
||||
</dependency>
|
||||
|
||||
|
||||
<dependency>
|
||||
<groupId>com.google.guava</groupId>
|
||||
<artifactId>guava</artifactId>
|
||||
<version>${guava.version}</version>
|
||||
</dependency>
|
||||
|
||||
|
||||
<dependency>
|
||||
<groupId>org.quartz-scheduler</groupId>
|
||||
<artifactId>quartz</artifactId>
|
||||
@@ -208,7 +208,7 @@
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
|
||||
|
||||
<!-- template engine -->
|
||||
|
||||
<dependency>
|
||||
@@ -216,7 +216,7 @@
|
||||
<artifactId>freemarker</artifactId>
|
||||
<version>${freemarker.version}</version>
|
||||
</dependency>
|
||||
|
||||
|
||||
<dependency>
|
||||
<groupId>com.github.spullara.mustache.java</groupId>
|
||||
<artifactId>compiler</artifactId>
|
||||
@@ -226,13 +226,13 @@
|
||||
<!-- aether -->
|
||||
|
||||
<dependency>
|
||||
<groupId>org.sonatype.aether</groupId>
|
||||
<groupId>org.eclipse.aether</groupId>
|
||||
<artifactId>aether-api</artifactId>
|
||||
<version>${aether.version}</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.sonatype.aether</groupId>
|
||||
<groupId>org.eclipse.aether</groupId>
|
||||
<artifactId>aether-impl</artifactId>
|
||||
<version>${aether.version}</version>
|
||||
</dependency>
|
||||
@@ -250,19 +250,25 @@
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.sonatype.aether</groupId>
|
||||
<artifactId>aether-connector-asynchttpclient</artifactId>
|
||||
<groupId>org.eclipse.aether</groupId>
|
||||
<artifactId>aether-transport-http</artifactId>
|
||||
<version>${aether.version}</version>
|
||||
</dependency>
|
||||
|
||||
|
||||
<dependency>
|
||||
<groupId>org.sonatype.aether</groupId>
|
||||
<artifactId>aether-connector-file</artifactId>
|
||||
<groupId>org.eclipse.aether</groupId>
|
||||
<artifactId>aether-transport-file</artifactId>
|
||||
<version>${aether.version}</version>
|
||||
</dependency>
|
||||
|
||||
|
||||
<dependency>
|
||||
<groupId>org.eclipse.aether</groupId>
|
||||
<artifactId>aether-connector-basic</artifactId>
|
||||
<version>${aether.version}</version>
|
||||
</dependency>
|
||||
|
||||
<!-- rest documentation -->
|
||||
|
||||
|
||||
<dependency>
|
||||
<groupId>com.webcohesion.enunciate</groupId>
|
||||
<artifactId>enunciate-core-annotations</artifactId>
|
||||
@@ -283,7 +289,7 @@
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
|
||||
|
||||
<dependency>
|
||||
<groupId>sonia.scm.plugins</groupId>
|
||||
<artifactId>scm-git-plugin</artifactId>
|
||||
@@ -291,7 +297,7 @@
|
||||
<classifier>tests</classifier>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
|
||||
|
||||
<dependency>
|
||||
<groupId>sonia.scm.plugins</groupId>
|
||||
<artifactId>scm-hg-plugin</artifactId>
|
||||
@@ -299,7 +305,7 @@
|
||||
<classifier>tests</classifier>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
|
||||
|
||||
<dependency>
|
||||
<groupId>sonia.scm.plugins</groupId>
|
||||
<artifactId>scm-svn-plugin</artifactId>
|
||||
@@ -307,7 +313,7 @@
|
||||
<classifier>tests</classifier>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
|
||||
|
||||
<dependency>
|
||||
<groupId>org.seleniumhq.selenium</groupId>
|
||||
<artifactId>selenium-java</artifactId>
|
||||
@@ -321,7 +327,7 @@
|
||||
<version>${selenium.version}</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
|
||||
|
||||
<dependency>
|
||||
<groupId>org.seleniumhq.selenium</groupId>
|
||||
<artifactId>htmlunit-driver</artifactId>
|
||||
@@ -342,23 +348,23 @@
|
||||
<version>${jersey.version}</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
|
||||
|
||||
<dependency>
|
||||
<groupId>com.github.sdorra</groupId>
|
||||
<artifactId>shiro-unit</artifactId>
|
||||
<version>1.0.0</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
|
||||
|
||||
<!-- global excludes -->
|
||||
|
||||
|
||||
<dependency>
|
||||
<groupId>commons-logging</groupId>
|
||||
<artifactId>commons-logging</artifactId>
|
||||
<version>1.1.3</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
|
||||
|
||||
<dependency>
|
||||
<groupId>log4j</groupId>
|
||||
<artifactId>log4j</artifactId>
|
||||
@@ -371,7 +377,7 @@
|
||||
<build>
|
||||
|
||||
<plugins>
|
||||
|
||||
|
||||
<plugin>
|
||||
<groupId>com.mycila.maven-license-plugin</groupId>
|
||||
<artifactId>maven-license-plugin</artifactId>
|
||||
@@ -393,7 +399,7 @@
|
||||
<strictCheck>true</strictCheck>
|
||||
</configuration>
|
||||
</plugin>
|
||||
|
||||
|
||||
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
@@ -412,7 +418,7 @@
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
|
||||
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-antrun-plugin</artifactId>
|
||||
@@ -444,7 +450,7 @@
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
|
||||
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-war-plugin</artifactId>
|
||||
@@ -513,8 +519,8 @@
|
||||
<encoding>${project.build.sourceEncoding}</encoding>
|
||||
<scanIntervalSeconds>0</scanIntervalSeconds>
|
||||
</configuration>
|
||||
</plugin>
|
||||
|
||||
</plugin>
|
||||
|
||||
</plugins>
|
||||
|
||||
<finalName>scm-webapp</finalName>
|
||||
@@ -526,9 +532,9 @@
|
||||
<environment.profile>default</environment.profile>
|
||||
<selenium.version>2.53.1</selenium.version>
|
||||
<enunciate.version>2.9.1</enunciate.version>
|
||||
<aether.version>1.13.1</aether.version>
|
||||
<aether.version>1.1.0</aether.version>
|
||||
<wagon.version>1.0</wagon.version>
|
||||
<maven.version>3.0.5</maven.version>
|
||||
<maven.version>3.3.9</maven.version>
|
||||
<mustache.version>0.8.17</mustache.version>
|
||||
<netbeans.hint.deploy.server>Tomcat</netbeans.hint.deploy.server>
|
||||
<sonar.issue.ignore.multicriteria>e1</sonar.issue.ignore.multicriteria>
|
||||
@@ -538,18 +544,18 @@
|
||||
</properties>
|
||||
|
||||
<profiles>
|
||||
|
||||
|
||||
<profile>
|
||||
<id>cluster</id>
|
||||
|
||||
|
||||
<dependencies>
|
||||
|
||||
|
||||
<dependency>
|
||||
<groupId>sonia.scm</groupId>
|
||||
<artifactId>scm-dao-orientdb</artifactId>
|
||||
<version>1.58-SNAPSHOT</version>
|
||||
</dependency>
|
||||
|
||||
|
||||
</dependencies>
|
||||
</profile>
|
||||
|
||||
@@ -679,29 +685,29 @@
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
|
||||
|
||||
</plugins>
|
||||
</build>
|
||||
|
||||
</profile>
|
||||
|
||||
|
||||
<profile>
|
||||
<id>selenium</id>
|
||||
|
||||
|
||||
<dependencies>
|
||||
|
||||
|
||||
<dependency>
|
||||
<groupId>org.apache.httpcomponents</groupId>
|
||||
<artifactId>httpclient</artifactId>
|
||||
<version>4.3.2</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
|
||||
|
||||
</dependencies>
|
||||
|
||||
|
||||
<build>
|
||||
<plugins>
|
||||
|
||||
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-failsafe-plugin</artifactId>
|
||||
@@ -726,7 +732,7 @@
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
|
||||
|
||||
<plugin>
|
||||
<groupId>org.mortbay.jetty</groupId>
|
||||
<artifactId>jetty-maven-plugin</artifactId>
|
||||
@@ -770,7 +776,7 @@
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
|
||||
|
||||
<plugin>
|
||||
<groupId>org.codehaus.mojo</groupId>
|
||||
<artifactId>selenium-maven-plugin</artifactId>
|
||||
@@ -791,22 +797,22 @@
|
||||
<phase>post-integration-test</phase>
|
||||
<goals>
|
||||
<goal>stop-server</goal>
|
||||
</goals>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
|
||||
|
||||
</plugins>
|
||||
</build>
|
||||
|
||||
|
||||
</profile>
|
||||
|
||||
|
||||
<profile>
|
||||
<id>doc</id>
|
||||
|
||||
|
||||
<build>
|
||||
<plugins>
|
||||
|
||||
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-resources-plugin</artifactId>
|
||||
@@ -820,7 +826,7 @@
|
||||
</goals>
|
||||
<configuration>
|
||||
<outputDirectory>${project.build.directory}</outputDirectory>
|
||||
<resources>
|
||||
<resources>
|
||||
<resource>
|
||||
<directory>src/main/doc</directory>
|
||||
<filtering>true</filtering>
|
||||
@@ -828,12 +834,12 @@
|
||||
<include>**/enunciate.xml</include>
|
||||
</includes>
|
||||
</resource>
|
||||
</resources>
|
||||
</configuration>
|
||||
</resources>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
|
||||
|
||||
<plugin>
|
||||
<groupId>com.webcohesion.enunciate</groupId>
|
||||
<artifactId>enunciate-maven-plugin</artifactId>
|
||||
@@ -865,7 +871,7 @@
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</plugin>
|
||||
|
||||
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-assembly-plugin</artifactId>
|
||||
@@ -884,12 +890,12 @@
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
|
||||
|
||||
</plugins>
|
||||
</build>
|
||||
</profile>
|
||||
|
||||
</profiles>
|
||||
|
||||
|
||||
</project>
|
||||
|
||||
|
||||
@@ -36,18 +36,13 @@ package sonia.scm.plugin;
|
||||
//~--- non-JDK imports --------------------------------------------------------
|
||||
|
||||
import com.google.common.base.Throwables;
|
||||
|
||||
import org.eclipse.aether.artifact.Artifact;
|
||||
import org.eclipse.aether.graph.DependencyFilter;
|
||||
import org.eclipse.aether.graph.DependencyNode;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import org.sonatype.aether.artifact.Artifact;
|
||||
import org.sonatype.aether.graph.DependencyFilter;
|
||||
import org.sonatype.aether.graph.DependencyNode;
|
||||
|
||||
//~--- JDK imports ------------------------------------------------------------
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
|
||||
@@ -35,41 +35,34 @@ package sonia.scm.plugin;
|
||||
|
||||
//~--- non-JDK imports --------------------------------------------------------
|
||||
|
||||
import org.apache.maven.repository.internal.MavenRepositorySystemSession;
|
||||
|
||||
import com.google.common.base.Throwables;
|
||||
import org.apache.maven.repository.internal.MavenRepositorySystemUtils;
|
||||
import org.eclipse.aether.DefaultRepositorySystemSession;
|
||||
import org.eclipse.aether.RepositorySystem;
|
||||
import org.eclipse.aether.RepositorySystemSession;
|
||||
import org.eclipse.aether.artifact.DefaultArtifact;
|
||||
import org.eclipse.aether.collection.CollectRequest;
|
||||
import org.eclipse.aether.collection.DependencyCollectionException;
|
||||
import org.eclipse.aether.collection.DependencyGraphTransformer;
|
||||
import org.eclipse.aether.graph.Dependency;
|
||||
import org.eclipse.aether.graph.DependencyFilter;
|
||||
import org.eclipse.aether.graph.DependencyNode;
|
||||
import org.eclipse.aether.repository.*;
|
||||
import org.eclipse.aether.resolution.DependencyRequest;
|
||||
import org.eclipse.aether.resolution.DependencyResolutionException;
|
||||
import org.eclipse.aether.spi.locator.ServiceLocator;
|
||||
import org.eclipse.aether.util.artifact.JavaScopes;
|
||||
import org.eclipse.aether.util.filter.AndDependencyFilter;
|
||||
import org.eclipse.aether.util.filter.DependencyFilterUtils;
|
||||
import org.eclipse.aether.util.graph.transformer.*;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import org.sonatype.aether.RepositorySystem;
|
||||
import org.sonatype.aether.RepositorySystemSession;
|
||||
import org.sonatype.aether.collection.CollectRequest;
|
||||
import org.sonatype.aether.collection.DependencyCollectionException;
|
||||
import org.sonatype.aether.collection.DependencyGraphTransformer;
|
||||
import org.sonatype.aether.graph.Dependency;
|
||||
import org.sonatype.aether.graph.DependencyFilter;
|
||||
import org.sonatype.aether.graph.DependencyNode;
|
||||
import org.sonatype.aether.repository.LocalRepository;
|
||||
import org.sonatype.aether.repository.LocalRepositoryManager;
|
||||
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.resolution.DependencyResolutionException;
|
||||
import org.sonatype.aether.util.artifact.DefaultArtifact;
|
||||
import org.sonatype.aether.util.artifact.JavaScopes;
|
||||
import org.sonatype.aether.util.filter.AndDependencyFilter;
|
||||
import org.sonatype.aether.util.filter.DependencyFilterUtils;
|
||||
import org.sonatype.aether.util.graph.transformer
|
||||
.ChainedDependencyGraphTransformer;
|
||||
import org.sonatype.aether.util.graph.transformer.ConflictMarker;
|
||||
import org.sonatype.aether.util.graph.transformer.JavaDependencyContextRefiner;
|
||||
import org.sonatype.aether.util.graph.transformer.JavaEffectiveScopeCalculator;
|
||||
import org.sonatype.aether.util.graph.transformer
|
||||
.NearestVersionConflictResolver;
|
||||
|
||||
import sonia.scm.config.ScmConfiguration;
|
||||
import sonia.scm.net.Proxies;
|
||||
|
||||
import java.net.MalformedURLException;
|
||||
import java.net.URL;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Sebastian Sdorra
|
||||
@@ -77,6 +70,8 @@ import sonia.scm.net.Proxies;
|
||||
public final class Aether
|
||||
{
|
||||
|
||||
private static final ServiceLocator serviceLocator = new AetherServiceLocator();
|
||||
|
||||
/** Field description */
|
||||
private static final DependencyFilter FILTER =
|
||||
new AndDependencyFilter(new CoreDependencyFilter(),
|
||||
@@ -134,11 +129,9 @@ public final class Aether
|
||||
public static RemoteRepository createRemoteRepository(
|
||||
ScmConfiguration configuration, PluginRepository pluginRepository)
|
||||
{
|
||||
RemoteRepository remoteRepository =
|
||||
new RemoteRepository(pluginRepository.getId(), "default",
|
||||
pluginRepository.getUrl());
|
||||
RemoteRepository.Builder builder = new RemoteRepository.Builder(pluginRepository.getId(), "default", pluginRepository.getUrl());
|
||||
|
||||
if (Proxies.isEnabled(configuration, remoteRepository.getHost()))
|
||||
if (Proxies.isEnabled(configuration, hostFromUrl(pluginRepository.getUrl())))
|
||||
{
|
||||
Proxy proxy = DefaultProxySelector.createProxy(configuration);
|
||||
|
||||
@@ -148,10 +141,18 @@ public final class Aether
|
||||
pluginRepository.getUrl());
|
||||
}
|
||||
|
||||
remoteRepository.setProxy(proxy);
|
||||
builder.setProxy(proxy);
|
||||
}
|
||||
|
||||
return remoteRepository;
|
||||
return builder.build();
|
||||
}
|
||||
|
||||
private static String hostFromUrl(String url) {
|
||||
try {
|
||||
return new URL(url).getHost();
|
||||
} catch (MalformedURLException e) {
|
||||
throw Throwables.propagate(e);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -162,7 +163,7 @@ public final class Aether
|
||||
*/
|
||||
public static RepositorySystem createRepositorySystem()
|
||||
{
|
||||
return new AetherServiceLocator().getService(RepositorySystem.class);
|
||||
return serviceLocator.getService(RepositorySystem.class);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -181,8 +182,7 @@ public final class Aether
|
||||
ScmConfiguration configuration,
|
||||
AdvancedPluginConfiguration advancedPluginConfiguration)
|
||||
{
|
||||
MavenRepositorySystemSession session = new MavenRepositorySystemSession();
|
||||
|
||||
DefaultRepositorySystemSession session = MavenRepositorySystemUtils.newSession();
|
||||
session.setChecksumPolicy(RepositoryPolicy.CHECKSUM_POLICY_WARN);
|
||||
|
||||
if (configuration.isEnableProxy())
|
||||
@@ -191,23 +191,26 @@ public final class Aether
|
||||
session.setProxySelector(new DefaultProxySelector(configuration));
|
||||
}
|
||||
|
||||
LocalRepositoryManager localRepositoryManager =
|
||||
system.newLocalRepositoryManager(localRepository);
|
||||
LocalRepositoryManager localRepositoryManager = system.newLocalRepositoryManager(session, localRepository);
|
||||
|
||||
session.setLocalRepositoryManager(localRepositoryManager);
|
||||
session.setAuthenticationSelector(
|
||||
new AetherAuthenticationSelector(advancedPluginConfiguration)
|
||||
);
|
||||
|
||||
// create graph transformer to resolve dependency conflicts
|
||||
//J-
|
||||
DependencyGraphTransformer dgt = new ChainedDependencyGraphTransformer(
|
||||
new ConflictMarker(),
|
||||
new JavaEffectiveScopeCalculator(),
|
||||
new NearestVersionConflictResolver(),
|
||||
new JavaDependencyContextRefiner()
|
||||
// create graph transformer and conflictResolver to resolve dependency conflicts
|
||||
ConflictResolver conflictResolver = new ConflictResolver(
|
||||
new NearestVersionSelector(),
|
||||
new JavaScopeSelector(),
|
||||
new SimpleOptionalitySelector(),
|
||||
new JavaScopeDeriver()
|
||||
);
|
||||
|
||||
DependencyGraphTransformer dgt = new ChainedDependencyGraphTransformer(
|
||||
new ConflictMarker(),
|
||||
conflictResolver,
|
||||
new JavaDependencyContextRefiner()
|
||||
);
|
||||
//J+
|
||||
|
||||
session.setDependencyGraphTransformer(dgt);
|
||||
|
||||
@@ -228,7 +231,7 @@ public final class Aether
|
||||
* @throws DependencyResolutionException
|
||||
*/
|
||||
public static DependencyNode resolveDependencies(RepositorySystem system,
|
||||
RepositorySystemSession session, CollectRequest request)
|
||||
RepositorySystemSession session, CollectRequest request)
|
||||
throws DependencyCollectionException, DependencyResolutionException
|
||||
{
|
||||
DependencyNode node = system.collectDependencies(session,
|
||||
|
||||
@@ -36,20 +36,18 @@ package sonia.scm.plugin;
|
||||
import com.google.common.base.Strings;
|
||||
import com.google.common.collect.ImmutableMap;
|
||||
import com.google.common.collect.ImmutableMap.Builder;
|
||||
|
||||
import org.eclipse.aether.repository.Authentication;
|
||||
import org.eclipse.aether.repository.AuthenticationSelector;
|
||||
import org.eclipse.aether.repository.RemoteRepository;
|
||||
import org.eclipse.aether.util.repository.AuthenticationBuilder;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import org.sonatype.aether.repository.Authentication;
|
||||
import org.sonatype.aether.repository.AuthenticationSelector;
|
||||
import org.sonatype.aether.repository.RemoteRepository;
|
||||
|
||||
import sonia.scm.plugin.AdvancedPluginConfiguration.Server;
|
||||
|
||||
//~--- JDK imports ------------------------------------------------------------
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
//~--- JDK imports ------------------------------------------------------------
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Sebastian Sdorra
|
||||
@@ -115,8 +113,10 @@ public class AetherAuthenticationSelector implements AuthenticationSelector
|
||||
{
|
||||
logger.info("use user {} for repository wiht id {}",
|
||||
server.getUsername(), repository.getId());
|
||||
authentication = new Authentication(server.getUsername(),
|
||||
server.getPassword());
|
||||
authentication = new AuthenticationBuilder()
|
||||
.addUsername(server.getUsername())
|
||||
.addPassword(server.getPassword())
|
||||
.build();
|
||||
}
|
||||
|
||||
return authentication;
|
||||
|
||||
@@ -36,27 +36,24 @@ package sonia.scm.plugin;
|
||||
//~--- non-JDK imports --------------------------------------------------------
|
||||
|
||||
import com.google.common.collect.Lists;
|
||||
|
||||
import org.eclipse.aether.RepositorySystem;
|
||||
import org.eclipse.aether.RepositorySystemSession;
|
||||
import org.eclipse.aether.collection.CollectRequest;
|
||||
import org.eclipse.aether.collection.DependencyCollectionException;
|
||||
import org.eclipse.aether.graph.Dependency;
|
||||
import org.eclipse.aether.graph.DependencyNode;
|
||||
import org.eclipse.aether.repository.LocalRepository;
|
||||
import org.eclipse.aether.repository.RemoteRepository;
|
||||
import org.eclipse.aether.resolution.DependencyResolutionException;
|
||||
import org.eclipse.aether.util.graph.visitor.PreorderNodeListGenerator;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import org.sonatype.aether.RepositorySystem;
|
||||
import org.sonatype.aether.RepositorySystemSession;
|
||||
import org.sonatype.aether.collection.CollectRequest;
|
||||
import org.sonatype.aether.collection.DependencyCollectionException;
|
||||
import org.sonatype.aether.graph.Dependency;
|
||||
import org.sonatype.aether.graph.DependencyNode;
|
||||
import org.sonatype.aether.repository.LocalRepository;
|
||||
import org.sonatype.aether.repository.RemoteRepository;
|
||||
import org.sonatype.aether.resolution.DependencyResolutionException;
|
||||
import org.sonatype.aether.util.graph.PreorderNodeListGenerator;
|
||||
|
||||
import sonia.scm.config.ScmConfiguration;
|
||||
|
||||
//~--- JDK imports ------------------------------------------------------------
|
||||
|
||||
import java.util.List;
|
||||
|
||||
//~--- JDK imports ------------------------------------------------------------
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Sebastian Sdorra
|
||||
@@ -83,9 +80,9 @@ public class AetherDependencyResolver
|
||||
* @param remoteRepositories
|
||||
*/
|
||||
public AetherDependencyResolver(ScmConfiguration configuration,
|
||||
AdvancedPluginConfiguration advancedPluginConfiguration,
|
||||
RepositorySystem system, LocalRepository localRepository,
|
||||
List<RemoteRepository> remoteRepositories)
|
||||
AdvancedPluginConfiguration advancedPluginConfiguration,
|
||||
RepositorySystem system, LocalRepository localRepository,
|
||||
List<RemoteRepository> remoteRepositories)
|
||||
{
|
||||
this.configuration = configuration;
|
||||
this.advancedPluginConfiguration = advancedPluginConfiguration;
|
||||
|
||||
@@ -40,10 +40,10 @@ import com.google.common.collect.Lists;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import org.sonatype.aether.RepositorySystem;
|
||||
import org.sonatype.aether.graph.Dependency;
|
||||
import org.sonatype.aether.repository.LocalRepository;
|
||||
import org.sonatype.aether.repository.RemoteRepository;
|
||||
import org.eclipse.aether.RepositorySystem;
|
||||
import org.eclipse.aether.graph.Dependency;
|
||||
import org.eclipse.aether.repository.LocalRepository;
|
||||
import org.eclipse.aether.repository.RemoteRepository;
|
||||
|
||||
import sonia.scm.ConfigurationException;
|
||||
import sonia.scm.SCMContextProvider;
|
||||
@@ -190,7 +190,6 @@ public class AetherPluginHandler
|
||||
*
|
||||
*
|
||||
* @param dependency
|
||||
* @param dependencies
|
||||
* @param localDependencies
|
||||
*/
|
||||
private void collectDependencies(Dependency dependency,
|
||||
@@ -200,7 +199,7 @@ public class AetherPluginHandler
|
||||
{
|
||||
//J-
|
||||
AetherDependencyResolver resolver = new AetherDependencyResolver(
|
||||
configuration, advancedPluginConfiguration, repositorySystem,
|
||||
configuration, advancedPluginConfiguration, repositorySystem,
|
||||
localRepository, remoteRepositories
|
||||
);
|
||||
//J+
|
||||
|
||||
@@ -37,32 +37,30 @@ package sonia.scm.plugin;
|
||||
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.MavenRepositorySystemUtils;
|
||||
import org.eclipse.aether.connector.basic.BasicRepositoryConnectorFactory;
|
||||
import org.eclipse.aether.impl.ArtifactDescriptorReader;
|
||||
import org.eclipse.aether.impl.DefaultServiceLocator;
|
||||
import org.eclipse.aether.impl.VersionRangeResolver;
|
||||
import org.eclipse.aether.impl.VersionResolver;
|
||||
import org.eclipse.aether.internal.impl.slf4j.Slf4jLoggerFactory;
|
||||
import org.eclipse.aether.spi.connector.RepositoryConnectorFactory;
|
||||
import org.eclipse.aether.spi.connector.transport.TransporterFactory;
|
||||
import org.eclipse.aether.spi.locator.ServiceLocator;
|
||||
import org.eclipse.aether.spi.log.LoggerFactory;
|
||||
import org.eclipse.aether.transport.file.FileTransporterFactory;
|
||||
import org.eclipse.aether.transport.http.HttpTransporterFactory;
|
||||
|
||||
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;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Sebastian Sdorra
|
||||
*/
|
||||
public class AetherServiceLocator extends DefaultServiceLocator
|
||||
public class AetherServiceLocator implements ServiceLocator
|
||||
{
|
||||
|
||||
/** Field description */
|
||||
private static final String LOGGER_NAME = "org.sonatype.aether";
|
||||
|
||||
/** Field description */
|
||||
private static final Slf4jLogger logger =
|
||||
new Slf4jLogger(LoggerFactory.getLogger(LOGGER_NAME));
|
||||
private DefaultServiceLocator delegate;
|
||||
|
||||
//~--- constructors ---------------------------------------------------------
|
||||
|
||||
@@ -70,16 +68,25 @@ public class AetherServiceLocator extends DefaultServiceLocator
|
||||
* Constructs ...
|
||||
*
|
||||
*/
|
||||
public AetherServiceLocator()
|
||||
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);
|
||||
delegate = MavenRepositorySystemUtils.newServiceLocator();
|
||||
delegate.setService(LoggerFactory.class, Slf4jLoggerFactory.class);
|
||||
delegate.addService(VersionResolver.class, DefaultVersionResolver.class);
|
||||
delegate.addService(VersionRangeResolver.class, DefaultVersionRangeResolver.class);
|
||||
delegate.addService(ArtifactDescriptorReader.class, DefaultArtifactDescriptorReader.class);
|
||||
delegate.addService(TransporterFactory.class, HttpTransporterFactory.class);
|
||||
delegate.addService(TransporterFactory.class, FileTransporterFactory.class);
|
||||
delegate.addService(RepositoryConnectorFactory.class, BasicRepositoryConnectorFactory.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> T getService(Class<T> type) {
|
||||
return delegate.getService(type);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> List<T> getServices(Class<T> type) {
|
||||
return delegate.getServices(type);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -34,13 +34,13 @@ package sonia.scm.plugin;
|
||||
|
||||
//~--- non-JDK imports --------------------------------------------------------
|
||||
|
||||
import org.eclipse.aether.repository.Authentication;
|
||||
import org.eclipse.aether.repository.Proxy;
|
||||
import org.eclipse.aether.repository.ProxySelector;
|
||||
import org.eclipse.aether.repository.RemoteRepository;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import org.sonatype.aether.repository.Authentication;
|
||||
import org.sonatype.aether.repository.Proxy;
|
||||
import org.sonatype.aether.repository.ProxySelector;
|
||||
import org.sonatype.aether.repository.RemoteRepository;
|
||||
|
||||
import sonia.scm.config.ScmConfiguration;
|
||||
import sonia.scm.util.Util;
|
||||
@@ -89,8 +89,11 @@ public class DefaultProxySelector implements ProxySelector
|
||||
|
||||
if (Util.isNotEmpty(username) || Util.isNotEmpty(password))
|
||||
{
|
||||
authentication = new Authentication(Util.nonNull(username),
|
||||
Util.nonNull(password));
|
||||
/*
|
||||
TODO
|
||||
authentication = new Authentication(Util.nonNull(username), Util.nonNull(password));
|
||||
*/
|
||||
|
||||
}
|
||||
|
||||
return new Proxy(Proxy.TYPE_HTTP, configuration.getProxyServer(),
|
||||
|
||||
@@ -34,8 +34,8 @@ package sonia.scm.plugin;
|
||||
|
||||
//~--- non-JDK imports --------------------------------------------------------
|
||||
|
||||
import org.sonatype.aether.graph.DependencyNode;
|
||||
import org.sonatype.aether.graph.DependencyVisitor;
|
||||
import org.eclipse.aether.graph.DependencyNode;
|
||||
import org.eclipse.aether.graph.DependencyVisitor;
|
||||
|
||||
/**
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user