Class MavenSessionBuilderSupplier

java.lang.Object
org.apache.maven.internal.impl.resolver.MavenSessionBuilderSupplier
All Implemented Interfaces:
Supplier<org.eclipse.aether.RepositorySystemSession.SessionBuilder>

public class MavenSessionBuilderSupplier extends Object implements Supplier<org.eclipse.aether.RepositorySystemSession.SessionBuilder>
A simple Supplier of RepositorySystemSession.SessionBuilder instances, that on each call supplies newly constructed instance. To create session out of builder, use RepositorySystemSession.SessionBuilder.build(). For proper closing of sessions, use RepositorySystemSession.CloseableSession.close() method on built instance(s).

Extend this class and override methods to customize, if needed.

Since:
4.0.0
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected final org.eclipse.aether.RepositorySystem
     
    protected final org.eclipse.aether.impl.scope.InternalScopeManager
     
  • Constructor Summary

    Constructors
    Constructor
    Description
    MavenSessionBuilderSupplier(org.eclipse.aether.RepositorySystem repositorySystem)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected void
    configureSessionBuilder(org.eclipse.aether.RepositorySystemSession.SessionBuilder session)
     
    org.eclipse.aether.RepositorySystemSession.SessionBuilder
    get()
    Creates a new Maven-like repository system session by initializing the session with values typical for Maven-based resolution.
    protected org.eclipse.aether.resolution.ArtifactDescriptorPolicy
     
    protected org.eclipse.aether.artifact.ArtifactTypeRegistry
    This method produces "surrogate" type registry that is static: it aims users that want to use Maven-Resolver without involving Maven Core and related things.
    protected org.eclipse.aether.collection.DependencyGraphTransformer
     
    protected org.eclipse.aether.collection.DependencyManager
     
    org.eclipse.aether.collection.DependencyManager
    getDependencyManager(boolean transitive)
     
    protected org.eclipse.aether.collection.DependencySelector
     
    protected org.eclipse.aether.collection.DependencyTraverser
     
    protected org.eclipse.aether.impl.scope.InternalScopeManager
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • repositorySystem

      protected final org.eclipse.aether.RepositorySystem repositorySystem
    • scopeManager

      protected final org.eclipse.aether.impl.scope.InternalScopeManager scopeManager
  • Constructor Details

    • MavenSessionBuilderSupplier

      public MavenSessionBuilderSupplier(org.eclipse.aether.RepositorySystem repositorySystem)
  • Method Details

    • getDependencyTraverser

      protected org.eclipse.aether.collection.DependencyTraverser getDependencyTraverser()
    • getScopeManager

      protected org.eclipse.aether.impl.scope.InternalScopeManager getScopeManager()
    • getDependencyManager

      protected org.eclipse.aether.collection.DependencyManager getDependencyManager()
    • getDependencyManager

      public org.eclipse.aether.collection.DependencyManager getDependencyManager(boolean transitive)
    • getDependencySelector

      protected org.eclipse.aether.collection.DependencySelector getDependencySelector()
    • getDependencyGraphTransformer

      protected org.eclipse.aether.collection.DependencyGraphTransformer getDependencyGraphTransformer()
    • getArtifactTypeRegistry

      protected org.eclipse.aether.artifact.ArtifactTypeRegistry getArtifactTypeRegistry()
      This method produces "surrogate" type registry that is static: it aims users that want to use Maven-Resolver without involving Maven Core and related things.

      This type registry is NOT used by Maven Core: Maven replaces it during Session creation with a type registry that supports extending it (i.e. via Maven Extensions).

      Important: this "static" list of types should be in-sync with core provided types.

    • getArtifactDescriptorPolicy

      protected org.eclipse.aether.resolution.ArtifactDescriptorPolicy getArtifactDescriptorPolicy()
    • configureSessionBuilder

      protected void configureSessionBuilder(org.eclipse.aether.RepositorySystemSession.SessionBuilder session)
    • get

      public org.eclipse.aether.RepositorySystemSession.SessionBuilder get()
      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. At least, local repository manager needs to be configured to make session be able to create session instance.
      Specified by:
      get in interface Supplier<org.eclipse.aether.RepositorySystemSession.SessionBuilder>
      Returns:
      SessionBuilder configured with minimally required things for "Maven-based resolution". At least LRM must be set on builder to make it able to create session instances.