Package org.apache.ivy.core.resolve
Class IvyNode
- java.lang.Object
-
- org.apache.ivy.core.resolve.IvyNode
-
-
Field Summary
Fields Modifier and Type Field Description private IvyNodeCallers
callers
private java.util.Collection<java.lang.String>
confsToFetch
private ResolveData
data
private java.util.Map<IvyNode,DependencyDescriptor>
dds
private boolean
downloaded
private IvyNodeEviction
eviction
private static java.util.regex.Pattern
FALLBACK_CONF_PATTERN
private java.util.Collection<java.lang.String>
fetchedConfigurations
private ModuleRevisionId
id
private java.util.Collection<java.lang.String>
loadedRootModuleConfs
private ModuleDescriptor
md
private java.util.Map<ModuleRevisionId,IvyNodeUsage>
mergedUsages
private ResolvedModuleRevision
module
private java.lang.Exception
problem
private IvyNode
root
private boolean
searched
private ResolveEngineSettings
settings
private IvyNodeUsage
usage
-
Constructor Summary
Constructors Constructor Description IvyNode(ResolveData data, ModuleDescriptor md)
IvyNode(ResolveData data, IvyNode parent, DependencyDescriptor dd)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description private <T> void
addAllIfNotNull(java.util.Collection<T> into, java.util.Collection<T> col)
private void
addArtifactsFromMergedUsage(java.lang.String rootModuleConf, java.util.Set<Artifact> artifacts)
private void
addArtifactsFromOwnUsage(java.util.Set<Artifact> artifacts, java.util.Set<DependencyArtifactDescriptor> dependencyArtifacts)
void
addCaller(java.lang.String rootModuleConf, IvyNode callerNode, java.lang.String callerConf, java.lang.String requestedConf, java.lang.String[] dependencyConfs, DependencyDescriptor dd)
private void
addDependencyDescriptor(IvyNode parent, DependencyDescriptor dd)
private void
addRootModuleConfigurations(IvyNodeUsage usage, java.lang.String rootModuleConf, java.lang.String[] dependencyConfs)
void
blacklist(IvyNodeBlacklist bdata)
Blacklists the current node, so that a new resolve process won't ever consider this node as available in the repository.(package private) boolean
canExclude(java.lang.String rootModuleConf)
void
clean()
Clean data related to one root module configuration onlyprivate void
clearEvictionDataInAllCallers(java.lang.String rootModuleConf, java.util.Stack<IvyNode> callerStack)
int
compareTo(IvyNode that)
boolean
directlyExcludes(ModuleDescriptor md, java.lang.String[] moduleConfs, DependencyDescriptor dd, Artifact artifact)
void
discardConf(java.lang.String rootModuleConf, java.lang.String conf)
Deprecated.boolean
doesCallersExclude(java.lang.String rootModuleConf, Artifact artifact, java.util.Deque<IvyNode> callersStack)
boolean
doesCallersExclude(java.lang.String rootModuleConf, Artifact artifact, java.util.Stack<ModuleRevisionId> callersStack)
Deprecated.(package private) java.lang.Boolean
doesExclude(ModuleDescriptor md, java.lang.String rootModuleConf, java.lang.String[] moduleConfs, DependencyDescriptor dd, Artifact artifact, java.util.Deque<IvyNode> callersStack)
boolean
equals(java.lang.Object obj)
private static java.util.Collection<Artifact>
findArtifactsMatching(IncludeRule rule, java.util.Map<ArtifactId,Artifact> allArtifacts)
IvyNode
findNode(ModuleRevisionId mrid)
private java.util.Collection<IvyNode>
findPath(ModuleId from)
Finds and returns a path in callers from the given module id to the current nodeprivate java.util.Collection<IvyNode>
findPath(ModuleId from, IvyNode node, java.util.List<IvyNode> path)
Artifact[]
getAllArtifacts()
Returns all the artifacts of this dependency required in all the root module configurationsIvyNodeCallers.Caller[]
getAllCallers()
java.util.Collection<ModuleId>
getAllCallersModuleIds()
java.util.Collection<ConflictManager>
getAllEvictingConflictManagers()
java.util.Collection<IvyNode>
getAllEvictingNodes()
java.util.Collection<java.lang.String>
getAllEvictingNodesDetails()
IvyNodeCallers.Caller[]
getAllRealCallers()
private java.util.Collection<IvyNodeUsage>
getAllUsages()
Artifact[]
getArtifacts(java.lang.String rootModuleConf)
Returns the artifacts of this dependency required in the configurations themselves required in the given root module configurationIvyNodeBlacklist
getBlacklistData(java.lang.String rootModuleConf)
Returns the blacklist data of this node in the given root module conf, ornull
if this node is not blacklisted in this root module conf.IvyNodeCallers.Caller[]
getCallers(java.lang.String rootModuleConf)
Configuration
getConfiguration(java.lang.String conf)
java.lang.String[]
getConfigurations(java.lang.String rootModuleConf)
Returns the configurations of the dependency required in a given root module configuration.ConflictManager
getConflictManager(ModuleId mid)
java.lang.String[]
getConfsToFetch()
ResolveData
getData()
private java.lang.String
getDefaultConf(java.lang.String conf)
java.util.Collection<IvyNode>
getDependencies(java.lang.String rootModuleConf, java.lang.String[] confs, java.lang.String requestedConf)
java.util.Collection<IvyNode>
getDependencies(java.lang.String rootModuleConf, java.lang.String conf, java.lang.String requestedConf)
Load the dependencies of the current nodeDependencyDescriptor
getDependencyDescriptor(IvyNode parent)
ModuleDescriptor
getDescriptor()
private IvyNode
getDirectCallerFor(ModuleId from)
java.lang.String[]
getEvictedConfs()
IvyNodeEviction.EvictionData
getEvictedData(java.lang.String rootModuleConf)
java.util.Collection<IvyNode>
getEvictedNodes(ModuleId mid, java.lang.String rootModuleConf)
java.util.Collection<ModuleRevisionId>
getEvictedRevisions(ModuleId mid, java.lang.String rootModuleConf)
IvyNodeEviction.EvictionData
getEvictionDataInRoot(java.lang.String rootModuleConf, IvyNode ancestor)
ModuleRevisionId
getId()
long
getLastModified()
Returns the last modified timestamp of the module represented by this Node, or 0 if the last modified timestamp is currently unknown (module not loaded)private java.lang.String
getMainConf(java.lang.String conf)
IvyNodeUsage
getMainUsage()
ModuleId
getModuleId()
ResolvedModuleRevision
getModuleRevision()
java.util.Collection<IvyNode>
getPendingConflicts(java.lang.String rootModuleConf, ModuleId mid)
Returns a collection of Nodes in conflict for which conflict has been detected but conflict resolution hasn't been done yetjava.lang.Exception
getProblem()
java.lang.String
getProblemMessage()
long
getPublication()
java.lang.String[]
getRealConfs(java.lang.String conf)
IvyNode
getRealNode()
java.lang.String[]
getRequiredConfigurations()
returns all the current required configurations of the nodejava.lang.String[]
getRequiredConfigurations(IvyNode in, java.lang.String inConf)
returns the required configurations from the given nodeModuleRevisionId
getResolvedId()
java.util.Set<IvyNode>
getResolvedNodes(ModuleId moduleId, java.lang.String rootModuleConf)
A copy of the set of resolved nodes (real nodes)java.util.Collection<ModuleRevisionId>
getResolvedRevisions(ModuleId moduleId, java.lang.String rootModuleConf)
IvyNode
getRoot()
java.lang.String[]
getRootModuleConfigurations()
Returns the root module configurations in which this dependency is requiredjava.util.Set<java.lang.String>
getRootModuleConfigurationsSet()
Returns the root module configurations in which this dependency is requiredArtifact[]
getSelectedArtifacts(Filter<Artifact> artifactFilter)
Returns all the artifacts of this dependency required in the root module configurations in which the node is not evicted nor blacklistedprivate boolean
handleConfiguration(boolean loaded, java.lang.String rootModuleConf, IvyNode parent, java.lang.String parentConf, java.lang.String conf, boolean shouldBePublic, IvyNodeUsage usage)
boolean
hasAnyMergedUsageWithTransitiveDependency(java.lang.String rootModuleConf)
Indicates if there is any of the merged usages of this node which has a depender with transitive dependency descriptor.boolean
hasConfigurationsToLoad()
int
hashCode()
boolean
hasProblem()
private void
init(ResolveData data)
boolean
isBlacklisted(java.lang.String rootModuleConf)
Indicates if this node has been blacklisted in the given root module conf.boolean
isCompletelyBlacklisted()
Indicates if this node has been blacklisted in all root module configurations.boolean
isCompletelyEvicted()
protected boolean
isConfRequiredByMergedUsageOnly(java.lang.String rootModuleConf, java.lang.String conf)
private boolean
isDependencyModuleExcluded(DependencyDescriptor dd, java.lang.String rootModuleConf, ModuleRevisionId dependencyRevisionId, java.lang.String conf)
boolean
isDownloaded()
boolean
isEvicted(java.lang.String rootModuleConf)
boolean
isFetched(java.lang.String conf)
boolean
isLoaded()
(package private) boolean
isRoot()
private boolean
isRootModuleConfLoaded(java.lang.String rootModuleConf)
boolean
isSearched()
boolean
loadData(java.lang.String rootModuleConf, IvyNode parent, java.lang.String parentConf, java.lang.String conf, boolean shouldBePublic, IvyNodeUsage usage)
After the call node may be discarded.void
markEvicted(java.lang.String rootModuleConf, IvyNode node, ConflictManager conflictManager, java.util.Collection<IvyNode> resolved)
void
markEvicted(IvyNodeEviction.EvictionData evictionData)
private boolean
markRootModuleConfLoaded(java.lang.String rootModuleConf)
private void
moveToRealNode(java.lang.String rootModuleConf, IvyNode parent, java.lang.String parentConf, java.lang.String conf, boolean shouldBePublic, IvyNode resolved)
private java.lang.String[]
resolveSpecialConfigurations(java.lang.String[] dependencyConfigurations)
resolve the '*' special configurations if necessary and possiblevoid
setEvictedNodes(ModuleId moduleId, java.lang.String rootModuleConf, java.util.Collection<IvyNode> evicted)
void
setPendingConflicts(ModuleId moduleId, java.lang.String rootModuleConf, java.util.Collection<IvyNode> conflicts)
void
setResolvedNodes(ModuleId moduleId, java.lang.String rootModuleConf, java.util.Collection<IvyNode> resolved)
private ModuleRevisionId[]
toMrids(java.util.Collection<IvyNode> path, IvyNode depNode)
java.lang.String
toString()
void
updateConfsToFetch(java.util.Collection<java.lang.String> confs)
private void
updateDataFrom(IvyNode node, java.lang.String rootModuleConf, boolean real)
Update data in this node from data of the given node, for the given root module configuration.
-
-
-
Field Detail
-
FALLBACK_CONF_PATTERN
private static final java.util.regex.Pattern FALLBACK_CONF_PATTERN
-
data
private ResolveData data
-
settings
private ResolveEngineSettings settings
-
callers
private IvyNodeCallers callers
-
eviction
private IvyNodeEviction eviction
-
root
private IvyNode root
-
id
private ModuleRevisionId id
-
dds
private java.util.Map<IvyNode,DependencyDescriptor> dds
-
md
private ModuleDescriptor md
-
module
private ResolvedModuleRevision module
-
problem
private java.lang.Exception problem
-
downloaded
private boolean downloaded
-
searched
private boolean searched
-
confsToFetch
private java.util.Collection<java.lang.String> confsToFetch
-
fetchedConfigurations
private java.util.Collection<java.lang.String> fetchedConfigurations
-
loadedRootModuleConfs
private java.util.Collection<java.lang.String> loadedRootModuleConfs
-
usage
private IvyNodeUsage usage
-
mergedUsages
private java.util.Map<ModuleRevisionId,IvyNodeUsage> mergedUsages
-
-
Constructor Detail
-
IvyNode
public IvyNode(ResolveData data, IvyNode parent, DependencyDescriptor dd)
-
IvyNode
public IvyNode(ResolveData data, ModuleDescriptor md)
-
-
Method Detail
-
init
private void init(ResolveData data)
-
loadData
public boolean loadData(java.lang.String rootModuleConf, IvyNode parent, java.lang.String parentConf, java.lang.String conf, boolean shouldBePublic, IvyNodeUsage usage)
After the call node may be discarded. To avoid using discarded node, make sure to get the real node after the callIvyNode node = ... node.loadData(); node = node.getRealNode(); ...
- Parameters:
rootModuleConf
- Stringparent
- IvyNodeparentConf
- Stringconf
- StringshouldBePublic
- booleanusage
- IvyNodeUsage- Returns:
- boolean
-
moveToRealNode
private void moveToRealNode(java.lang.String rootModuleConf, IvyNode parent, java.lang.String parentConf, java.lang.String conf, boolean shouldBePublic, IvyNode resolved)
-
getDependencies
public java.util.Collection<IvyNode> getDependencies(java.lang.String rootModuleConf, java.lang.String[] confs, java.lang.String requestedConf)
-
getDependencies
public java.util.Collection<IvyNode> getDependencies(java.lang.String rootModuleConf, java.lang.String conf, java.lang.String requestedConf)
Load the dependencies of the current nodeThe resulting collection of nodes may have some configuration to load
- Parameters:
rootModuleConf
- the requested configuration of the root moduleconf
- the configuration to load of this noderequestedConf
- the actual node conf requested, possibly extending theconf
one.- Returns:
Collection
ofIvyNode
-
addDependencyDescriptor
private void addDependencyDescriptor(IvyNode parent, DependencyDescriptor dd)
-
getDependencyDescriptor
public DependencyDescriptor getDependencyDescriptor(IvyNode parent)
-
isDependencyModuleExcluded
private boolean isDependencyModuleExcluded(DependencyDescriptor dd, java.lang.String rootModuleConf, ModuleRevisionId dependencyRevisionId, java.lang.String conf)
-
doesExclude
java.lang.Boolean doesExclude(ModuleDescriptor md, java.lang.String rootModuleConf, java.lang.String[] moduleConfs, DependencyDescriptor dd, Artifact artifact, java.util.Deque<IvyNode> callersStack)
-
directlyExcludes
public boolean directlyExcludes(ModuleDescriptor md, java.lang.String[] moduleConfs, DependencyDescriptor dd, Artifact artifact)
-
hasConfigurationsToLoad
public boolean hasConfigurationsToLoad()
-
markRootModuleConfLoaded
private boolean markRootModuleConfLoaded(java.lang.String rootModuleConf)
-
isRootModuleConfLoaded
private boolean isRootModuleConfLoaded(java.lang.String rootModuleConf)
-
handleConfiguration
private boolean handleConfiguration(boolean loaded, java.lang.String rootModuleConf, IvyNode parent, java.lang.String parentConf, java.lang.String conf, boolean shouldBePublic, IvyNodeUsage usage)
-
getDefaultConf
private java.lang.String getDefaultConf(java.lang.String conf)
-
getMainConf
private java.lang.String getMainConf(java.lang.String conf)
-
updateConfsToFetch
public void updateConfsToFetch(java.util.Collection<java.lang.String> confs)
-
resolveSpecialConfigurations
private java.lang.String[] resolveSpecialConfigurations(java.lang.String[] dependencyConfigurations)
resolve the '*' special configurations if necessary and possible
-
getRequiredConfigurations
public java.lang.String[] getRequiredConfigurations(IvyNode in, java.lang.String inConf)
returns the required configurations from the given node- Parameters:
in
- IvyNodeinConf
- ditto- Returns:
- array of configuration names
-
addAllIfNotNull
private <T> void addAllIfNotNull(java.util.Collection<T> into, java.util.Collection<T> col)
-
getRequiredConfigurations
public java.lang.String[] getRequiredConfigurations()
returns all the current required configurations of the node- Returns:
- array of configuration names
-
getConfiguration
public Configuration getConfiguration(java.lang.String conf)
-
getConfigurations
public java.lang.String[] getConfigurations(java.lang.String rootModuleConf)
Returns the configurations of the dependency required in a given root module configuration.- Parameters:
rootModuleConf
- String- Returns:
- array of configuration names
-
isConfRequiredByMergedUsageOnly
protected boolean isConfRequiredByMergedUsageOnly(java.lang.String rootModuleConf, java.lang.String conf)
-
discardConf
@Deprecated public void discardConf(java.lang.String rootModuleConf, java.lang.String conf)
Deprecated.
-
addRootModuleConfigurations
private void addRootModuleConfigurations(IvyNodeUsage usage, java.lang.String rootModuleConf, java.lang.String[] dependencyConfs)
-
getRootModuleConfigurations
public java.lang.String[] getRootModuleConfigurations()
Returns the root module configurations in which this dependency is required- Returns:
- array of configuration names
-
getRootModuleConfigurationsSet
public java.util.Set<java.lang.String> getRootModuleConfigurationsSet()
Returns the root module configurations in which this dependency is required- Returns:
Set
of configuration names
-
getConfsToFetch
public java.lang.String[] getConfsToFetch()
-
getRealConfs
public java.lang.String[] getRealConfs(java.lang.String conf)
-
findPath
private java.util.Collection<IvyNode> findPath(ModuleId from)
Finds and returns a path in callers from the given module id to the current node- Parameters:
from
- the module id to start the path from- Returns:
- a collection representing the path, starting with the from node, followed by the list of nodes being one path to the current node, excluded
-
findPath
private java.util.Collection<IvyNode> findPath(ModuleId from, IvyNode node, java.util.List<IvyNode> path)
-
updateDataFrom
private void updateDataFrom(IvyNode node, java.lang.String rootModuleConf, boolean real)
Update data in this node from data of the given node, for the given root module configuration.- Parameters:
node
- the source node from which data should be copiedrootModuleConf
- the root module configuration for which data should be updatedreal
- true if the node to update from actually corresponds to the same real node (usually updated because of dynamic revision resolution), false if it's not the same real node (usually updated because of node eviction)
-
getAllUsages
private java.util.Collection<IvyNodeUsage> getAllUsages()
-
getAllArtifacts
public Artifact[] getAllArtifacts()
Returns all the artifacts of this dependency required in all the root module configurations- Returns:
- array of
Artifact
s
-
getSelectedArtifacts
public Artifact[] getSelectedArtifacts(Filter<Artifact> artifactFilter)
Returns all the artifacts of this dependency required in the root module configurations in which the node is not evicted nor blacklisted- Parameters:
artifactFilter
- Filter- Returns:
- array of
Artifact
s
-
getArtifacts
public Artifact[] getArtifacts(java.lang.String rootModuleConf)
Returns the artifacts of this dependency required in the configurations themselves required in the given root module configuration- Parameters:
rootModuleConf
- String- Returns:
- array of
Artifact
s
-
addArtifactsFromOwnUsage
private void addArtifactsFromOwnUsage(java.util.Set<Artifact> artifacts, java.util.Set<DependencyArtifactDescriptor> dependencyArtifacts)
-
addArtifactsFromMergedUsage
private void addArtifactsFromMergedUsage(java.lang.String rootModuleConf, java.util.Set<Artifact> artifacts)
-
findArtifactsMatching
private static java.util.Collection<Artifact> findArtifactsMatching(IncludeRule rule, java.util.Map<ArtifactId,Artifact> allArtifacts)
-
hasProblem
public boolean hasProblem()
-
getProblem
public java.lang.Exception getProblem()
-
getProblemMessage
public java.lang.String getProblemMessage()
-
isDownloaded
public boolean isDownloaded()
-
isSearched
public boolean isSearched()
-
isLoaded
public boolean isLoaded()
-
isFetched
public boolean isFetched(java.lang.String conf)
-
findNode
public IvyNode findNode(ModuleRevisionId mrid)
-
isRoot
boolean isRoot()
-
getRoot
public IvyNode getRoot()
-
getConflictManager
public ConflictManager getConflictManager(ModuleId mid)
-
getRealNode
public IvyNode getRealNode()
-
getId
public ModuleRevisionId getId()
-
getModuleId
public ModuleId getModuleId()
-
getDescriptor
public ModuleDescriptor getDescriptor()
-
getData
public ResolveData getData()
-
getModuleRevision
public ResolvedModuleRevision getModuleRevision()
-
getPublication
public long getPublication()
-
getLastModified
public long getLastModified()
Returns the last modified timestamp of the module represented by this Node, or 0 if the last modified timestamp is currently unknown (module not loaded)- Returns:
- the last modified timestamp of the module represented by this Node
-
getResolvedId
public ModuleRevisionId getResolvedId()
-
clean
public void clean()
Clean data related to one root module configuration only
-
canExclude
boolean canExclude(java.lang.String rootModuleConf)
-
getCallers
public IvyNodeCallers.Caller[] getCallers(java.lang.String rootModuleConf)
-
getAllCallersModuleIds
public java.util.Collection<ModuleId> getAllCallersModuleIds()
-
getAllCallers
public IvyNodeCallers.Caller[] getAllCallers()
-
getAllRealCallers
public IvyNodeCallers.Caller[] getAllRealCallers()
-
addCaller
public void addCaller(java.lang.String rootModuleConf, IvyNode callerNode, java.lang.String callerConf, java.lang.String requestedConf, java.lang.String[] dependencyConfs, DependencyDescriptor dd)
-
doesCallersExclude
public boolean doesCallersExclude(java.lang.String rootModuleConf, Artifact artifact, java.util.Deque<IvyNode> callersStack)
-
doesCallersExclude
@Deprecated public boolean doesCallersExclude(java.lang.String rootModuleConf, Artifact artifact, java.util.Stack<ModuleRevisionId> callersStack)
Deprecated.
-
toMrids
private ModuleRevisionId[] toMrids(java.util.Collection<IvyNode> path, IvyNode depNode)
-
getResolvedNodes
public java.util.Set<IvyNode> getResolvedNodes(ModuleId moduleId, java.lang.String rootModuleConf)
A copy of the set of resolved nodes (real nodes)- Parameters:
moduleId
- dittorootModuleConf
- String- Returns:
- Set<IvyNode>
-
getResolvedRevisions
public java.util.Collection<ModuleRevisionId> getResolvedRevisions(ModuleId moduleId, java.lang.String rootModuleConf)
-
markEvicted
public void markEvicted(IvyNodeEviction.EvictionData evictionData)
-
getAllEvictingConflictManagers
public java.util.Collection<ConflictManager> getAllEvictingConflictManagers()
-
getAllEvictingNodes
public java.util.Collection<IvyNode> getAllEvictingNodes()
-
getAllEvictingNodesDetails
public java.util.Collection<java.lang.String> getAllEvictingNodesDetails()
-
getEvictedConfs
public java.lang.String[] getEvictedConfs()
-
getEvictedData
public IvyNodeEviction.EvictionData getEvictedData(java.lang.String rootModuleConf)
-
getEvictedNodes
public java.util.Collection<IvyNode> getEvictedNodes(ModuleId mid, java.lang.String rootModuleConf)
-
getEvictedRevisions
public java.util.Collection<ModuleRevisionId> getEvictedRevisions(ModuleId mid, java.lang.String rootModuleConf)
-
getEvictionDataInRoot
public IvyNodeEviction.EvictionData getEvictionDataInRoot(java.lang.String rootModuleConf, IvyNode ancestor)
-
isCompletelyEvicted
public boolean isCompletelyEvicted()
-
isEvicted
public boolean isEvicted(java.lang.String rootModuleConf)
-
markEvicted
public void markEvicted(java.lang.String rootModuleConf, IvyNode node, ConflictManager conflictManager, java.util.Collection<IvyNode> resolved)
-
setEvictedNodes
public void setEvictedNodes(ModuleId moduleId, java.lang.String rootModuleConf, java.util.Collection<IvyNode> evicted)
-
setResolvedNodes
public void setResolvedNodes(ModuleId moduleId, java.lang.String rootModuleConf, java.util.Collection<IvyNode> resolved)
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
equals
public boolean equals(java.lang.Object obj)
- Overrides:
equals
in classjava.lang.Object
-
compareTo
public int compareTo(IvyNode that)
- Specified by:
compareTo
in interfacejava.lang.Comparable<IvyNode>
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classjava.lang.Object
-
getPendingConflicts
public java.util.Collection<IvyNode> getPendingConflicts(java.lang.String rootModuleConf, ModuleId mid)
Returns a collection of Nodes in conflict for which conflict has been detected but conflict resolution hasn't been done yet- Parameters:
rootModuleConf
- dittomid
- the module id for which pending conflicts should be found- Returns:
- a Collection of IvyNode in pending conflict
-
setPendingConflicts
public void setPendingConflicts(ModuleId moduleId, java.lang.String rootModuleConf, java.util.Collection<IvyNode> conflicts)
-
blacklist
public void blacklist(IvyNodeBlacklist bdata)
Blacklists the current node, so that a new resolve process won't ever consider this node as available in the repository.This is useful in combination with
RestartResolveProcess
for conflict manager implementation which use a best effort strategy to find compatible dependency set, likeLatestCompatibleConflictManager
- Parameters:
bdata
- the root module configuration in which the node should be blacklisted
-
clearEvictionDataInAllCallers
private void clearEvictionDataInAllCallers(java.lang.String rootModuleConf, java.util.Stack<IvyNode> callerStack)
-
isBlacklisted
public boolean isBlacklisted(java.lang.String rootModuleConf)
Indicates if this node has been blacklisted in the given root module conf.A blacklisted node should be considered as if it doesn't even exist on the repository.
- Parameters:
rootModuleConf
- the root module conf for which we'd like to know if the node is blacklisted- Returns:
- true if this node is blacklisted int he given root module conf, false otherwise
- See Also:
blacklist(IvyNodeBlacklist)
-
isCompletelyBlacklisted
public boolean isCompletelyBlacklisted()
Indicates if this node has been blacklisted in all root module configurations.- Returns:
- true if this node is blacklisted in all root module configurations, false otherwise
- See Also:
blacklist(IvyNodeBlacklist)
-
getBlacklistData
public IvyNodeBlacklist getBlacklistData(java.lang.String rootModuleConf)
Returns the blacklist data of this node in the given root module conf, ornull
if this node is not blacklisted in this root module conf.- Parameters:
rootModuleConf
- the root module configuration to consider- Returns:
- the blacklist data if any
-
getMainUsage
public IvyNodeUsage getMainUsage()
-
hasAnyMergedUsageWithTransitiveDependency
public boolean hasAnyMergedUsageWithTransitiveDependency(java.lang.String rootModuleConf)
Indicates if there is any of the merged usages of this node which has a depender with transitive dependency descriptor.If at there is at least one usage from the merged usages for which there is a depender in the given root module conf which has a dependency descriptor with transitive == true, then it returns true. Otherwise it returns false.
- Parameters:
rootModuleConf
- the root module configuration to consider- Returns:
- true if there is any merged usage with transitive dd, false otherwise.
-
-