|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.ivy.plugins.resolver.AbstractResolver
org.apache.ivy.plugins.resolver.DualResolver
public class DualResolver
DualResolver is used to resolve dependencies with one dependency revolver, called ivy resolver, and then download artifacts found in the resolved dependencies from a second dependency resolver, called artifact resolver. It is especially useful with resolvers using repository where there is a lot of artifact, but no ivy file, like the maven ibiblio repository. If no ivy file is found by the ivy resolver, the artifact resolver is used to check if there is artifact corresponding to the request (with default ivy file). For artifact download, however, only the artifact resolver is used. Exactly two resolvers should be added to this resolver for it to work properly. The first resolver added if the ivy resolver, the second is the artifact one.
Field Summary | |
---|---|
static java.lang.String |
DESCRIPTOR_OPTIONAL
|
static java.lang.String |
DESCRIPTOR_REQUIRED
|
Constructor Summary | |
---|---|
DualResolver()
|
Method Summary | |
---|---|
void |
abortPublishTransaction()
|
void |
add(DependencyResolver resolver)
|
void |
beginPublishTransaction(ModuleRevisionId module,
boolean overwrite)
|
void |
commitPublishTransaction()
|
DownloadReport |
download(Artifact[] artifacts,
DownloadOptions options)
Download artifacts with specified DownloadOptions. |
ArtifactDownloadReport |
download(ArtifactOrigin artifact,
DownloadOptions options)
Default implementation downloads the artifact without taking advantage of its location |
void |
dumpSettings()
|
boolean |
exists(Artifact artifact)
Returns true if the given artifact can be located by this resolver and
actually exist. |
ResolvedResource |
findIvyFileRef(DependencyDescriptor dd,
ResolveData data)
Finds the module descriptor for the specified DependencyDescriptor. |
DependencyResolver |
getArtifactResolver()
|
ResolvedModuleRevision |
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. |
DependencyResolver |
getIvyResolver()
|
boolean |
isAllownomd()
|
ArtifactOrigin |
locate(Artifact artifact)
Default implementation actually download the artifact Subclasses should overwrite this to avoid the download |
void |
publish(Artifact artifact,
java.io.File src,
boolean overwrite)
|
void |
reportFailure()
Reports last resolve failure as Messages |
void |
reportFailure(Artifact art)
Reports last artifact download failure as Messages |
void |
setAllownomd(boolean allownomd)
|
void |
setArtifactResolver(DependencyResolver artifactResolver)
|
void |
setDescriptor(java.lang.String descriptorRule)
Sets the module descriptor presence rule. |
void |
setIvyResolver(DependencyResolver ivyResolver)
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
public static final java.lang.String DESCRIPTOR_OPTIONAL
public static final java.lang.String DESCRIPTOR_REQUIRED
Constructor Detail |
---|
public DualResolver()
Method Detail |
---|
public void add(DependencyResolver resolver)
public ResolvedModuleRevision getDependency(DependencyDescriptor dd, ResolveData data) throws java.text.ParseException
DependencyResolver
java.text.ParseException
public ResolvedResource findIvyFileRef(DependencyDescriptor dd, ResolveData data)
DependencyResolver
dd
- the dependency descriptordata
- the resolve data
public void reportFailure()
DependencyResolver
reportFailure
in interface DependencyResolver
reportFailure
in class AbstractResolver
public void reportFailure(Artifact art)
DependencyResolver
reportFailure
in interface DependencyResolver
reportFailure
in class AbstractResolver
public DownloadReport download(Artifact[] artifacts, DownloadOptions options)
DependencyResolver
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 an
ArtifactDownloadReport
for each requested Artifact.
artifacts
- an array of artifacts to download. Must not be null
.options
- options to apply for this download. Must not be null
.
public DependencyResolver getArtifactResolver()
public void setArtifactResolver(DependencyResolver artifactResolver)
public DependencyResolver getIvyResolver()
public void setIvyResolver(DependencyResolver ivyResolver)
public void publish(Artifact artifact, java.io.File src, boolean overwrite) throws java.io.IOException
java.io.IOException
public void abortPublishTransaction() throws java.io.IOException
abortPublishTransaction
in interface DependencyResolver
abortPublishTransaction
in class AbstractResolver
java.io.IOException
public void beginPublishTransaction(ModuleRevisionId module, boolean overwrite) throws java.io.IOException
beginPublishTransaction
in interface DependencyResolver
beginPublishTransaction
in class AbstractResolver
java.io.IOException
public void commitPublishTransaction() throws java.io.IOException
commitPublishTransaction
in interface DependencyResolver
commitPublishTransaction
in class AbstractResolver
java.io.IOException
public void dumpSettings()
dumpSettings
in interface DependencyResolver
dumpSettings
in class AbstractResolver
public boolean exists(Artifact artifact)
DependencyResolver
true
if the given artifact can be located by this resolver and
actually exist.
exists
in interface DependencyResolver
exists
in class AbstractResolver
artifact
- the artifact which should be tested.
true
if the given artifact can be located by this resolver and
actually exist.public ArtifactOrigin locate(Artifact artifact)
AbstractResolver
locate
in interface DependencyResolver
locate
in class AbstractResolver
artifact
- the artifact which should be located
null
if it can't be located by this resolver
or doesn't exist.public ArtifactDownloadReport download(ArtifactOrigin artifact, DownloadOptions options)
AbstractResolver
download
in interface DependencyResolver
download
in class AbstractResolver
artifact
- the location of the artifact to download. Must not be null
.options
- options to apply for this download. Must not be null
.
null
.public boolean isAllownomd()
public void setAllownomd(boolean allownomd)
public void setDescriptor(java.lang.String descriptorRule)
DESCRIPTOR_REQUIRED
or DESCRIPTOR_OPTIONAL
.
descriptorRule
- the descriptor rule to use with this resolver.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |