Package org.apache.ivy.plugins.resolver
Class ChainResolver
java.lang.Object
org.apache.ivy.plugins.resolver.AbstractResolver
org.apache.ivy.plugins.resolver.ChainResolver
- All Implemented Interfaces:
Validatable
,DependencyResolver
,HasLatestStrategy
- Direct Known Subclasses:
WorkspaceChainResolver
-
Nested Class Summary
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
void
add
(DependencyResolver resolver) void
beginPublishTransaction
(ModuleRevisionId module, boolean overwrite) void
download
(ArtifactOrigin artifact, DownloadOptions options) Default implementation downloads the artifact without taking advantage of its locationdownload
(Artifact[] artifacts, DownloadOptions options) Download artifacts with specified DownloadOptions.void
boolean
Returnstrue
if the given artifact can be located by this resolver and actually exist.findIvyFileRef
(DependencyDescriptor dd, ResolveData data) Finds the module descriptor for the specified DependencyDescriptor.getDependency
(DependencyDescriptor dd, ResolveData data) Resolve a module by id, getting its module descriptor and resolving the revision if it's a latest one (i.e.boolean
isDual()
boolean
listTokenValues
(String[] tokens, Map<String, Object> criteria) Same asDependencyResolver.listTokenValues(String, Map)
but more generic.Default implementation actually download the artifact Subclasses should overwrite this to avoid the downloadvoid
void
Reports last resolve failure as Messagesvoid
reportFailure
(Artifact art) Reports last artifact download failure as Messagesvoid
setDual
(boolean b) void
setReturnFirst
(boolean returnFirst) Methods inherited from class org.apache.ivy.plugins.resolver.AbstractResolver
checkInterrupted, checkLatest, doValidate, findModuleInCache, findModuleInCache, fromSystem, fromSystem, getCacheDownloadOptions, getCacheOptions, getChangingMatcherName, getChangingPattern, getDownloadOptions, getEventManager, getLatest, getLatestStrategy, getName, getNamespace, getParserSettings, getRepositoryCacheManager, getSettings, getSystemNode, getTimeoutConstraint, getTypeName, hidePassword, isAfter, isValidate, listModules, listOrganisations, listRevisions, listTokenValues, saveModuleRevisionIfNeeded, setCache, setChangingMatcher, setChangingPattern, setCheckmodified, setEventManager, setLatest, setLatestStrategy, setName, setNamespace, setRepositoryCacheManager, setSettings, setTimeoutConstraint, setValidate, toString, toSystem, toSystem, toSystem, toSystem, toSystem, toSystem, validate
-
Constructor Details
-
ChainResolver
public ChainResolver()
-
-
Method Details
-
add
-
getDependency
public ResolvedModuleRevision getDependency(DependencyDescriptor dd, ResolveData data) throws ParseException Description copied from interface:DependencyResolver
Resolve a module by id, getting its module descriptor and resolving the revision if it's a latest one (i.e. a revision uniquely identifying the revision of a module in the current environment - If this revision is not able to identify uniquely the revision of the module outside of the current environment, then the resolved revision must begin by ##)- Parameters:
dd
- DependencyDescriptordata
- ResolveData- Returns:
- ResolvedModuleRevision
- Throws:
ParseException
- if something goes wrong
-
findIvyFileRef
Description copied from interface:DependencyResolver
Finds the module descriptor for the specified DependencyDescriptor. If this resolver can't find the module descriptor, null is returned.- Parameters:
dd
- the dependency descriptordata
- the resolve data- Returns:
- the module descriptor, or null
-
listTokenValues
Description copied from interface:DependencyResolver
Same asDependencyResolver.listTokenValues(String, Map)
but more generic.- Specified by:
listTokenValues
in interfaceDependencyResolver
- Overrides:
listTokenValues
in classAbstractResolver
- Parameters:
tokens
- the tokens of the querycriteria
- the token which have values- Returns:
- the list of token values, must not be
null
-
reportFailure
public void reportFailure()Description copied from interface:DependencyResolver
Reports last resolve failure as Messages- Specified by:
reportFailure
in interfaceDependencyResolver
- Overrides:
reportFailure
in classAbstractResolver
-
reportFailure
Description copied from interface:DependencyResolver
Reports last artifact download failure as Messages- Specified by:
reportFailure
in interfaceDependencyResolver
- Overrides:
reportFailure
in classAbstractResolver
- Parameters:
art
- Artifact
-
download
Description copied from interface:DependencyResolver
Download artifacts with specified DownloadOptions.The resolver will always make a best effort, and do not stop when an artifact is not available. It rather continue to attempt to download other requested artifacts, and report what has been done in the returned DownloadReport.
The returned DownloadReport is never
null
, and always contain anArtifactDownloadReport
for each requested Artifact.- Parameters:
artifacts
- an array of artifacts to download. Must not benull
.options
- options to apply for this download. Must not benull
.- Returns:
- a DownloadReport with details about each Artifact download.
-
getResolvers
-
publish
- Throws:
IOException
-
abortPublishTransaction
- Specified by:
abortPublishTransaction
in interfaceDependencyResolver
- Overrides:
abortPublishTransaction
in classAbstractResolver
- Throws:
IOException
-
beginPublishTransaction
- Specified by:
beginPublishTransaction
in interfaceDependencyResolver
- Overrides:
beginPublishTransaction
in classAbstractResolver
- Throws:
IOException
-
commitPublishTransaction
- Specified by:
commitPublishTransaction
in interfaceDependencyResolver
- Overrides:
commitPublishTransaction
in classAbstractResolver
- Throws:
IOException
-
isReturnFirst
public boolean isReturnFirst() -
setReturnFirst
public void setReturnFirst(boolean returnFirst) -
dumpSettings
public void dumpSettings()- Specified by:
dumpSettings
in interfaceDependencyResolver
- Overrides:
dumpSettings
in classAbstractResolver
-
exists
Description copied from interface:DependencyResolver
Returnstrue
if the given artifact can be located by this resolver and actually exist.- Specified by:
exists
in interfaceDependencyResolver
- Overrides:
exists
in classAbstractResolver
- Parameters:
artifact
- the artifact which should be tested.- Returns:
true
if the given artifact can be located by this resolver and actually exist.
-
locate
Description copied from class:AbstractResolver
Default implementation actually download the artifact Subclasses should overwrite this to avoid the download- Specified by:
locate
in interfaceDependencyResolver
- Overrides:
locate
in classAbstractResolver
- Parameters:
artifact
- ArtifactOrigin- Returns:
- ArtifactOrigin
-
download
Description copied from class:AbstractResolver
Default implementation downloads the artifact without taking advantage of its location- Specified by:
download
in interfaceDependencyResolver
- Overrides:
download
in classAbstractResolver
- Parameters:
artifact
- ArtifactOriginoptions
- DownloadOptions- Returns:
- ArtifactDownloadReport
-
setDual
public void setDual(boolean b) -
isDual
public boolean isDual()
-