Class ChainedLocalRepositoryManager
java.lang.Object
org.eclipse.aether.util.repository.ChainedLocalRepositoryManager
- All Implemented Interfaces:
org.eclipse.aether.repository.LocalRepositoryManager
public final class ChainedLocalRepositoryManager
extends Object
implements org.eclipse.aether.repository.LocalRepositoryManager
A local repository manager that chains multiple local repository managers: it directs all the write operations
to chain head, while uses tail for
find(RepositorySystemSession, LocalArtifactRequest)
and
find(RepositorySystemSession, LocalMetadataRequest)
methods only. Hence, tail is used in resolving
metadata and artifacts with or without (configurable) artifact availability tracking.
Implementation represents itself using the head local repository manager.
- Since:
- 1.9.2
-
Field Summary
Modifier and TypeFieldDescriptionstatic final String
When using chained local repository, should be the artifact availability ignored in tail.static final boolean
-
Constructor Summary
ConstructorDescriptionChainedLocalRepositoryManager
(org.eclipse.aether.repository.LocalRepositoryManager head, List<org.eclipse.aether.repository.LocalRepositoryManager> tail, boolean ignoreTailAvailability) ChainedLocalRepositoryManager
(org.eclipse.aether.repository.LocalRepositoryManager head, List<org.eclipse.aether.repository.LocalRepositoryManager> tail, boolean ignoreTailAvailability, int installTarget, int cacheTarget) Warning: this is experimental feature of chained, is not recommended to be used/integrated into plain Maven.ChainedLocalRepositoryManager
(org.eclipse.aether.repository.LocalRepositoryManager head, List<org.eclipse.aether.repository.LocalRepositoryManager> tail, org.eclipse.aether.RepositorySystemSession session) -
Method Summary
Modifier and TypeMethodDescriptionvoid
add
(org.eclipse.aether.RepositorySystemSession session, org.eclipse.aether.repository.LocalArtifactRegistration request) void
add
(org.eclipse.aether.RepositorySystemSession session, org.eclipse.aether.repository.LocalMetadataRegistration request) org.eclipse.aether.repository.LocalArtifactResult
find
(org.eclipse.aether.RepositorySystemSession session, org.eclipse.aether.repository.LocalArtifactRequest request) org.eclipse.aether.repository.LocalMetadataResult
find
(org.eclipse.aether.RepositorySystemSession session, org.eclipse.aether.repository.LocalMetadataRequest request) getAbsolutePathForLocalArtifact
(org.eclipse.aether.artifact.Artifact artifact) getAbsolutePathForLocalMetadata
(org.eclipse.aether.metadata.Metadata metadata) getAbsolutePathForRemoteArtifact
(org.eclipse.aether.artifact.Artifact artifact, org.eclipse.aether.repository.RemoteRepository repository, String context) getAbsolutePathForRemoteMetadata
(org.eclipse.aether.metadata.Metadata metadata, org.eclipse.aether.repository.RemoteRepository repository, String context) getPathForLocalArtifact
(org.eclipse.aether.artifact.Artifact artifact) getPathForLocalMetadata
(org.eclipse.aether.metadata.Metadata metadata) getPathForRemoteArtifact
(org.eclipse.aether.artifact.Artifact artifact, org.eclipse.aether.repository.RemoteRepository repository, String context) getPathForRemoteMetadata
(org.eclipse.aether.metadata.Metadata metadata, org.eclipse.aether.repository.RemoteRepository repository, String context) org.eclipse.aether.repository.LocalRepository
toString()
-
Field Details
-
CONFIG_PROP_IGNORE_TAIL_AVAILABILITY
When using chained local repository, should be the artifact availability ignored in tail.- See Also:
- Sourced from:
RepositorySystemSession.getConfigProperties()
- Value type:
Boolean
- Default value:
DEFAULT_IGNORE_TAIL_AVAILABILITY
-
DEFAULT_IGNORE_TAIL_AVAILABILITY
- See Also:
-
-
Constructor Details
-
ChainedLocalRepositoryManager
public ChainedLocalRepositoryManager(org.eclipse.aether.repository.LocalRepositoryManager head, List<org.eclipse.aether.repository.LocalRepositoryManager> tail, boolean ignoreTailAvailability) -
ChainedLocalRepositoryManager
public ChainedLocalRepositoryManager(org.eclipse.aether.repository.LocalRepositoryManager head, List<org.eclipse.aether.repository.LocalRepositoryManager> tail, org.eclipse.aether.RepositorySystemSession session) -
ChainedLocalRepositoryManager
public ChainedLocalRepositoryManager(org.eclipse.aether.repository.LocalRepositoryManager head, List<org.eclipse.aether.repository.LocalRepositoryManager> tail, boolean ignoreTailAvailability, int installTarget, int cacheTarget) Warning: this is experimental feature of chained, is not recommended to be used/integrated into plain Maven.- Parameters:
head
- The head LRMtail
- The tail LRMsignoreTailAvailability
- Whether tail availability should be ignored (usually you do want this)installTarget
- The installation LRM index, integer from 0 to size of tail.cacheTarget
- The cache LRM index, integer from 0 to size of tail.- Since:
- 2.0.5
-
-
Method Details
-
getRepository
- Specified by:
getRepository
in interfaceorg.eclipse.aether.repository.LocalRepositoryManager
-
getAbsolutePathForLocalArtifact
- Specified by:
getAbsolutePathForLocalArtifact
in interfaceorg.eclipse.aether.repository.LocalRepositoryManager
-
getAbsolutePathForRemoteArtifact
public Path getAbsolutePathForRemoteArtifact(org.eclipse.aether.artifact.Artifact artifact, org.eclipse.aether.repository.RemoteRepository repository, String context) - Specified by:
getAbsolutePathForRemoteArtifact
in interfaceorg.eclipse.aether.repository.LocalRepositoryManager
-
getAbsolutePathForLocalMetadata
- Specified by:
getAbsolutePathForLocalMetadata
in interfaceorg.eclipse.aether.repository.LocalRepositoryManager
-
getAbsolutePathForRemoteMetadata
public Path getAbsolutePathForRemoteMetadata(org.eclipse.aether.metadata.Metadata metadata, org.eclipse.aether.repository.RemoteRepository repository, String context) - Specified by:
getAbsolutePathForRemoteMetadata
in interfaceorg.eclipse.aether.repository.LocalRepositoryManager
-
getPathForLocalArtifact
- Specified by:
getPathForLocalArtifact
in interfaceorg.eclipse.aether.repository.LocalRepositoryManager
-
getPathForRemoteArtifact
public String getPathForRemoteArtifact(org.eclipse.aether.artifact.Artifact artifact, org.eclipse.aether.repository.RemoteRepository repository, String context) - Specified by:
getPathForRemoteArtifact
in interfaceorg.eclipse.aether.repository.LocalRepositoryManager
-
getPathForLocalMetadata
- Specified by:
getPathForLocalMetadata
in interfaceorg.eclipse.aether.repository.LocalRepositoryManager
-
getPathForRemoteMetadata
public String getPathForRemoteMetadata(org.eclipse.aether.metadata.Metadata metadata, org.eclipse.aether.repository.RemoteRepository repository, String context) - Specified by:
getPathForRemoteMetadata
in interfaceorg.eclipse.aether.repository.LocalRepositoryManager
-
find
public org.eclipse.aether.repository.LocalArtifactResult find(org.eclipse.aether.RepositorySystemSession session, org.eclipse.aether.repository.LocalArtifactRequest request) - Specified by:
find
in interfaceorg.eclipse.aether.repository.LocalRepositoryManager
-
add
public void add(org.eclipse.aether.RepositorySystemSession session, org.eclipse.aether.repository.LocalArtifactRegistration request) - Specified by:
add
in interfaceorg.eclipse.aether.repository.LocalRepositoryManager
-
find
public org.eclipse.aether.repository.LocalMetadataResult find(org.eclipse.aether.RepositorySystemSession session, org.eclipse.aether.repository.LocalMetadataRequest request) - Specified by:
find
in interfaceorg.eclipse.aether.repository.LocalRepositoryManager
-
add
public void add(org.eclipse.aether.RepositorySystemSession session, org.eclipse.aether.repository.LocalMetadataRegistration request) - Specified by:
add
in interfaceorg.eclipse.aether.repository.LocalRepositoryManager
-
toString
-