Package org.apache.maven.impl
Class AbstractSession
java.lang.Object
org.apache.maven.impl.AbstractSession
- All Implemented Interfaces:
ProtoSession
,Session
,InternalSession
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.apache.maven.api.ProtoSession
ProtoSession.Builder
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final Lookup
protected final List<RemoteRepository>
protected final org.eclipse.aether.RepositorySystem
protected final org.eclipse.aether.RepositorySystemSession
-
Constructor Summary
ConstructorsConstructorDescriptionAbstractSession
(org.eclipse.aether.RepositorySystemSession session, org.eclipse.aether.RepositorySystem repositorySystem, List<RemoteRepository> repositories, List<org.eclipse.aether.repository.RemoteRepository> resolverRepositories, Lookup lookup) -
Method Summary
Modifier and TypeMethodDescriptioncollectDependencies
(Artifact artifact, PathScope scope) Shortcut forgetService(DependencyResolver.class).collect(...)
collectDependencies
(DependencyCoordinates dependency, PathScope scope) Shortcut forgetService(DependencyResolver.class).collect(...)
collectDependencies
(Project project, PathScope scope) Shortcut forgetService(DependencyResolver.class).collect(...)
createArtifact
(String groupId, String artifactId, String version, String extension) Shortcut forgetService(ArtifactFactory.class).create(...)
createArtifact
(String groupId, String artifactId, String version, String classifier, String extension, String type) Shortcut forgetService(ArtifactFactory.class).create(...)
createArtifactCoordinates
(String coordString) Shortcut forgetService(ArtifactCoordinatesFactory.class).create(...)
createArtifactCoordinates
(String groupId, String artifactId, String version, String extension) Shortcut forgetService(ArtifactCoordinatesFactory.class).create(...)
createArtifactCoordinates
(String groupId, String artifactId, String version, String classifier, String extension, String type) Shortcut forgetService(ArtifactCoordinatesFactory.class).create(...)
createArtifactCoordinates
(Artifact artifact) Shortcut forgetService(ArtifactCoordinatesFactory.class).create(...)
createDependencyCoordinates
(ArtifactCoordinates coordinates) Shortcut forgetService(DependencyFactory.class).create(...)
createDependencyCoordinates
(Dependency dependency) Shortcut forgetService(DependencyFactory.class).create(...)
createLocalRepository
(Path path) Shortcut forgetService(RepositoryFactory.class).createLocal(...)
createProducedArtifact
(String groupId, String artifactId, String version, String extension) Shortcut forgetService(ArtifactFactory.class).createProduced(...)
createProducedArtifact
(String groupId, String artifactId, String version, String classifier, String extension, String type) Shortcut forgetService(ArtifactFactory.class).createProduced(...)
createRemoteRepository
(String id, String url) Shortcut forgetService(RepositoryFactory.class).createRemote(...)
createRemoteRepository
(Repository repository) Shortcut forgetService(RepositoryFactory.class).createRemote(...)
void
deployArtifact
(RemoteRepository repository, ProducedArtifact... artifacts) Shortcut forgetService(ArtifactDeployer.class).deploy(...)
flattenDependencies
(Node node, PathScope scope) <T extends Artifact>
TgetArtifact
(Class<T> clazz, org.eclipse.aether.artifact.Artifact artifact) getArtifact
(org.eclipse.aether.artifact.Artifact artifact) getArtifactPath
(Artifact artifact) Shortcut forgetService(ArtifactManager.class).getPath(...)
Gets the current request trace for the session from thread-local storage.getData()
getDependency
(org.eclipse.aether.graph.Dependency dependency) getLocalRepository
(org.eclipse.aether.repository.LocalRepository repository) getNode
(org.eclipse.aether.graph.DependencyNode node) getNode
(org.eclipse.aether.graph.DependencyNode node, boolean verbose) getPathForLocalArtifact
(Artifact artifact) getPathForRemoteArtifact
(RemoteRepository remote, Artifact artifact) getRemoteRepository
(org.eclipse.aether.repository.RemoteRepository repository) getRepository
(org.eclipse.aether.repository.ArtifactRepository repository) org.eclipse.aether.RepositorySystem
<T extends Service>
TgetService
(Class<T> clazz) org.eclipse.aether.RepositorySystemSession
getWorkspaceRepository
(org.eclipse.aether.repository.WorkspaceRepository repository) void
installArtifacts
(Collection<ProducedArtifact> artifacts) Shortcut forgetService(ArtifactInstaller.class).install(...)
void
installArtifacts
(ProducedArtifact... artifacts) Shortcut forgetService(ArtifactInstaller.class).install(...)
boolean
isVersionSnapshot
(String version) Shortcut forgetService(VersionParser.class).isSnapshot(...)
protected abstract Session
newSession
(org.eclipse.aether.RepositorySystemSession session, List<RemoteRepository> repositories) parseVersion
(String version) parseVersionConstraint
(String versionConstraint) parseVersionRange
(String versionRange) void
registerListener
(Listener listener) Executes and optionally caches a request using the provided supplier function.requireType
(String id) resolveArtifact
(Artifact artifact) Shortcut forgetService(ArtifactResolver.class).resolve(...)
resolveArtifact
(ArtifactCoordinates coordinates) Shortcut forgetService(ArtifactResolver.class).resolve(...)
resolveArtifact
(ArtifactCoordinates coordinates, List<RemoteRepository> repositories) Shortcut forgetService(ArtifactResolver.class).resolve(...)
resolveArtifact
(Artifact artifact, List<RemoteRepository> repositories) Shortcut forgetService(ArtifactResolver.class).resolve(...)
resolveArtifacts
(Collection<? extends ArtifactCoordinates> coordinates) Shortcut forgetService(ArtifactResolver.class).resolve(...)
resolveArtifacts
(Collection<? extends ArtifactCoordinates> coordinates, List<RemoteRepository> repositories) Shortcut forgetService(ArtifactResolver.class).resolve(...)
resolveArtifacts
(Artifact... artifacts) resolveArtifacts
(ArtifactCoordinates... coordinates) Shortcut forgetService(ArtifactResolver.class).resolve(...)
resolveDependencies
(List<DependencyCoordinates> dependencies) resolveDependencies
(DependencyCoordinates dependency) resolveDependencies
(DependencyCoordinates dependency, PathScope scope, Collection<PathType> desiredTypes) resolveDependencies
(Project project, PathScope scope) resolveDependencies
(Project project, PathScope scope, Collection<PathType> desiredTypes) resolveHighestVersion
(ArtifactCoordinates artifact, List<RemoteRepository> repositories) resolveVersion
(ArtifactCoordinates artifact) resolveVersionRange
(ArtifactCoordinates artifact) resolveVersionRange
(ArtifactCoordinates artifact, List<RemoteRepository> repositories) void
setArtifactPath
(ProducedArtifact artifact, Path path) Shortcut forgetService(ArtifactManager.class).setPath(...)
void
setCurrentTrace
(RequestTrace trace) Sets the current request trace for the session.org.eclipse.aether.artifact.Artifact
toArtifact
(Artifact artifact) org.eclipse.aether.artifact.Artifact
toArtifact
(ArtifactCoordinates coords) List<org.eclipse.aether.artifact.Artifact>
toArtifacts
(Collection<? extends Artifact> artifacts) List<org.eclipse.aether.graph.Dependency>
toDependencies
(Collection<DependencyCoordinates> dependencies, boolean managed) org.eclipse.aether.graph.Dependency
toDependency
(DependencyCoordinates dependency, boolean managed) List<org.eclipse.aether.repository.RemoteRepository>
toRepositories
(List<RemoteRepository> repositories) org.eclipse.aether.repository.LocalRepository
toRepository
(LocalRepository repository) org.eclipse.aether.repository.RemoteRepository
toRepository
(RemoteRepository repository) void
unregisterListener
(Listener listener) withLocalRepository
(LocalRepository localRepository) withRemoteRepositories
(List<RemoteRepository> repositories) Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.apache.maven.api.ProtoSession
getRootDirectory, getStartTime, getSystemProperties, getTopDirectory, getUserProperties, toBuilder
Methods inherited from interface org.apache.maven.api.Session
getDegreeOfConcurrency, getEffectiveProperties, getMavenVersion, getPluginContext, getProjects, getSettings, getToolchains
-
Field Details
-
session
protected final org.eclipse.aether.RepositorySystemSession session -
repositorySystem
protected final org.eclipse.aether.RepositorySystem repositorySystem -
repositories
-
lookup
-
-
Constructor Details
-
AbstractSession
public AbstractSession(org.eclipse.aether.RepositorySystemSession session, org.eclipse.aether.RepositorySystem repositorySystem, List<RemoteRepository> repositories, List<org.eclipse.aether.repository.RemoteRepository> resolverRepositories, Lookup lookup)
-
-
Method Details
-
request
public <REQ extends Request<?>,REP extends Result<REQ>> REP request(REQ req, Function<REQ, REP> supplier) Description copied from interface:InternalSession
Executes and optionally caches a request using the provided supplier function. If caching is enabled for this session, the result will be cached and subsequent identical requests will return the cached value without re-executing the supplier.- Specified by:
request
in interfaceInternalSession
- Type Parameters:
REQ
- The request typeREP
- The response type- Parameters:
req
- The request object used as the cache keysupplier
- The function to execute and cache the result- Returns:
- The result from the supplier (either fresh or cached)
-
requests
public <REQ extends Request<?>,REP extends Result<REQ>> List<REP> requests(List<REQ> reqs, Function<List<REQ>, List<REP>> supplier) - Specified by:
requests
in interfaceInternalSession
-
getRemoteRepository
public RemoteRepository getRemoteRepository(org.eclipse.aether.repository.RemoteRepository repository) - Specified by:
getRemoteRepository
in interfaceInternalSession
-
getLocalRepository
- Specified by:
getLocalRepository
in interfaceInternalSession
-
getWorkspaceRepository
public WorkspaceRepository getWorkspaceRepository(org.eclipse.aether.repository.WorkspaceRepository repository) - Specified by:
getWorkspaceRepository
in interfaceInternalSession
-
getRepository
- Specified by:
getRepository
in interfaceInternalSession
-
getNode
- Specified by:
getNode
in interfaceInternalSession
-
getNode
- Specified by:
getNode
in interfaceInternalSession
-
getArtifact
- Specified by:
getArtifact
in interfaceInternalSession
-
getArtifact
public <T extends Artifact> T getArtifact(Class<T> clazz, org.eclipse.aether.artifact.Artifact artifact) - Specified by:
getArtifact
in interfaceInternalSession
-
getDependency
- Specified by:
getDependency
in interfaceInternalSession
-
toRepositories
public List<org.eclipse.aether.repository.RemoteRepository> toRepositories(List<RemoteRepository> repositories) - Specified by:
toRepositories
in interfaceInternalSession
-
toRepository
- Specified by:
toRepository
in interfaceInternalSession
-
toRepository
- Specified by:
toRepository
in interfaceInternalSession
-
toDependencies
public List<org.eclipse.aether.graph.Dependency> toDependencies(Collection<DependencyCoordinates> dependencies, boolean managed) - Specified by:
toDependencies
in interfaceInternalSession
-
getRemoteRepositories
- Specified by:
getRemoteRepositories
in interfaceSession
-
getData
-
getLocalRepository
- Specified by:
getLocalRepository
in interfaceSession
-
withLocalRepository
- Specified by:
withLocalRepository
in interfaceSession
-
withRemoteRepositories
- Specified by:
withRemoteRepositories
in interfaceSession
-
newSession
protected abstract Session newSession(org.eclipse.aether.RepositorySystemSession session, List<RemoteRepository> repositories) -
getService
- Specified by:
getService
in interfaceSession
- Throws:
NoSuchElementException
-
getSession
- Specified by:
getSession
in interfaceInternalSession
-
getRepositorySystem
- Specified by:
getRepositorySystem
in interfaceInternalSession
-
toDependency
public org.eclipse.aether.graph.Dependency toDependency(DependencyCoordinates dependency, boolean managed) - Specified by:
toDependency
in interfaceInternalSession
-
toArtifacts
public List<org.eclipse.aether.artifact.Artifact> toArtifacts(Collection<? extends Artifact> artifacts) - Specified by:
toArtifacts
in interfaceInternalSession
-
toArtifact
- Specified by:
toArtifact
in interfaceInternalSession
-
toArtifact
- Specified by:
toArtifact
in interfaceInternalSession
-
registerListener
- Specified by:
registerListener
in interfaceSession
-
unregisterListener
- Specified by:
unregisterListener
in interfaceSession
-
getListeners
- Specified by:
getListeners
in interfaceSession
-
createLocalRepository
Shortcut forgetService(RepositoryFactory.class).createLocal(...)
- Specified by:
createLocalRepository
in interfaceSession
- See Also:
-
createRemoteRepository
Shortcut forgetService(RepositoryFactory.class).createRemote(...)
- Specified by:
createRemoteRepository
in interfaceSession
- See Also:
-
createRemoteRepository
Shortcut forgetService(RepositoryFactory.class).createRemote(...)
- Specified by:
createRemoteRepository
in interfaceSession
- See Also:
-
createArtifactCoordinates
public ArtifactCoordinates createArtifactCoordinates(String groupId, String artifactId, String version, String extension) Shortcut forgetService(ArtifactCoordinatesFactory.class).create(...)
- Specified by:
createArtifactCoordinates
in interfaceSession
- See Also:
-
createArtifactCoordinates
Shortcut forgetService(ArtifactCoordinatesFactory.class).create(...)
- Specified by:
createArtifactCoordinates
in interfaceSession
- See Also:
-
createArtifactCoordinates
public ArtifactCoordinates createArtifactCoordinates(String groupId, String artifactId, String version, String classifier, String extension, String type) Shortcut forgetService(ArtifactCoordinatesFactory.class).create(...)
- Specified by:
createArtifactCoordinates
in interfaceSession
- See Also:
-
createArtifactCoordinates
Shortcut forgetService(ArtifactCoordinatesFactory.class).create(...)
- Specified by:
createArtifactCoordinates
in interfaceSession
- See Also:
-
createArtifact
Shortcut forgetService(ArtifactFactory.class).create(...)
- Specified by:
createArtifact
in interfaceSession
- See Also:
-
createArtifact
public Artifact createArtifact(String groupId, String artifactId, String version, String classifier, String extension, String type) Shortcut forgetService(ArtifactFactory.class).create(...)
- Specified by:
createArtifact
in interfaceSession
- See Also:
-
createProducedArtifact
public ProducedArtifact createProducedArtifact(String groupId, String artifactId, String version, String extension) Shortcut forgetService(ArtifactFactory.class).createProduced(...)
- Specified by:
createProducedArtifact
in interfaceSession
- See Also:
-
createProducedArtifact
public ProducedArtifact createProducedArtifact(String groupId, String artifactId, String version, String classifier, String extension, String type) Shortcut forgetService(ArtifactFactory.class).createProduced(...)
- Specified by:
createProducedArtifact
in interfaceSession
- See Also:
-
resolveArtifact
Shortcut forgetService(ArtifactResolver.class).resolve(...)
- Specified by:
resolveArtifact
in interfaceSession
- Throws:
ArtifactResolverException
- if the artifact resolution failed- See Also:
-
resolveArtifact
public DownloadedArtifact resolveArtifact(ArtifactCoordinates coordinates, List<RemoteRepository> repositories) Shortcut forgetService(ArtifactResolver.class).resolve(...)
- Specified by:
resolveArtifact
in interfaceSession
- Throws:
ArtifactResolverException
- if the artifact resolution failed- See Also:
-
resolveArtifacts
Shortcut forgetService(ArtifactResolver.class).resolve(...)
- Specified by:
resolveArtifacts
in interfaceSession
- Throws:
ArtifactResolverException
- if the artifact resolution failed- See Also:
-
resolveArtifacts
public Collection<DownloadedArtifact> resolveArtifacts(Collection<? extends ArtifactCoordinates> coordinates) Shortcut forgetService(ArtifactResolver.class).resolve(...)
- Specified by:
resolveArtifacts
in interfaceSession
- Throws:
ArtifactResolverException
- if the artifact resolution failed- See Also:
-
resolveArtifacts
public Collection<DownloadedArtifact> resolveArtifacts(Collection<? extends ArtifactCoordinates> coordinates, List<RemoteRepository> repositories) Shortcut forgetService(ArtifactResolver.class).resolve(...)
- Specified by:
resolveArtifacts
in interfaceSession
- Throws:
ArtifactResolverException
- if the artifact resolution failed- See Also:
-
resolveArtifact
Shortcut forgetService(ArtifactResolver.class).resolve(...)
- Specified by:
resolveArtifact
in interfaceSession
- Throws:
ArtifactResolverException
- if the artifact resolution failed- See Also:
-
resolveArtifact
Shortcut forgetService(ArtifactResolver.class).resolve(...)
- Specified by:
resolveArtifact
in interfaceSession
- Throws:
ArtifactResolverException
- if the artifact resolution failed- See Also:
-
resolveArtifacts
- Specified by:
resolveArtifacts
in interfaceSession
-
installArtifacts
Shortcut forgetService(ArtifactInstaller.class).install(...)
- Specified by:
installArtifacts
in interfaceSession
- Throws:
ArtifactInstallerException
- if the artifacts installation failed- See Also:
-
installArtifacts
Shortcut forgetService(ArtifactInstaller.class).install(...)
- Specified by:
installArtifacts
in interfaceSession
- Throws:
ArtifactInstallerException
- if the artifacts installation failed- See Also:
-
deployArtifact
Shortcut forgetService(ArtifactDeployer.class).deploy(...)
- Specified by:
deployArtifact
in interfaceSession
- Throws:
ArtifactDeployerException
- if the artifacts deployment failed- See Also:
-
setArtifactPath
Shortcut forgetService(ArtifactManager.class).setPath(...)
- Specified by:
setArtifactPath
in interfaceSession
- See Also:
-
getArtifactPath
Shortcut forgetService(ArtifactManager.class).getPath(...)
- Specified by:
getArtifactPath
in interfaceSession
- See Also:
-
isVersionSnapshot
Shortcut forgetService(VersionParser.class).isSnapshot(...)
- Specified by:
isVersionSnapshot
in interfaceSession
- See Also:
-
createDependencyCoordinates
@Nonnull public DependencyCoordinates createDependencyCoordinates(@Nonnull ArtifactCoordinates coordinates) Shortcut forgetService(DependencyFactory.class).create(...)
- Specified by:
createDependencyCoordinates
in interfaceSession
- See Also:
-
createDependencyCoordinates
Shortcut forgetService(DependencyFactory.class).create(...)
- Specified by:
createDependencyCoordinates
in interfaceSession
- See Also:
-
collectDependencies
Shortcut forgetService(DependencyResolver.class).collect(...)
- Specified by:
collectDependencies
in interfaceSession
- Throws:
DependencyResolverException
- if the dependency collection failed- See Also:
-
collectDependencies
Shortcut forgetService(DependencyResolver.class).collect(...)
- Specified by:
collectDependencies
in interfaceSession
- Throws:
DependencyResolverException
- if the dependency collection failed- See Also:
-
collectDependencies
@Nonnull public Node collectDependencies(@Nonnull DependencyCoordinates dependency, @Nonnull PathScope scope) Shortcut forgetService(DependencyResolver.class).collect(...)
- Specified by:
collectDependencies
in interfaceSession
- Throws:
DependencyResolverException
- if the dependency collection failed- See Also:
-
flattenDependencies
- Specified by:
flattenDependencies
in interfaceSession
-
resolveDependencies
- Specified by:
resolveDependencies
in interfaceSession
-
resolveDependencies
- Specified by:
resolveDependencies
in interfaceSession
-
resolveDependencies
- Specified by:
resolveDependencies
in interfaceSession
-
resolveDependencies
public Map<PathType,List<Path>> resolveDependencies(@Nonnull DependencyCoordinates dependency, @Nonnull PathScope scope, @Nonnull Collection<PathType> desiredTypes) - Specified by:
resolveDependencies
in interfaceSession
-
resolveDependencies
public Map<PathType,List<Path>> resolveDependencies(@Nonnull Project project, @Nonnull PathScope scope, @Nonnull Collection<PathType> desiredTypes) - Specified by:
resolveDependencies
in interfaceSession
-
getPathForLocalArtifact
- Specified by:
getPathForLocalArtifact
in interfaceSession
-
getPathForRemoteArtifact
- Specified by:
getPathForRemoteArtifact
in interfaceSession
-
parseVersion
- Specified by:
parseVersion
in interfaceSession
-
parseVersionRange
- Specified by:
parseVersionRange
in interfaceSession
-
parseVersionConstraint
- Specified by:
parseVersionConstraint
in interfaceSession
-
resolveVersion
- Specified by:
resolveVersion
in interfaceSession
- Throws:
VersionResolverException
-
resolveVersionRange
public List<Version> resolveVersionRange(ArtifactCoordinates artifact) throws VersionResolverException - Specified by:
resolveVersionRange
in interfaceSession
- Throws:
VersionResolverException
-
resolveVersionRange
public List<Version> resolveVersionRange(ArtifactCoordinates artifact, List<RemoteRepository> repositories) throws VersionResolverException - Specified by:
resolveVersionRange
in interfaceSession
- Throws:
VersionResolverException
-
resolveHighestVersion
public Optional<Version> resolveHighestVersion(ArtifactCoordinates artifact, List<RemoteRepository> repositories) throws VersionResolverException - Specified by:
resolveHighestVersion
in interfaceSession
- Throws:
VersionResolverException
-
requireType
- Specified by:
requireType
in interfaceSession
-
requireLanguage
- Specified by:
requireLanguage
in interfaceSession
-
requirePackaging
- Specified by:
requirePackaging
in interfaceSession
-
requireProjectScope
- Specified by:
requireProjectScope
in interfaceSession
-
requireDependencyScope
- Specified by:
requireDependencyScope
in interfaceSession
-
requirePathScope
- Specified by:
requirePathScope
in interfaceSession
-
setCurrentTrace
Description copied from interface:InternalSession
Sets the current request trace for the session. The request trace provides contextual information about the current operation being performed and can be used for debugging and monitoring purposes. The trace is stored in thread-local storage, allowing for concurrent operations with different traces.- Specified by:
setCurrentTrace
in interfaceInternalSession
- Parameters:
trace
- the trace to set as current, may be null to clear the trace- See Also:
-
getCurrentTrace
Description copied from interface:InternalSession
Gets the current request trace for the session from thread-local storage. Each thread maintains its own trace context, ensuring thread-safety for concurrent operations.- Specified by:
getCurrentTrace
in interfaceInternalSession
- Returns:
- the current request trace, or null if no trace is set
- See Also:
-