slawekjaranowski commented on code in PR #1301:
URL: https://github.com/apache/maven/pull/1301#discussion_r1394554813


##########
maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/MavenRepositorySystemUtils.java:
##########
@@ -100,4 +101,51 @@ public static DefaultRepositorySystemSession newSession() {
 
         return session;
     }
+
+    /**
+     * Creates a new Maven-like repository system session by initializing the 
session with values typical for
+     * Maven-based resolution. In more detail, this method configures settings 
relevant for the processing of dependency
+     * graphs, most other settings remain at their generic default value. Use 
the various setters to further configure
+     * the session with authentication, mirror, proxy and other information 
required for your environment.
+     *
+     * @return The new repository system session, never {@code null}.
+     */
+    public static SessionBuilder newSession(SessionBuilder session) {
+        DependencyTraverser depTraverser = new FatArtifactTraverser();
+        session.setDependencyTraverser(depTraverser);
+
+        DependencyManager depManager = new ClassicDependencyManager();
+        session.setDependencyManager(depManager);
+
+        DependencySelector depFilter = new AndDependencySelector(
+                new ScopeDependencySelector("test", "provided"),
+                new OptionalDependencySelector(),
+                new ExclusionDependencySelector());
+        session.setDependencySelector(depFilter);
+
+        DependencyGraphTransformer transformer = new ConflictResolver(
+                new NearestVersionSelector(), new JavaScopeSelector(),
+                new SimpleOptionalitySelector(), new JavaScopeDeriver());
+        transformer = new ChainedDependencyGraphTransformer(transformer, new 
JavaDependencyContextRefiner());
+        session.setDependencyGraphTransformer(transformer);
+
+        DefaultArtifactTypeRegistry stereotypes = new 
DefaultArtifactTypeRegistry();
+        stereotypes.add(new DefaultArtifactType("pom"));
+        stereotypes.add(new DefaultArtifactType("maven-plugin", "jar", "", 
"java"));
+        stereotypes.add(new DefaultArtifactType("jar", "jar", "", "java"));
+        stereotypes.add(new DefaultArtifactType("ejb", "jar", "", "java"));
+        stereotypes.add(new DefaultArtifactType("ejb-client", "jar", "client", 
"java"));
+        stereotypes.add(new DefaultArtifactType("test-jar", "jar", "tests", 
"java"));
+        stereotypes.add(new DefaultArtifactType("javadoc", "jar", "javadoc", 
"java"));
+        stereotypes.add(new DefaultArtifactType("java-source", "jar", 
"sources", "java", false, false));
+        stereotypes.add(new DefaultArtifactType("war", "war", "", "java", 
false, true));
+        stereotypes.add(new DefaultArtifactType("ear", "ear", "", "java", 
false, true));
+        stereotypes.add(new DefaultArtifactType("rar", "rar", "", "java", 
false, true));
+        stereotypes.add(new DefaultArtifactType("par", "par", "", "java", 
false, true));
+        session.setArtifactTypeRegistry(stereotypes);

Review Comment:
   Can you remind which issue / change requires it?



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscr...@maven.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to