org.codehaus.groovy.grails.resolve
Class AbstractIvyDependencyManager

java.lang.Object
  extended by org.codehaus.groovy.grails.resolve.AbstractIvyDependencyManager

public abstract class AbstractIvyDependencyManager
extends java.lang.Object

Base class for IvyDependencyManager with some logic implemented in Java.

Since:
1.3

Field Summary
static org.apache.ivy.core.module.descriptor.Configuration AGENT_CONFIGURATION
           
static java.util.List<org.apache.ivy.core.module.descriptor.Configuration> ALL_CONFIGURATIONS
           
protected  java.lang.String applicationName
           
protected  java.lang.String applicationVersion
           
static org.apache.ivy.core.module.descriptor.Configuration BUILD_CONFIGURATION
           
protected  grails.util.BuildSettings buildSettings
           
static org.apache.ivy.core.module.descriptor.Configuration COMPILE_CONFIGURATION
           
protected  java.lang.String[] configurationNames
           
protected  java.util.Set<org.apache.ivy.core.module.id.ModuleRevisionId> dependencies
           
protected  java.util.Set<org.apache.ivy.core.module.descriptor.DependencyDescriptor> dependencyDescriptors
           
static org.apache.ivy.core.module.descriptor.Configuration DOCS_CONFIGURATION
           
protected  boolean hasApplicationDependencies
           
protected  boolean includeJavadoc
           
protected  boolean includeSource
           
protected  org.apache.ivy.core.settings.IvySettings ivySettings
           
protected  boolean legacyResolve
           
protected  Metadata metadata
           
protected  java.util.Set<java.lang.String> metadataRegisteredPluginNames
           
protected  org.apache.ivy.core.module.descriptor.DefaultModuleDescriptor moduleDescriptor
           
protected  java.util.Set<org.apache.ivy.core.module.id.ModuleId> modules
           
static org.apache.ivy.core.module.descriptor.ExcludeRule[] NO_EXCLUDE_RULES
           
protected  java.util.Map<java.lang.String,java.util.Collection<org.apache.ivy.core.module.id.ModuleRevisionId>> orgToDepMap
           
protected  java.util.Set<org.apache.ivy.core.module.descriptor.DependencyDescriptor> pluginDependencyDescriptors
           
protected  java.util.Map<java.lang.String,org.apache.ivy.core.module.descriptor.DependencyDescriptor> pluginNameToDescriptorMap
           
static org.apache.ivy.core.module.descriptor.Configuration PROVIDED_CONFIGURATION
           
protected  boolean readPom
           
static org.apache.ivy.core.module.descriptor.Configuration RUNTIME_CONFIGURATION
           
static java.lang.String SNAPSHOT_CHANGING_PATTERN
           
static org.apache.ivy.core.module.descriptor.Configuration TEST_CONFIGURATION
           
protected  java.util.Collection<java.lang.String> usedConfigurations
           
 
Constructor Summary
AbstractIvyDependencyManager(org.apache.ivy.core.settings.IvySettings ivySettings, grails.util.BuildSettings buildSettings, Metadata metadata)
           
 
Method Summary
 void configureDependencyDescriptor(org.codehaus.groovy.grails.resolve.EnhancedDefaultDependencyDescriptor dependencyDescriptor, java.lang.String scope)
          Deprecated. use registerDependency(String, EnhancedDefaultDependencyDescriptor)
 void configureDependencyDescriptor(org.codehaus.groovy.grails.resolve.EnhancedDefaultDependencyDescriptor dependencyDescriptor, java.lang.String scope, boolean pluginMode)
          Deprecated. use registerDependency(String, EnhancedDefaultDependencyDescriptor) or registerPluginDependency(String EnhancedDefaultDependencyDescriptor)
 org.codehaus.groovy.grails.resolve.IvyDependencyManager createCopy(grails.util.BuildSettings settings)
           
protected  org.apache.ivy.core.module.id.ArtifactId createExcludeArtifactId(java.lang.String excludeName)
           
protected  org.apache.ivy.core.module.id.ArtifactId createExcludeArtifactId(java.lang.String excludeName, java.lang.String group)
           
 org.apache.ivy.core.module.descriptor.ModuleDescriptor createModuleDescriptor()
           
 java.lang.String getApplicationName()
           
 java.lang.String getApplicationVersion()
           
 grails.util.BuildSettings getBuildSettings()
           
 org.apache.ivy.plugins.resolver.ChainResolver getChainResolver()
           
 java.util.Map<java.lang.String,java.util.List<java.lang.String>> getConfigurationMappings()
           
 java.lang.String[] getConfigurationNames()
           
 java.util.Set<org.apache.ivy.core.module.id.ModuleRevisionId> getDependencies()
          Obtains a list of dependencies defined in the project
 org.apache.ivy.core.settings.IvySettings getIvySettings()
           
 org.apache.ivy.util.MessageLogger getLogger()
           
 Metadata getMetadata()
           
 java.util.Set<java.lang.String> getMetadataRegisteredPluginNames()
           
 org.apache.ivy.core.module.descriptor.DefaultModuleDescriptor getModuleDescriptor()
           
 org.apache.ivy.core.module.descriptor.DependencyDescriptor getPluginDependencyDescriptor(java.lang.String pluginName)
          Obtains a particular DependencyDescriptor by the plugin name
 java.util.Set<org.apache.ivy.core.module.descriptor.DependencyDescriptor> getPluginDependencyDescriptors()
          Obtains a set of plugin dependency descriptors defined in the project
 java.util.Set<java.lang.String> getPluginDependencyNames()
          Obtains a set of plugins this application is dependent onb
 java.util.Set<java.lang.String> getPluginExcludes(java.lang.String plugin)
           
 boolean getReadPom()
           
 org.apache.ivy.core.resolve.ResolveEngine getResolveEngine()
           
 java.util.Collection<java.lang.String> getUsedConfigurations()
           
 boolean hasApplicationDependencies()
          Returns true if the application has any dependencies that are not inherited from the framework or other plugins
protected  void initializeModuleDescriptor()
           
 boolean isExcludedFromPlugin(org.apache.ivy.core.module.descriptor.DependencyDescriptor currentPlugin, org.apache.ivy.core.module.id.ArtifactId dependency)
           
 boolean isExcludedFromPlugin(java.lang.String plugin, java.lang.String dependencyName)
           
 boolean isLegacyResolve()
          Whether the legacy approach of parsing dependencies.groovy in addition to pom.xml should be used during dependency resolution
 boolean isOffline()
           
 boolean isPluginTransitive(java.lang.String pluginName)
          Returns whether a plugin is transitive, ie whether its dependencies are resolved transitively
 boolean isPluginTransitivelyIncluded(java.lang.String pluginName)
          Whether the plugin is directly included or a transitive dependency of another plugin
 void parseDependencies(groovy.lang.Closure definition)
          Parses the Ivy DSL definition
 void parseDependencies(java.lang.String pluginName, groovy.lang.Closure<?> definition)
          Parses dependencies of a plugin.
 void parseDependencies(java.lang.String pluginName, groovy.lang.Closure<?> definition, org.apache.ivy.core.module.descriptor.ExcludeRule[] excludeRules)
          Parses dependencies of a plugin.
 org.apache.ivy.core.module.descriptor.DependencyDescriptor[] readDependenciesFromPOM()
           
 void registerDependency(java.lang.String scope, org.codehaus.groovy.grails.resolve.EnhancedDefaultDependencyDescriptor descriptor)
          Registers a JAR dependency with the dependency manager.
 void registerPluginDependency(java.lang.String scope, org.codehaus.groovy.grails.resolve.EnhancedDefaultDependencyDescriptor descriptor)
          Registers a plugin dependency (as in Grails plugin).
 void setApplicationName(java.lang.String applicationName)
           
 void setApplicationVersion(java.lang.String applicationVersion)
           
 void setChainResolver(org.apache.ivy.plugins.resolver.ChainResolver chainResolver)
           
 void setIncludeJavadoc(boolean includeJavadoc)
           
 void setIncludeSource(boolean includeSource)
           
 void setLegacyResolve(boolean legacyResolve)
           
 void setLogger(org.apache.ivy.util.MessageLogger logger)
           
 void setMetadataRegisteredPluginNames(java.util.Set<java.lang.String> metadataRegisteredPluginNames)
           
 void setModuleDescriptor(org.apache.ivy.core.module.descriptor.DefaultModuleDescriptor moduleDescriptor)
           
 void setOffline(boolean offline)
           
 void setReadPom(boolean flag)
           
 void setResolveEngine(org.apache.ivy.core.resolve.ResolveEngine resolveEngine)
           
 void setUsedConfigurations(java.util.Collection<java.lang.String> usedConfigurations)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

SNAPSHOT_CHANGING_PATTERN

public static final java.lang.String SNAPSHOT_CHANGING_PATTERN
See Also:
Constant Field Values

AGENT_CONFIGURATION

public static org.apache.ivy.core.module.descriptor.Configuration AGENT_CONFIGURATION

BUILD_CONFIGURATION

public static org.apache.ivy.core.module.descriptor.Configuration BUILD_CONFIGURATION

COMPILE_CONFIGURATION

public static org.apache.ivy.core.module.descriptor.Configuration COMPILE_CONFIGURATION

RUNTIME_CONFIGURATION

public static org.apache.ivy.core.module.descriptor.Configuration RUNTIME_CONFIGURATION

TEST_CONFIGURATION

public static org.apache.ivy.core.module.descriptor.Configuration TEST_CONFIGURATION

PROVIDED_CONFIGURATION

public static org.apache.ivy.core.module.descriptor.Configuration PROVIDED_CONFIGURATION

DOCS_CONFIGURATION

public static org.apache.ivy.core.module.descriptor.Configuration DOCS_CONFIGURATION

ALL_CONFIGURATIONS

public static java.util.List<org.apache.ivy.core.module.descriptor.Configuration> ALL_CONFIGURATIONS

NO_EXCLUDE_RULES

public static final org.apache.ivy.core.module.descriptor.ExcludeRule[] NO_EXCLUDE_RULES

includeSource

protected boolean includeSource

includeJavadoc

protected boolean includeJavadoc

configurationNames

protected java.lang.String[] configurationNames

modules

protected java.util.Set<org.apache.ivy.core.module.id.ModuleId> modules

dependencies

protected java.util.Set<org.apache.ivy.core.module.id.ModuleRevisionId> dependencies

dependencyDescriptors

protected java.util.Set<org.apache.ivy.core.module.descriptor.DependencyDescriptor> dependencyDescriptors

pluginDependencyDescriptors

protected java.util.Set<org.apache.ivy.core.module.descriptor.DependencyDescriptor> pluginDependencyDescriptors

metadataRegisteredPluginNames

protected java.util.Set<java.lang.String> metadataRegisteredPluginNames

orgToDepMap

protected java.util.Map<java.lang.String,java.util.Collection<org.apache.ivy.core.module.id.ModuleRevisionId>> orgToDepMap

usedConfigurations

protected java.util.Collection<java.lang.String> usedConfigurations

pluginNameToDescriptorMap

protected java.util.Map<java.lang.String,org.apache.ivy.core.module.descriptor.DependencyDescriptor> pluginNameToDescriptorMap

applicationName

protected java.lang.String applicationName

applicationVersion

protected java.lang.String applicationVersion

moduleDescriptor

protected org.apache.ivy.core.module.descriptor.DefaultModuleDescriptor moduleDescriptor

hasApplicationDependencies

protected boolean hasApplicationDependencies

readPom

protected boolean readPom

ivySettings

protected final org.apache.ivy.core.settings.IvySettings ivySettings

buildSettings

protected final grails.util.BuildSettings buildSettings

metadata

protected final Metadata metadata

legacyResolve

protected boolean legacyResolve
Constructor Detail

AbstractIvyDependencyManager

public AbstractIvyDependencyManager(org.apache.ivy.core.settings.IvySettings ivySettings,
                                    grails.util.BuildSettings buildSettings,
                                    Metadata metadata)
Method Detail

isLegacyResolve

public boolean isLegacyResolve()
Whether the legacy approach of parsing dependencies.groovy in addition to pom.xml should be used during dependency resolution

Returns:
True if it should

setLegacyResolve

public void setLegacyResolve(boolean legacyResolve)

getResolveEngine

public org.apache.ivy.core.resolve.ResolveEngine getResolveEngine()

setResolveEngine

public void setResolveEngine(org.apache.ivy.core.resolve.ResolveEngine resolveEngine)

getLogger

public org.apache.ivy.util.MessageLogger getLogger()

setLogger

public void setLogger(org.apache.ivy.util.MessageLogger logger)

setOffline

public void setOffline(boolean offline)

getChainResolver

public org.apache.ivy.plugins.resolver.ChainResolver getChainResolver()

getBuildSettings

public grails.util.BuildSettings getBuildSettings()

getMetadata

public Metadata getMetadata()

setChainResolver

public void setChainResolver(org.apache.ivy.plugins.resolver.ChainResolver chainResolver)

createCopy

public org.codehaus.groovy.grails.resolve.IvyDependencyManager createCopy(grails.util.BuildSettings settings)

isOffline

public boolean isOffline()

setIncludeSource

public void setIncludeSource(boolean includeSource)

setIncludeJavadoc

public void setIncludeJavadoc(boolean includeJavadoc)

getIvySettings

public org.apache.ivy.core.settings.IvySettings getIvySettings()

getModuleDescriptor

public org.apache.ivy.core.module.descriptor.DefaultModuleDescriptor getModuleDescriptor()

setModuleDescriptor

public void setModuleDescriptor(org.apache.ivy.core.module.descriptor.DefaultModuleDescriptor moduleDescriptor)

hasApplicationDependencies

public boolean hasApplicationDependencies()
Returns true if the application has any dependencies that are not inherited from the framework or other plugins


getUsedConfigurations

public java.util.Collection<java.lang.String> getUsedConfigurations()

setUsedConfigurations

public void setUsedConfigurations(java.util.Collection<java.lang.String> usedConfigurations)

getMetadataRegisteredPluginNames

public java.util.Set<java.lang.String> getMetadataRegisteredPluginNames()

setMetadataRegisteredPluginNames

public void setMetadataRegisteredPluginNames(java.util.Set<java.lang.String> metadataRegisteredPluginNames)

getPluginDependencyDescriptors

public java.util.Set<org.apache.ivy.core.module.descriptor.DependencyDescriptor> getPluginDependencyDescriptors()
Obtains a set of plugin dependency descriptors defined in the project


getPluginDependencyDescriptor

public org.apache.ivy.core.module.descriptor.DependencyDescriptor getPluginDependencyDescriptor(java.lang.String pluginName)
Obtains a particular DependencyDescriptor by the plugin name

Parameters:
pluginName - The plugin name
Returns:
A DependencyDescriptor or null

getPluginDependencyNames

public java.util.Set<java.lang.String> getPluginDependencyNames()
Obtains a set of plugins this application is dependent onb

Returns:
A set of plugins names

getDependencies

public java.util.Set<org.apache.ivy.core.module.id.ModuleRevisionId> getDependencies()
Obtains a list of dependencies defined in the project


getApplicationName

public java.lang.String getApplicationName()

setApplicationName

public void setApplicationName(java.lang.String applicationName)

getApplicationVersion

public java.lang.String getApplicationVersion()

setApplicationVersion

public void setApplicationVersion(java.lang.String applicationVersion)

getConfigurationNames

public java.lang.String[] getConfigurationNames()

getConfigurationMappings

public java.util.Map<java.lang.String,java.util.List<java.lang.String>> getConfigurationMappings()

getReadPom

public boolean getReadPom()

setReadPom

public void setReadPom(boolean flag)

isPluginTransitive

public boolean isPluginTransitive(java.lang.String pluginName)
Returns whether a plugin is transitive, ie whether its dependencies are resolved transitively

Parameters:
pluginName - The name of the plugin
Returns:
true if the plugin is transitive

isPluginTransitivelyIncluded

public boolean isPluginTransitivelyIncluded(java.lang.String pluginName)
Whether the plugin is directly included or a transitive dependency of another plugin

Parameters:
pluginName - The plugin name
Returns:
true if is transitively included

configureDependencyDescriptor

@Deprecated
public void configureDependencyDescriptor(org.codehaus.groovy.grails.resolve.EnhancedDefaultDependencyDescriptor dependencyDescriptor,
                                                     java.lang.String scope)
Deprecated. use registerDependency(String, EnhancedDefaultDependencyDescriptor)


configureDependencyDescriptor

@Deprecated
public void configureDependencyDescriptor(org.codehaus.groovy.grails.resolve.EnhancedDefaultDependencyDescriptor dependencyDescriptor,
                                                     java.lang.String scope,
                                                     boolean pluginMode)
Deprecated. use registerDependency(String, EnhancedDefaultDependencyDescriptor) or registerPluginDependency(String EnhancedDefaultDependencyDescriptor)


registerDependency

public void registerDependency(java.lang.String scope,
                               org.codehaus.groovy.grails.resolve.EnhancedDefaultDependencyDescriptor descriptor)
Registers a JAR dependency with the dependency manager.

See Also:
registerPluginDependency(String, EnhancedDefaultDependencyDescriptor)

registerPluginDependency

public void registerPluginDependency(java.lang.String scope,
                                     org.codehaus.groovy.grails.resolve.EnhancedDefaultDependencyDescriptor descriptor)
Registers a plugin dependency (as in Grails plugin).

See Also:
registerDependency(String, EnhancedDefaultDependencyDescriptor)

parseDependencies

public void parseDependencies(groovy.lang.Closure definition)
Parses the Ivy DSL definition


initializeModuleDescriptor

protected void initializeModuleDescriptor()

parseDependencies

public void parseDependencies(java.lang.String pluginName,
                              groovy.lang.Closure<?> definition)
                       throws java.lang.IllegalStateException
Parses dependencies of a plugin.

Parameters:
pluginName - the name of the plugin
definition - the Ivy DSL definition
Throws:
java.lang.IllegalStateException

parseDependencies

public void parseDependencies(java.lang.String pluginName,
                              groovy.lang.Closure<?> definition,
                              org.apache.ivy.core.module.descriptor.ExcludeRule[] excludeRules)
                       throws java.lang.IllegalStateException
Parses dependencies of a plugin.

Parameters:
pluginName - the name of the plugin
definition - the Ivy DSL definition
Throws:
java.lang.IllegalStateException

createExcludeArtifactId

protected org.apache.ivy.core.module.id.ArtifactId createExcludeArtifactId(java.lang.String excludeName)

createExcludeArtifactId

protected org.apache.ivy.core.module.id.ArtifactId createExcludeArtifactId(java.lang.String excludeName,
                                                                           java.lang.String group)

createModuleDescriptor

public org.apache.ivy.core.module.descriptor.ModuleDescriptor createModuleDescriptor()

isExcludedFromPlugin

public boolean isExcludedFromPlugin(java.lang.String plugin,
                                    java.lang.String dependencyName)

isExcludedFromPlugin

public boolean isExcludedFromPlugin(org.apache.ivy.core.module.descriptor.DependencyDescriptor currentPlugin,
                                    org.apache.ivy.core.module.id.ArtifactId dependency)

getPluginExcludes

public java.util.Set<java.lang.String> getPluginExcludes(java.lang.String plugin)

readDependenciesFromPOM

public org.apache.ivy.core.module.descriptor.DependencyDescriptor[] readDependenciesFromPOM()