Class ResolveEngine
resolve(File)
and
resolve(URL)
which allow to simply resolve dependencies of a single module descriptor,
or more complete one, like the resolve(ModuleDescriptor, ResolveOptions)
which allows to
provide options to the resolution engine.- See Also:
-
Constructor Summary
ConstructorDescriptionResolveEngine
(ResolveEngineSettings settings, EventManager eventManager, SortEngine sortEngine) Constructs a ResolveEngine. -
Method Summary
Modifier and TypeMethodDescriptiondownload
(ArtifactOrigin origin, DownloadOptions options) Materialize an artifact already located.download
(Artifact artifact, DownloadOptions options) Download an artifact to the cache.void
downloadArtifacts
(ResolveReport report, Filter<Artifact> artifactFilter, DownloadOptions options) findModule
(ModuleRevisionId id, ResolveOptions options) IvyNode[]
getDependencies
(URL ivySource, ResolveOptions options) Resolve the dependencies of a module without downloading corresponding artifacts.IvyNode[]
getDependencies
(ModuleDescriptor md, ResolveOptions options, ResolveReport report) Resolve the dependencies of a module without downloading corresponding artifacts.Returns the currently configured dictator resolver, which when non null is used in place of any specified resolver in theIvySettings
Locates an artifact in dependency resolvers, and return its location if it can be located and actually exists, or an unknownArtifactOrigin
in other cases.mediate
(DependencyDescriptor dd, ResolveOptions options) Mediates the given dependency descriptor according to given options.void
outputReport
(ResolveReport report, ResolutionCacheManager cacheMgr, ResolveOptions options) resolve
(URL ivySource, ResolveOptions options) Resolve dependencies of a module described by an ivy file.resolve
(ModuleDescriptor md, ResolveOptions options) Resolve dependencies of a module described by a module descriptor.resolve
(ModuleRevisionId mrid, ResolveOptions options, boolean changing) Resolves the module identified by the given mrid with its dependencies if transitive is set to true.void
setDictatorResolver
(DependencyResolver dictatorResolver) Sets a dictator resolver, which is used in place of regular dependency resolver for subsequent dependency resolution by this engine.
-
Constructor Details
-
ResolveEngine
public ResolveEngine(ResolveEngineSettings settings, EventManager eventManager, SortEngine sortEngine) Constructs a ResolveEngine.- Parameters:
settings
- the settings to use to configure the engine. Must not be null.eventManager
- the event manager to use to send events about the resolution process. Must not be null.sortEngine
- the sort engine to use to sort modules before producing the dependency resolution report. Must not be null.
-
-
Method Details
-
getDictatorResolver
Returns the currently configured dictator resolver, which when non null is used in place of any specified resolver in theIvySettings
- Returns:
- the currently configured dictator resolver, may be null.
-
setDictatorResolver
Sets a dictator resolver, which is used in place of regular dependency resolver for subsequent dependency resolution by this engine.- Parameters:
dictatorResolver
- the dictator resolver to use in this engine, null if regular settings should used
-
resolve
- Throws:
ParseException
IOException
-
resolve
- Throws:
ParseException
IOException
-
resolve
public ResolveReport resolve(ModuleRevisionId mrid, ResolveOptions options, boolean changing) throws ParseException, IOException Resolves the module identified by the given mrid with its dependencies if transitive is set to true.- Parameters:
mrid
- ModuleRevisionIdoptions
- ResolveOptionschanging
- boolean- Returns:
- ResolveReport
- Throws:
ParseException
- if something goes wrongIOException
- if something goes wrong
-
resolve
public ResolveReport resolve(URL ivySource, ResolveOptions options) throws ParseException, IOException Resolve dependencies of a module described by an ivy file.- Parameters:
ivySource
- URLoptions
- ResolveOptions- Returns:
- ResolveReport
- Throws:
ParseException
- if something goes wrongIOException
- if something goes wrong
-
resolve
public ResolveReport resolve(ModuleDescriptor md, ResolveOptions options) throws ParseException, IOException Resolve dependencies of a module described by a module descriptor.- Parameters:
md
- ModuleDescriptoroptions
- ResolveOptions- Returns:
- ResolveReport
- Throws:
ParseException
- if something goes wrongIOException
- if something goes wrong
-
outputReport
public void outputReport(ResolveReport report, ResolutionCacheManager cacheMgr, ResolveOptions options) throws IOException - Throws:
IOException
-
downloadArtifacts
public void downloadArtifacts(ResolveReport report, Filter<Artifact> artifactFilter, DownloadOptions options) -
download
Download an artifact to the cache. Not used internally, useful especially for IDE plugins needing to download artifact one by one (for source or javadoc artifact, for instance).Downloaded artifact file can be accessed using
ArtifactDownloadReport.getLocalFile()
.It is possible to track the progression of the download using classical ivy progress monitoring feature (see addTransferListener).
- Parameters:
artifact
- the artifact to downloadoptions
- DownloadOptions- Returns:
- a report concerning the download
- See Also:
-
locate
Locates an artifact in dependency resolvers, and return its location if it can be located and actually exists, or an unknownArtifactOrigin
in other cases.- Parameters:
artifact
- the artifact to locate.- Returns:
- the artifact location, should be tested with
ArtifactOrigin.isUnknown(ArtifactOrigin)
to check if the artifact has actually been located.
-
download
Materialize an artifact already located.Not used internally, useful especially for IDE plugins needing to download artifact one by one (for source or javadoc artifact, for instance).
Materialized artifact file can be accessed using
ArtifactDownloadReport.getLocalFile()
.It is possible to track the progression of the download using classical ivy progress monitoring feature (see addTransferListener).
- Parameters:
origin
- the artifact origin to materializeoptions
- DownloadOptions- Returns:
- a report concerning the download
- See Also:
-
getDependencies
public IvyNode[] getDependencies(URL ivySource, ResolveOptions options) throws ParseException, IOException Resolve the dependencies of a module without downloading corresponding artifacts. The module to resolve is given by its ivy file URL. This method requires appropriate configuration of the ivy instance, especially resolvers.- Parameters:
ivySource
- url of the ivy file to use for dependency resolvingoptions
- ditto- Returns:
- an array of the resolved dependencies
- Throws:
ParseException
- if a parsing problem occurred in the ivy fileIOException
- if an IO problem was raised during ivy file parsing
-
getDependencies
Resolve the dependencies of a module without downloading corresponding artifacts. The module to resolve is given by its module descriptor. This method requires appropriate configuration of the ivy instance, especially resolvers.The
IvyNode
s are ordered from the most dependent to the less dependent, so that an IvyNode is always found in the list after all IvyNode depending directly on it.- Parameters:
md
- the descriptor of the module for which we want to get dependencies - must not be nulloptions
- the resolve options to use to resolve the dependenciesreport
- a resolve report to fill during resolution - may be null- Returns:
- an array of the resolved Dependencies
-
findModule
-
mediate
Mediates the given dependency descriptor according to given options.The mediated dependency descriptor must return the actually requested module revision id when the method
DependencyDescriptor.getDependencyRevisionId()
is called.- Parameters:
dd
- the dependency descriptor for which the requested module revision id should be returnedoptions
- the resolve options to use- Returns:
- the mediated
DependencyDescriptor
.
-
getEventManager
-
getSettings
-
getSortEngine
-