org.gradle.api.artifacts
Interface Configuration

All Superinterfaces:
org.gradle.api.tasks.AntBuilderAware, Buildable, FileCollection, Iterable<File>

public interface Configuration
extends FileCollection

A Configuration represents a group of artifacts and their dependencies.

See also examples on managing configurations in ConfigurationContainer


Nested Class Summary
static class Configuration.Namer
          A Namer namer for configurations that returns getName().
static class Configuration.State
          The states a configuration can be into.
 
Nested classes/interfaces inherited from interface org.gradle.api.file.FileCollection
FileCollection.AntType
 
Method Summary
 Configuration addArtifact(PublishArtifact artifact)
          Deprecated. Use Collection.add(Object) on getArtifacts() instead.
 void addDependency(Dependency dependency)
          Deprecated. Use Collection.add(Object) on getDependencies() instead.
 Configuration copy()
          Creates a copy of this configuration that only contains the dependencies directly in this configuration (without contributions from superconfigurations).
 Configuration copy(Closure dependencySpec)
          Takes a closure which gets coerced into a Spec.
 Configuration copy(Spec<? super Dependency> dependencySpec)
          Creates a copy of this configuration ignoring superconfigurations (see copy() but filtering the dependencies using the specified dependency spec.
 Configuration copyRecursive()
          Creates a copy of this configuration that contains the dependencies directly in this configuration and those derived from superconfigurations.
 Configuration copyRecursive(Closure dependencySpec)
          Takes a closure which gets coerced into a Spec.
 Configuration copyRecursive(Spec<? super Dependency> dependencySpec)
          Creates a copy of this configuration with dependencies from superconfigurations (see copyRecursive()) but filtering the dependencies using the dependencySpec.
 Configuration exclude(Map<String,String> excludeProperties)
          Adds an exclude rule to exclude transitive dependencies for all dependencies of this configuration.
 Configuration extendsFrom(Configuration... superConfigs)
          Adds the given configurations to the set of configuration which this configuration extends from.
 FileCollection fileCollection(Closure dependencySpecClosure)
          Takes a closure which gets coerced into a Spec.
 FileCollection fileCollection(Dependency... dependencies)
          Resolves this configuration lazily.
 FileCollection fileCollection(Spec<? super Dependency> dependencySpec)
          Resolves this configuration lazily.
 Set<File> files(Closure dependencySpecClosure)
          Takes a closure which gets coerced into a Spec.
 Set<File> files(Dependency... dependencies)
          Resolves this configuration.
 Set<File> files(Spec<? super Dependency> dependencySpec)
          Resolves this configuration.
 Set<Configuration> getAll()
          Returns all the configurations belonging to the same configuration container as this configuration (including this configuration).
 FileCollection getAllArtifactFiles()
          Deprecated. Use PublishArtifactSet.getFiles() on getAllArtifacts() instead.
 PublishArtifactSet getAllArtifacts()
          Returns the artifacts of this configuration including the artifacts of extended configurations.
 DependencySet getAllDependencies()
          Gets the complete set of dependencies including those contributed by superconfigurations.
<T extends Dependency>
DomainObjectSet<T>
getAllDependencies(Class<T> type)
          Deprecated. Use DomainObjectSet.withType(Class) on getAllDependencies() instead.
 PublishArtifactSet getArtifacts()
          Returns the artifacts of this configuration excluding the artifacts of extended configurations.
 TaskDependency getBuildArtifacts()
          Deprecated. Use Buildable.getBuildDependencies() on getAllArtifacts() instead.
 TaskDependency getBuildDependencies()
          Returns a TaskDependency object containing all required dependencies to build the internal dependencies (e.g.
 DependencySet getDependencies()
          Gets the set of dependencies directly contained in this configuration (ignoring superconfigurations).
<T extends Dependency>
DomainObjectSet<T>
getDependencies(Class<T> type)
          Deprecated. Use DomainObjectSet.withType(Class) on getDependencies() instead.
 String getDescription()
          Returns the description for this configuration.
 Set<ExcludeRule> getExcludeRules()
          Returns the exclude rules applied for resolving any dependency of this configuration.
 Set<Configuration> getExtendsFrom()
          Returns the names of the configurations which this configuration extends from.
 Set<Configuration> getHierarchy()
          Gets a ordered set including this configuration and all superconfigurations recursively.
 ResolvableDependencies getIncoming()
          Returns the incoming dependencies of this configuration.
 String getName()
          Returns the name of this configuration.
 ResolutionStrategy getResolutionStrategy()
          Returns the resolution strategy used by this configuration.
 ResolvedConfiguration getResolvedConfiguration()
          Resolves this configuration.
 Configuration.State getState()
          Returns the state of the configuration.
 TaskDependency getTaskDependencyFromProjectDependency(boolean useDependedOn, String taskName)
          Returns a TaskDependency object containing dependencies on all tasks with the specified name from project dependencies related to this configuration or one of its super configurations.
 String getUploadTaskName()
          Returns the name of the task that upload the artifacts of this configuration to repositories declared by the user.
 boolean isTransitive()
          Returns the transitivity of this configuration.
 boolean isVisible()
          Returns true if this is a visible configuration.
 Configuration removeArtifact(PublishArtifact artifact)
          Deprecated. Use Collection.remove(Object) on getArtifacts() instead.
 Configuration resolutionStrategy(Closure closure)
          The resolution strategy provides extra details on how to resolve this configuration.
 Set<File> resolve()
          Resolves this configuration.
 Configuration setDescription(String description)
          Sets the description for this configuration.
 Configuration setExtendsFrom(Set<Configuration> superConfigs)
          Sets the configurations which this configuration extends from.
 Configuration setTransitive(boolean t)
          Sets the transitivity of this configuration.
 Configuration setVisible(boolean visible)
          Sets the visibility of this configuration.
 
Methods inherited from interface org.gradle.api.file.FileCollection
add, addToAntBuilder, addToAntBuilder, asType, contains, filter, filter, getAsFileTree, getAsPath, getFiles, getSingleFile, isEmpty, minus, plus, stopExecutionIfEmpty
 
Methods inherited from interface java.lang.Iterable
iterator
 

Method Detail

getResolutionStrategy

ResolutionStrategy getResolutionStrategy()
Returns the resolution strategy used by this configuration. The resolution strategy provides extra details on how to resolve this configuration. See docs for ResolutionStrategy for more info and examples.

Returns:
resolution strategy
Since:
1.0-milestone-6

resolutionStrategy

Configuration resolutionStrategy(Closure closure)
The resolution strategy provides extra details on how to resolve this configuration. See docs for ResolutionStrategy for more info and examples.

Parameters:
closure - closure applied to the ResolutionStrategy
Returns:
this configuration instance
Since:
1.0-milestone-6

getState

Configuration.State getState()
Returns the state of the configuration.

See Also:
Configuration.State

getName

String getName()
Returns the name of this configuration.

Returns:
The configuration name, never null.

isVisible

boolean isVisible()
Returns true if this is a visible configuration. A visible configuration is usable outside the project it belongs to. The default value is true.

Returns:
true if this is a visible configuration.

setVisible

Configuration setVisible(boolean visible)
Sets the visibility of this configuration. When visible is set to true, this configuration is visibile outside the project it belongs to. The default value is true.

Parameters:
visible - true if this is a visible configuration
Returns:
this configuration

getExtendsFrom

Set<Configuration> getExtendsFrom()
Returns the names of the configurations which this configuration extends from. The artifacts of the super configurations are also available in this configuration.

Returns:
The super configurations. Returns an empty set when this configuration does not extend any others.

setExtendsFrom

Configuration setExtendsFrom(Set<Configuration> superConfigs)
Sets the configurations which this configuration extends from.

Parameters:
superConfigs - The super configuration. Should not be null.
Returns:
this configuration

extendsFrom

Configuration extendsFrom(Configuration... superConfigs)
Adds the given configurations to the set of configuration which this configuration extends from.

Parameters:
superConfigs - The super configurations.
Returns:
this configuration

isTransitive

boolean isTransitive()
Returns the transitivity of this configuration. A transitive configuration contains the transitive closure of its direct dependencies, and all their dependencies. An intransitive configuration contains only the direct dependencies. The default value is true.

Returns:
true if this is a transitive configuration, false otherwise.

setTransitive

Configuration setTransitive(boolean t)
Sets the transitivity of this configuration. When set to true, this configuration will contain the transitive closure of its dependencies and their dependencies. The default value is true.

Parameters:
t - true if this is a transitive configuration.
Returns:
this configuration

getDescription

String getDescription()
Returns the description for this configuration.

Returns:
the description. May be null.

setDescription

Configuration setDescription(String description)
Sets the description for this configuration.

Parameters:
description - the description. May be null
Returns:
this configuration

getHierarchy

Set<Configuration> getHierarchy()
Gets a ordered set including this configuration and all superconfigurations recursively.

Returns:
the list of all configurations

resolve

Set<File> resolve()
Resolves this configuration. This locates and downloads the files which make up this configuration, and returns the resulting set of files.

Returns:
The files of this configuration.

files

Set<File> files(Closure dependencySpecClosure)
Takes a closure which gets coerced into a Spec. Behaves otherwise in the same way as files(org.gradle.api.specs.Spec).

Parameters:
dependencySpecClosure - The closure describing a filter applied to the all the dependencies of this configuration (including dependencies from extended configurations).
Returns:
The files of a subset of dependencies of this configuration.

files

Set<File> files(Spec<? super Dependency> dependencySpec)
Resolves this configuration. This locates and downloads the files which make up this configuration. But only the resulting set of files belonging to the subset of dependencies specified by the dependencySpec is returned.

Parameters:
dependencySpec - The spec describing a filter applied to the all the dependencies of this configuration (including dependencies from extended configurations).
Returns:
The files of a subset of dependencies of this configuration.

files

Set<File> files(Dependency... dependencies)
Resolves this configuration. This locates and downloads the files which make up this configuration. But only the resulting set of files belonging to the specified dependencies is returned.

Parameters:
dependencies - The dependences to be resolved
Returns:
The files of a subset of dependencies of this configuration.

fileCollection

FileCollection fileCollection(Spec<? super Dependency> dependencySpec)
Resolves this configuration lazily. The resolve happens when the elements of the returned FileCollection get accessed the first time. This locates and downloads the files which make up this configuration. Only the resulting set of files belonging to the subset of dependencies specified by the dependencySpec is contained in the FileCollection.

Parameters:
dependencySpec - The spec describing a filter applied to the all the dependencies of this configuration (including dependencies from extended configurations).
Returns:
The FileCollection with a subset of dependencies of this configuration.

fileCollection

FileCollection fileCollection(Closure dependencySpecClosure)
Takes a closure which gets coerced into a Spec. Behaves otherwise in the same way as fileCollection(org.gradle.api.specs.Spec).

Parameters:
dependencySpecClosure - The closure describing a filter applied to the all the dependencies of this configuration (including dependencies from extended configurations).
Returns:
The FileCollection with a subset of dependencies of this configuration.

fileCollection

FileCollection fileCollection(Dependency... dependencies)
Resolves this configuration lazily. The resolve happens when the elements of the returned FileCollection get accessed the first time. This locates and downloads the files which make up this configuration. Only the resulting set of files belonging to specified dependencies is contained in the FileCollection.

Parameters:
dependencies - The dependencies for which the FileCollection should contain the files.
Returns:
The FileCollection with a subset of dependencies of this configuration.

getResolvedConfiguration

ResolvedConfiguration getResolvedConfiguration()
Resolves this configuration. This locates and downloads the files which make up this configuration, and returns a ResolvedConfiguration that may be used to determine information about the resolve (including errors).

Returns:
The ResolvedConfiguration object

getUploadTaskName

String getUploadTaskName()
Returns the name of the task that upload the artifacts of this configuration to repositories declared by the user.

See Also:
Upload

getBuildDependencies

TaskDependency getBuildDependencies()
Returns a TaskDependency object containing all required dependencies to build the internal dependencies (e.g. project dependencies) belonging to this configuration or to one of its super configurations.

Specified by:
getBuildDependencies in interface Buildable
Returns:
a TaskDependency object

getTaskDependencyFromProjectDependency

TaskDependency getTaskDependencyFromProjectDependency(boolean useDependedOn,
                                                      String taskName)
Returns a TaskDependency object containing dependencies on all tasks with the specified name from project dependencies related to this configuration or one of its super configurations. These other projects may be projects this configuration depends on or projects with a similarly named configuration that depend on this one based on the useDependOn argument.

Parameters:
useDependedOn - if true, add tasks from project dependencies in this configuration, otherwise use projects from configurations with the same name that depend on this one.
taskName - name of task to depend on
Returns:
the populated TaskDependency object

getBuildArtifacts

@Deprecated
TaskDependency getBuildArtifacts()
Deprecated. Use Buildable.getBuildDependencies() on getAllArtifacts() instead.

Returns a TaskDependency object containing all required tasks to build the artifacts belonging to this configuration or to one of its super configurations.

Returns:
a task dependency object

getDependencies

DependencySet getDependencies()
Gets the set of dependencies directly contained in this configuration (ignoring superconfigurations).

Returns:
the set of dependencies

getAllDependencies

DependencySet getAllDependencies()

Gets the complete set of dependencies including those contributed by superconfigurations.

Returns:
the (read-only) set of dependencies

getDependencies

@Deprecated
<T extends Dependency> DomainObjectSet<T> getDependencies(Class<T> type)
Deprecated. Use DomainObjectSet.withType(Class) on getDependencies() instead.

Gets the set of dependencies of type T directly contained in this configuration (ignoring superconfigurations).

The returned set is live, in that any future dependencies added to this configuration that match the type will appear in the returned set.

Type Parameters:
T - the dependency type
Parameters:
type - the dependency type
Returns:
The (read-only) set.

getAllDependencies

@Deprecated
<T extends Dependency> DomainObjectSet<T> getAllDependencies(Class<T> type)
Deprecated. Use DomainObjectSet.withType(Class) on getAllDependencies() instead.

Gets the set of dependencies of type T for this configuration including those contributed by superconfigurations.

The returned set is live, in that any future dependencies added to this configuration that match the type will appear in the returned set.

Type Parameters:
T - the dependency type
Parameters:
type - the dependency type
Returns:
The (read-only) set.

addDependency

@Deprecated
void addDependency(Dependency dependency)
Deprecated. Use Collection.add(Object) on getDependencies() instead.

Adds a dependency to this configuration.

Parameters:
dependency - The dependency to be added.

getArtifacts

PublishArtifactSet getArtifacts()
Returns the artifacts of this configuration excluding the artifacts of extended configurations.

Returns:
The set.

getAllArtifacts

PublishArtifactSet getAllArtifacts()
Returns the artifacts of this configuration including the artifacts of extended configurations.

Returns:
The (read-only) set.

getAllArtifactFiles

@Deprecated
FileCollection getAllArtifactFiles()
Deprecated. Use PublishArtifactSet.getFiles() on getAllArtifacts() instead.

Returns the artifacts of this configuration as a FileCollection, including artifacts of extended configurations.

Returns:
the artifact files.

getExcludeRules

Set<ExcludeRule> getExcludeRules()
Returns the exclude rules applied for resolving any dependency of this configuration.

See Also:
exclude(java.util.Map)

exclude

Configuration exclude(Map<String,String> excludeProperties)
Adds an exclude rule to exclude transitive dependencies for all dependencies of this configuration. You can also add exclude rules per-dependency. See ModuleDependency.exclude(java.util.Map).

Parameters:
excludeProperties - the properties to define the exclude rule.
Returns:
this

getAll

Set<Configuration> getAll()
Returns all the configurations belonging to the same configuration container as this configuration (including this configuration).


addArtifact

@Deprecated
Configuration addArtifact(PublishArtifact artifact)
Deprecated. Use Collection.add(Object) on getArtifacts() instead.

Adds an artifact to be published to this configuration.

Parameters:
artifact - The artifact.
Returns:
this

removeArtifact

@Deprecated
Configuration removeArtifact(PublishArtifact artifact)
Deprecated. Use Collection.remove(Object) on getArtifacts() instead.

Removes an artifact from the artifacts to be published to this configuration.

Parameters:
artifact - The artifact.
Returns:
this

getIncoming

ResolvableDependencies getIncoming()
Returns the incoming dependencies of this configuration.

Returns:
The incoming dependencies of this configuration. Never null.

copy

Configuration copy()
Creates a copy of this configuration that only contains the dependencies directly in this configuration (without contributions from superconfigurations). The new configuation will be in the UNRESOLVED state, but will retain all other attributes of this configuration except superconfigurations. getHierarchy() for the copy will not include any superconfigurations.

Returns:
copy of this configuration

copyRecursive

Configuration copyRecursive()
Creates a copy of this configuration that contains the dependencies directly in this configuration and those derived from superconfigurations. The new configuration will be in the UNRESOLVED state, but will retain all other attributes of this configuration except superconfigurations. getHierarchy() for the copy will not include any superconfigurations.

Returns:
copy of this configuration

copy

Configuration copy(Spec<? super Dependency> dependencySpec)
Creates a copy of this configuration ignoring superconfigurations (see copy() but filtering the dependencies using the specified dependency spec.

Parameters:
dependencySpec - filtering requirements
Returns:
copy of this configuration

copyRecursive

Configuration copyRecursive(Spec<? super Dependency> dependencySpec)
Creates a copy of this configuration with dependencies from superconfigurations (see copyRecursive()) but filtering the dependencies using the dependencySpec.

Parameters:
dependencySpec - filtering requirements
Returns:
copy of this configuration

copy

Configuration copy(Closure dependencySpec)
Takes a closure which gets coerced into a Spec. Behaves otherwise in the same way as copy(org.gradle.api.specs.Spec)

Parameters:
dependencySpec - filtering requirements
Returns:
copy of this configuration

copyRecursive

Configuration copyRecursive(Closure dependencySpec)
Takes a closure which gets coerced into a Spec. Behaves otherwise in the same way as copyRecursive(org.gradle.api.specs.Spec)

Parameters:
dependencySpec - filtering requirements
Returns:
copy of this configuration