1 package org.apache.maven.repository.internal;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import org.sonatype.aether.collection.DependencyGraphTransformer;
23 import org.sonatype.aether.collection.DependencyManager;
24 import org.sonatype.aether.collection.DependencySelector;
25 import org.sonatype.aether.collection.DependencyTraverser;
26 import org.sonatype.aether.util.DefaultRepositorySystemSession;
27 import org.sonatype.aether.util.artifact.DefaultArtifactType;
28 import org.sonatype.aether.util.artifact.DefaultArtifactTypeRegistry;
29 import org.sonatype.aether.util.graph.manager.ClassicDependencyManager;
30 import org.sonatype.aether.util.graph.selector.AndDependencySelector;
31 import org.sonatype.aether.util.graph.selector.ExclusionDependencySelector;
32 import org.sonatype.aether.util.graph.selector.OptionalDependencySelector;
33 import org.sonatype.aether.util.graph.selector.ScopeDependencySelector;
34 import org.sonatype.aether.util.graph.transformer.ChainedDependencyGraphTransformer;
35 import org.sonatype.aether.util.graph.transformer.ConflictMarker;
36 import org.sonatype.aether.util.graph.transformer.JavaDependencyContextRefiner;
37 import org.sonatype.aether.util.graph.transformer.JavaEffectiveScopeCalculator;
38 import org.sonatype.aether.util.graph.transformer.NearestVersionConflictResolver;
39 import org.sonatype.aether.util.graph.traverser.FatArtifactTraverser;
40 import org.sonatype.aether.util.repository.DefaultAuthenticationSelector;
41 import org.sonatype.aether.util.repository.DefaultMirrorSelector;
42 import org.sonatype.aether.util.repository.DefaultProxySelector;
43
44
45
46
47
48
49
50
51 public class MavenRepositorySystemSession
52 extends DefaultRepositorySystemSession
53 {
54
55
56
57
58
59
60
61 public MavenRepositorySystemSession()
62 {
63 setMirrorSelector( new DefaultMirrorSelector() );
64 setAuthenticationSelector( new DefaultAuthenticationSelector() );
65 setProxySelector( new DefaultProxySelector() );
66
67 DependencyTraverser depTraverser = new FatArtifactTraverser();
68 setDependencyTraverser( depTraverser );
69
70 DependencyManager depManager = new ClassicDependencyManager();
71 setDependencyManager( depManager );
72
73 DependencySelector depFilter =
74 new AndDependencySelector( new ScopeDependencySelector( "test", "provided" ),
75 new OptionalDependencySelector(), new ExclusionDependencySelector() );
76 setDependencySelector( depFilter );
77
78 DependencyGraphTransformer transformer =
79 new ChainedDependencyGraphTransformer( new ConflictMarker(), new JavaEffectiveScopeCalculator(),
80 new NearestVersionConflictResolver(),
81 new JavaDependencyContextRefiner() );
82 setDependencyGraphTransformer( transformer );
83
84 DefaultArtifactTypeRegistry stereotypes = new DefaultArtifactTypeRegistry();
85 stereotypes.add( new DefaultArtifactType( "pom" ) );
86 stereotypes.add( new DefaultArtifactType( "maven-plugin", "jar", "", "java" ) );
87 stereotypes.add( new DefaultArtifactType( "jar", "jar", "", "java" ) );
88 stereotypes.add( new DefaultArtifactType( "ejb", "jar", "", "java" ) );
89 stereotypes.add( new DefaultArtifactType( "ejb-client", "jar", "client", "java" ) );
90 stereotypes.add( new DefaultArtifactType( "test-jar", "jar", "tests", "java" ) );
91 stereotypes.add( new DefaultArtifactType( "javadoc", "jar", "javadoc", "java" ) );
92 stereotypes.add( new DefaultArtifactType( "java-source", "jar", "sources", "java", false, false ) );
93 stereotypes.add( new DefaultArtifactType( "war", "war", "", "java", false, true ) );
94 stereotypes.add( new DefaultArtifactType( "ear", "ear", "", "java", false, true ) );
95 stereotypes.add( new DefaultArtifactType( "rar", "rar", "", "java", false, true ) );
96 stereotypes.add( new DefaultArtifactType( "par", "par", "", "java", false, true ) );
97 setArtifactTypeRegistry( stereotypes );
98
99 setIgnoreInvalidArtifactDescriptor( true );
100 setIgnoreMissingArtifactDescriptor( true );
101
102 setSystemProps( System.getProperties() );
103 setConfigProps( System.getProperties() );
104 }
105
106 }