mirror of
https://github.com/scm-manager/scm-manager.git
synced 2025-11-09 06:55:47 +01:00
resolve conflicts for plugins and plugin dependencies
This commit is contained in:
@@ -30,6 +30,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
package sonia.scm.plugin;
|
package sonia.scm.plugin;
|
||||||
|
|
||||||
//~--- non-JDK imports --------------------------------------------------------
|
//~--- non-JDK imports --------------------------------------------------------
|
||||||
@@ -43,6 +44,7 @@ import org.sonatype.aether.RepositorySystem;
|
|||||||
import org.sonatype.aether.RepositorySystemSession;
|
import org.sonatype.aether.RepositorySystemSession;
|
||||||
import org.sonatype.aether.collection.CollectRequest;
|
import org.sonatype.aether.collection.CollectRequest;
|
||||||
import org.sonatype.aether.collection.DependencyCollectionException;
|
import org.sonatype.aether.collection.DependencyCollectionException;
|
||||||
|
import org.sonatype.aether.collection.DependencyGraphTransformer;
|
||||||
import org.sonatype.aether.graph.Dependency;
|
import org.sonatype.aether.graph.Dependency;
|
||||||
import org.sonatype.aether.graph.DependencyFilter;
|
import org.sonatype.aether.graph.DependencyFilter;
|
||||||
import org.sonatype.aether.graph.DependencyNode;
|
import org.sonatype.aether.graph.DependencyNode;
|
||||||
@@ -56,6 +58,13 @@ import org.sonatype.aether.resolution.DependencyResolutionException;
|
|||||||
import org.sonatype.aether.util.artifact.DefaultArtifact;
|
import org.sonatype.aether.util.artifact.DefaultArtifact;
|
||||||
import org.sonatype.aether.util.artifact.JavaScopes;
|
import org.sonatype.aether.util.artifact.JavaScopes;
|
||||||
import org.sonatype.aether.util.filter.DependencyFilterUtils;
|
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.config.ScmConfiguration;
|
||||||
import sonia.scm.net.Proxies;
|
import sonia.scm.net.Proxies;
|
||||||
@@ -183,6 +192,18 @@ public final class Aether
|
|||||||
|
|
||||||
session.setLocalRepositoryManager(localRepositoryManager);
|
session.setLocalRepositoryManager(localRepositoryManager);
|
||||||
|
|
||||||
|
// create graph transformer to resolve dependency conflicts
|
||||||
|
//J-
|
||||||
|
DependencyGraphTransformer dgt = new ChainedDependencyGraphTransformer(
|
||||||
|
new ConflictMarker(),
|
||||||
|
new JavaEffectiveScopeCalculator(),
|
||||||
|
new NearestVersionConflictResolver(),
|
||||||
|
new JavaDependencyContextRefiner()
|
||||||
|
);
|
||||||
|
//J+
|
||||||
|
|
||||||
|
session.setDependencyGraphTransformer(dgt);
|
||||||
|
|
||||||
return session;
|
return session;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user