in maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/session/DefaultCloseableSession.java [121:188]
public DefaultCloseableSession(
String sessionId,
boolean offline,
boolean ignoreArtifactDescriptorRepositories,
ResolutionErrorPolicy resolutionErrorPolicy,
ArtifactDescriptorPolicy artifactDescriptorPolicy,
String checksumPolicy,
String artifactUpdatePolicy,
String metadataUpdatePolicy,
LocalRepositoryManager localRepositoryManager,
Collection<LocalRepository> localRepositories,
WorkspaceReader workspaceReader,
Collection<RepositoryListener> repositoryListener,
Collection<TransferListener> transferListener,
Map<String, String> systemProperties,
Map<String, String> userProperties,
Map<String, Object> configProperties,
MirrorSelector mirrorSelector,
ProxySelector proxySelector,
AuthenticationSelector authenticationSelector,
ArtifactTypeRegistry artifactTypeRegistry,
DependencyTraverser dependencyTraverser,
DependencyManager dependencyManager,
DependencySelector dependencySelector,
VersionFilter versionFilter,
DependencyGraphTransformer dependencyGraphTransformer,
SessionData data,
RepositoryCache cache,
ScopeManager scopeManager,
List<Runnable> onSessionEndedHandlers,
RepositorySystem repositorySystem,
RepositorySystemLifecycle repositorySystemLifecycle) {
this.sessionId = requireNonNull(sessionId);
this.closed = new AtomicBoolean(false);
this.offline = offline;
this.ignoreArtifactDescriptorRepositories = ignoreArtifactDescriptorRepositories;
this.resolutionErrorPolicy = resolutionErrorPolicy;
this.artifactDescriptorPolicy = artifactDescriptorPolicy;
this.checksumPolicy = checksumPolicy;
this.artifactUpdatePolicy = artifactUpdatePolicy;
this.metadataUpdatePolicy = metadataUpdatePolicy;
this.workspaceReader = workspaceReader;
this.repositoryListener = new ChainedRepositoryListener(repositoryListener);
this.transferListener = new ChainedTransferListener(transferListener);
this.systemProperties = Collections.unmodifiableMap(systemProperties);
this.userProperties = Collections.unmodifiableMap(userProperties);
this.configProperties = Collections.unmodifiableMap(configProperties);
this.mirrorSelector = requireNonNull(mirrorSelector);
this.proxySelector = requireNonNull(proxySelector);
this.authenticationSelector = requireNonNull(authenticationSelector);
this.artifactTypeRegistry = requireNonNull(artifactTypeRegistry);
this.dependencyTraverser = dependencyTraverser;
this.dependencyManager = dependencyManager;
this.dependencySelector = dependencySelector;
this.versionFilter = versionFilter;
this.dependencyGraphTransformer = dependencyGraphTransformer;
this.data = requireNonNull(data);
this.cache = cache;
this.scopeManager = scopeManager;
this.repositorySystem = requireNonNull(repositorySystem);
this.repositorySystemLifecycle = requireNonNull(repositorySystemLifecycle);
this.localRepositoryManager = getOrCreateLocalRepositoryManager(localRepositoryManager, localRepositories);
repositorySystemLifecycle.sessionStarted(this);
onSessionEndedHandlers.forEach(this::addOnSessionEndedHandler);
}