Package: org.codehaus.groovy.grails.resolve

## [Groovy] Class IvyDependencyManager

- org.codehaus.groovy.grails.resolve.IvyDependencyManager

- All Implemented Interfaces and Traits:
    DependencyDefinitionParser, DependencyManager, DependencyResolver

      class IvyDependencyManager
      extends AbstractIvyDependencyManager

  Implementation that uses Apache Ivy under the hood.

  Authors:
    Graeme Rocher
  Since:
    1.2

- - Inherited fields
    Fields inherited from class | Fields
    --- | ---
    `class AbstractIvyDependencyManager` | `AGENT_CONFIGURATION, ALL_CONFIGURATIONS, BUILD_CONFIGURATION, COMPILE_CONFIGURATION, DOCS_CONFIGURATION, NO_EXCLUDE_RULES, PROVIDED_CONFIGURATION, RUNTIME_CONFIGURATION, SNAPSHOT_CHANGING_PATTERN, TEST_CONFIGURATION, applicationName, applicationVersion, buildSettings, configurationNames, dependencies, dependencyDescriptors, hasApplicationDependencies, includeJavadoc, includeSource, ivySettings, legacyResolve, metadata, metadataRegisteredPluginNames, moduleDescriptor, modules, orgToDepMap, pluginDependencyDescriptors, pluginNameToDescriptorMap, readPom, usedConfigurations`

  - ### Properties Summary

    Properties
    Type | Name and description
    --- | ---
    `boolean` | `defaultDependenciesProvided`
    `boolean` | `inheritRepositories`
    `boolean` | `inheritsAll`
    `java.util.Collection` | `moduleExcludes`
    `boolean` | `pluginsOnly`
    `java.util.Collection` | `repositoryData`
    `boolean` | `resolveErrors`
    `org.apache.ivy.plugins.repository.TransferListener` | `transferListener`

  - ### Constructor Summary

    Constructors
    Constructor and description
    `IvyDependencyManager (java.lang.String applicationName, java.lang.String applicationVersion, BuildSettings settings = null, Metadata metadata = null, org.apache.ivy.core.settings.IvySettings ivySettings = new IvySettings()` Creates a new IvyDependencyManager instance

  - ### Methods Summary

    Methods
    Type | Name and description
    --- | ---
    `java.util.Set<Dependency>` | `convertToGrailsDependencies(java.util.Set<org.apache.ivy.core.module.descriptor.DependencyDescriptor> descriptors)`
    `protected java.lang.Object` | `createResolveArguments(java.lang.String pluginName, java.lang.String pluginVersion)`
    `groovy.util.slurpersupport.GPathResult` | `downloadPluginInfo(java.lang.String pluginName, java.lang.String pluginVersion)`
    `groovy.util.slurpersupport.GPathResult` | `downloadPluginList(java.io.File localFile)`
    `java.util.Collection<Dependency>` | `getAllDependencies()`
    `java.util.Collection<Dependency>` | `getAllDependencies(java.lang.String scope)`
    `java.util.Collection<Dependency>` | `getApplicationDependencies()`
    `java.util.Collection<Dependency>` | `getApplicationDependencies(java.lang.String scope)`
    `java.util.Set<org.apache.ivy.core.module.descriptor.DependencyDescriptor>` | `getApplicationDependencyDescriptors(java.lang.String scope = null)` Returns all of the dependency descriptors for dependencies of the application and not those inherited from frameworks or plugins
    `java.util.Set<org.apache.ivy.core.module.descriptor.DependencyDescriptor>` | `getApplicationPluginDependencyDescriptors(java.lang.String scope = null)` Returns all of the dependency descriptors for dependencies of the application and not those inherited from frameworks or plugins
    `java.util.Set<org.apache.ivy.core.module.descriptor.DependencyDescriptor>` | `getEffectivePluginDependencyDescriptors()` The plugin dependencies excluding non-exported transitive deps and collapsed to the highest version of each dependency.
    `ExcludeResolver` | `getExcludeResolver()`
    `java.util.Set<org.apache.ivy.core.module.descriptor.DependencyDescriptor>` | `getExportedDependencyDescriptors(java.lang.String scope = null)` Returns all the dependency descriptors for dependencies of a plugin that have been exported for use in the application
    `java.util.Set<org.apache.ivy.core.module.id.ModuleRevisionId>` | `getModuleRevisionIds(java.lang.String org)`
    `java.util.Collection<Dependency>` | `getPluginDependencies()`
    `java.util.Collection<Dependency>` | `getPluginDependencies(java.lang.String scope)`
    `boolean` | `isExcluded(java.lang.String name)`
    `boolean` | `isPluginConfiguredByApplication(java.lang.String name)`
    `org.apache.ivy.core.resolve.IvyNode[]` | `listDependencies(java.lang.String conf = null)` Lists all known dependencies for the given configuration name (defaults to all dependencies)
    `org.apache.ivy.core.report.ResolveReport` | `loadDependencies(java.lang.String conf = '')` Similar to resolveDependencies, but will load the resolved dependencies into the application RootLoader if it exists
    `void` | `produceReport(java.lang.String scope)`
    `void` | `produceReport()`
    `void` | `reportOnScope(java.lang.String scope, java.lang.String desc)`
    `void` | `resetGrailsPluginsResolver()` Resets the Grails plugin resolver if it is used
    `DependencyReport` | `resolve(java.lang.String scope)`
    `DependencyReport` | `resolve()`
    `DependencyReport` | `resolveAgent()`
    `org.apache.ivy.core.report.ResolveReport` | `resolveAllDependencies()` Resolves all dependencies for all known configurations
    `java.util.List<org.apache.ivy.core.report.ArtifactDownloadReport>` | `resolveApplicationDependencies(java.lang.String conf = '')` Resolves only application dependencies and returns a list of the resolves JAR files
    `org.apache.ivy.core.report.ResolveReport` | `resolveDependencies(org.apache.ivy.core.module.descriptor.Configuration conf)`
    `org.apache.ivy.core.report.ResolveReport` | `resolveDependencies(java.lang.String conf)` Performs a resolve of all dependencies for the given configuration, potentially going out to the internet to download jars if they are not found locally
    `org.apache.ivy.core.report.ResolveReport` | `resolveDependencies(java.lang.String conf, java.util.Map args)` Performs a resolve of all dependencies for the given configuration, potentially going out to the internet to download jars if they are not found locally
    `org.apache.ivy.core.report.ResolveReport` | `resolveDependencies()` Performs a resolve of all dependencies, potentially going out to the internet to download jars if they are not found locally
    `DependencyReport` | `resolveDependency(Dependency dependency)`
    `java.util.List<org.apache.ivy.core.report.ArtifactDownloadReport>` | `resolveExportedDependencies(java.lang.String conf = '')` Resolves only plugin dependencies that should be exported to the application
    `org.apache.ivy.core.report.ResolveReport` | `resolvePluginDependencies(java.lang.String conf = '', java.util.Map args = [:])` Performs a resolve of declared plugin dependencies (zip files containing plugin distributions)
    `void` | `serialize(java.lang.Object builder, boolean createRoot = true)` Serializes the parsed dependencies using the given builder.

  - ### Inherited Methods Summary

    Inherited Methods
    Methods inherited from class | Name
    --- | ---
    `class AbstractIvyDependencyManager` | `configureDependencyDescriptor, configureDependencyDescriptor, createCopy, createExcludeArtifactId, createExcludeArtifactId, createModuleDescriptor, getApplicationName, getApplicationVersion, getBuildSettings, getChainResolver, getConfigurationMappings, getConfigurationNames, getDependencies, getIvySettings, getLogger, getMetadata, getMetadataRegisteredPluginNames, getModuleDescriptor, getPluginDependencyDescriptor, getPluginDependencyDescriptors, getPluginDependencyNames, getPluginExcludes, getReadPom, getResolveEngine, getUsedConfigurations, hasApplicationDependencies, initializeModuleDescriptor, isExcludedFromPlugin, isExcludedFromPlugin, isLegacyResolve, isOffline, isPluginTransitive, isPluginTransitivelyIncluded, parseDependencies, parseDependencies, parseDependencies, readDependenciesFromPOM, registerDependency, registerPluginDependency, setApplicationName, setApplicationVersion, setChainResolver, setIncludeJavadoc, setIncludeSource, setLegacyResolve, setLogger, setMetadataRegisteredPluginNames, setModuleDescriptor, setOffline, setReadPom, setResolveEngine, setUsedConfigurations`
    `class java.lang.Object` | `java.lang.Object#wait(long, int), java.lang.Object#wait(long), java.lang.Object#wait(), java.lang.Object#equals(java.lang.Object), java.lang.Object#toString(), java.lang.Object#hashCode(), java.lang.Object#getClass(), java.lang.Object#notify(), java.lang.Object#notifyAll()`

- - ### Property Detail

    - #### boolean defaultDependenciesProvided

    - #### boolean inheritRepositories

    - #### boolean inheritsAll

    - #### java.util.Collection moduleExcludes

    - #### boolean pluginsOnly

    - #### java.util.Collection repositoryData

    - #### boolean resolveErrors

    - #### org.apache.ivy.plugins.repository.TransferListener transferListener

  - ### Constructor Detail

    - #### IvyDependencyManager(java.lang.String applicationName, java.lang.String applicationVersion, BuildSettings settings = null, Metadata metadata = null, org.apache.ivy.core.settings.IvySettings ivySettings = new IvySettings()

      Creates a new IvyDependencyManager instance

  - ### Method Detail

    - #### @groovy.transform.CompileStatic java.util.Set<Dependency> convertToGrailsDependencies(java.util.Set<org.apache.ivy.core.module.descriptor.DependencyDescriptor> descriptors)

    - #### protected java.lang.Object createResolveArguments(java.lang.String pluginName, java.lang.String pluginVersion)

    - #### @java.lang.Override groovy.util.slurpersupport.GPathResult downloadPluginInfo(java.lang.String pluginName, java.lang.String pluginVersion)

    - #### groovy.util.slurpersupport.GPathResult downloadPluginList(java.io.File localFile)

    - #### @java.lang.Override java.util.Collection<Dependency> getAllDependencies()

    - #### @java.lang.Override java.util.Collection<Dependency> getAllDependencies(java.lang.String scope)

    - #### @java.lang.Override java.util.Collection<Dependency> getApplicationDependencies()

    - #### @java.lang.Override java.util.Collection<Dependency> getApplicationDependencies(java.lang.String scope)

    - #### java.util.Set<org.apache.ivy.core.module.descriptor.DependencyDescriptor> getApplicationDependencyDescriptors(java.lang.String scope = null)

      Returns all of the dependency descriptors for dependencies of the application and not those inherited from frameworks or plugins

    - #### java.util.Set<org.apache.ivy.core.module.descriptor.DependencyDescriptor> getApplicationPluginDependencyDescriptors(java.lang.String scope = null)

      Returns all of the dependency descriptors for dependencies of the application and not those inherited from frameworks or plugins

    - #### java.util.Set<org.apache.ivy.core.module.descriptor.DependencyDescriptor> getEffectivePluginDependencyDescriptors()

      The plugin dependencies excluding non-exported transitive deps and collapsed to the highest version of each dependency.

    - #### @java.lang.Override ExcludeResolver getExcludeResolver()

    - #### java.util.Set<org.apache.ivy.core.module.descriptor.DependencyDescriptor> getExportedDependencyDescriptors(java.lang.String scope = null)

      Returns all the dependency descriptors for dependencies of a plugin that have been exported for use in the application

    - #### java.util.Set<org.apache.ivy.core.module.id.ModuleRevisionId> getModuleRevisionIds(java.lang.String org)

    - #### @java.lang.Override @groovy.transform.CompileStatic java.util.Collection<Dependency> getPluginDependencies()

    - #### java.util.Collection<Dependency> getPluginDependencies(java.lang.String scope)

    - #### boolean isExcluded(java.lang.String name)

    - #### boolean isPluginConfiguredByApplication(java.lang.String name)

    - #### org.apache.ivy.core.resolve.IvyNode[] listDependencies(java.lang.String conf = null)

      Lists all known dependencies for the given configuration name (defaults to all dependencies)

    - #### org.apache.ivy.core.report.ResolveReport loadDependencies(java.lang.String conf = '')

      Similar to resolveDependencies, but will load the resolved dependencies into the application RootLoader if it exists

      throws:
        IllegalStateException If no RootLoader exists
      Returns:
        The ResolveReport

    - #### void produceReport(java.lang.String scope)

    - #### @java.lang.Override @groovy.transform.CompileStatic void produceReport()

    - #### void reportOnScope(java.lang.String scope, java.lang.String desc)

    - #### void resetGrailsPluginsResolver()

      Resets the Grails plugin resolver if it is used

    - #### @java.lang.Override DependencyReport resolve(java.lang.String scope)

    - #### @java.lang.Override DependencyReport resolve()

    - #### @java.lang.Override DependencyReport resolveAgent()

    - #### org.apache.ivy.core.report.ResolveReport resolveAllDependencies()

      Resolves all dependencies for all known configurations

      Returns:
        A ResolveReport containing all of the configurations

    - #### java.util.List<org.apache.ivy.core.report.ArtifactDownloadReport> resolveApplicationDependencies(java.lang.String conf = '')

      Resolves only application dependencies and returns a list of the resolves JAR files

    - #### org.apache.ivy.core.report.ResolveReport resolveDependencies(org.apache.ivy.core.module.descriptor.Configuration conf)

    - #### org.apache.ivy.core.report.ResolveReport resolveDependencies(java.lang.String conf)

      Performs a resolve of all dependencies for the given configuration, potentially going out to the internet to download jars if they are not found locally

    - #### org.apache.ivy.core.report.ResolveReport resolveDependencies(java.lang.String conf, java.util.Map args)

      Performs a resolve of all dependencies for the given configuration, potentially going out to the internet to download jars if they are not found locally

    - #### org.apache.ivy.core.report.ResolveReport resolveDependencies()

      Performs a resolve of all dependencies, potentially going out to the internet to download jars if they are not found locally

    - #### @java.lang.Override DependencyReport resolveDependency(Dependency dependency)

    - #### java.util.List<org.apache.ivy.core.report.ArtifactDownloadReport> resolveExportedDependencies(java.lang.String conf = '')

      Resolves only plugin dependencies that should be exported to the application

    - #### org.apache.ivy.core.report.ResolveReport resolvePluginDependencies(java.lang.String conf = '', java.util.Map args = [:])

      Performs a resolve of declared plugin dependencies (zip files containing plugin distributions)

    - #### void serialize(java.lang.Object builder, boolean createRoot = true)

      Serializes the parsed dependencies using the given builder.

      deprecated:
        Will be removed in a future release
      Parameters:
        `builder` - A builder such as groovy.xml.MarkupBuilder