org.gradle.api.artifacts
Interface Configuration

All Superinterfaces:
FileCollection, java.lang.Iterable<java.io.File>

public interface Configuration
extends FileCollection

A Configuration represents a group of artifacts and their dependencies.


Nested Class Summary
static class Configuration.State
          The states a configuration can be into.
 
Method Summary
 Configuration addArtifact(PublishArtifact artifact)
          Adds an artifact to be published to this configuration.
 void addDependency(Dependency dependency)
          Adds a dependency to this configuration
 Configuration copy()
          Creates a copy of this configuration that only contains the dependencies directly in this configuration (without contributions from superconfigurations).
 Configuration copy(groovy.lang.Closure dependencySpec)
          Takes a closure which gets coerced into a Spec.
 Configuration copy(Spec<Dependency> dependencySpec)
          Creates a copy of this configuration ignoring superconfigurations (see copy() but filtering the dependencies using the dependencySpec.
 Configuration copyRecursive()
          Creates a copy of this configuration that contains the dependencies directly in this configuration and those derived from superconfigurations.
 Configuration copyRecursive(groovy.lang.Closure dependencySpec)
          Takes a closure which gets coerced into a Spec.
 Configuration copyRecursive(Spec<Dependency> dependencySpec)
          Creates a copy of this configuration with dependencies from superconfigurations (see copyRecursive()) but filtering the dependencies using the dependencySpec.
 Configuration exclude(java.util.Map<java.lang.String,java.lang.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(groovy.lang.Closure dependencySpecClosure)
          Takes a closure which gets coerced into a Spec.
 FileCollection fileCollection(Dependency... dependencies)
          Resolves this configuration lazyly.
 FileCollection fileCollection(Spec<Dependency> dependencySpec)
          Resolves this configuration lazyly.
 java.util.Set<java.io.File> files(groovy.lang.Closure dependencySpecClosure)
          Takes a closure which gets coerced into a Spec.
 java.util.Set<java.io.File> files(Dependency... dependencies)
          Resolves this configuration.
 java.util.Set<java.io.File> files(Spec<Dependency> dependencySpec)
          Resolves this configuration.
 java.util.Set<Configuration> getAll()
          Returns all the configurations belonging to the same configuration container as this configuration (including this configuration).
 java.util.Set<PublishArtifact> getAllArtifacts()
          Returns the artifacts of this configuration including the artifacts of extended configurations.
 java.util.Set<Dependency> getAllDependencies()
          Gets the complete set of dependencies including those contributed by superconfigurations.
<T extends Dependency>
java.util.Set<T>
getAllDependencies(java.lang.Class<T> type)
          Gets the set of dependencies of type T for this configuration including thos contributed by superconfigurations.
 java.util.Set<PublishArtifact> getArtifacts()
          Returns the artifacts of this configuration excluding the artifacts of extended configurations.
 TaskDependency getBuildArtifacts()
          Returns a task dependencies object containing all required dependencies to build the artifacts belonging to this configuration or to one of its super configurations.
 TaskDependency getBuildDependencies()
          Returns a task dependencies object containing all required dependencies to build the internal dependencies (e.g.
 java.util.Set<Dependency> getDependencies()
          Gets the set of dependencies directly contained in this configuration (ignoring superconfigurations).
<T extends Dependency>
java.util.Set<T>
getDependencies(java.lang.Class<T> type)
          Gets the set of dependencies of type T directly contained in this configuration (ignoring superconfigurations).
 java.lang.String getDescription()
          Returns the description for this configuration.
 java.util.Set<ExcludeRule> getExcludeRules()
          Returns the exclude rules applied for resolving any dependency of this configuration.
 java.util.Set<Configuration> getExtendsFrom()
          Returns the names of the configurations which this configuration extends from.
 java.util.List<Configuration> getHierarchy()
          Gets a list including this configuration and all superconfigurations recursively.
 java.lang.String getName()
          Returns the name of this configuration.
 ResolvedConfiguration getResolvedConfiguration()
          Resolves this configuration.
 Configuration.State getState()
          Returns the state of the configuration.
 java.lang.String getUploadInternalTaskName()
          Returns the name of the task that upload the artifacts of this configuration to the internal Gradle repository used resolving inter-project dependencies.
 java.lang.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.
 void publish(java.util.List<org.apache.ivy.plugins.resolver.DependencyResolver> publishRepositories, PublishInstruction publishInstruction)
          Publishes the artifacts of this configuration to the specified repositories.
 java.util.Set<java.io.File> resolve()
          Resolves this configuration.
 Configuration setDescription(java.lang.String description)
          Sets the description for this configuration.
 Configuration setExtendsFrom(java.util.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.artifacts.FileCollection
getAsPath, getFiles, getSingleFile, plus
 
Methods inherited from interface java.lang.Iterable
iterator
 

Method Detail

getState

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

See Also:
Configuration.State

getName

java.lang.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

java.util.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(java.util.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

java.lang.String getDescription()
Returns the description for this configuration.

Returns:
the description. May be null.

setDescription

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

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

getHierarchy

java.util.List<Configuration> getHierarchy()
Gets a list including this configuration and all superconfigurations recursively.

Returns:
the list of all configurations

resolve

java.util.Set<java.io.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

java.util.Set<java.io.File> files(groovy.lang.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

java.util.Set<java.io.File> files(Spec<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

java.util.Set<java.io.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<Dependency> dependencySpec)
Resolves this configuration lazyly. 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(groovy.lang.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 lazyly. 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

getUploadInternalTaskName

java.lang.String getUploadInternalTaskName()
Returns the name of the task that upload the artifacts of this configuration to the internal Gradle repository used resolving inter-project dependencies.


getUploadTaskName

java.lang.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 task dependencies 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.

Returns:
a task dependency object

getBuildArtifacts

TaskDependency getBuildArtifacts()
Returns a task dependencies object containing all required dependencies to build the artifacts belonging to this configuration or to one of its super configurations.

Returns:
a task dependency object

publish

void publish(java.util.List<org.apache.ivy.plugins.resolver.DependencyResolver> publishRepositories,
             PublishInstruction publishInstruction)
Publishes the artifacts of this configuration to the specified repositories. This method is usually used only internally as the users use the associated upload tasks to upload the artifacts.

Parameters:
publishRepositories - The repositories to publish the artifacts to.
publishInstruction - Instructions for details of the upload.
See Also:
Upload, getUploadTaskName()

getDependencies

java.util.Set<Dependency> getDependencies()
Gets the set of dependencies directly contained in this configuration (ignoring superconfigurations).

Returns:
the set of dependencies

getAllDependencies

java.util.Set<Dependency> getAllDependencies()
Gets the complete set of dependencies including those contributed by superconfigurations.

Returns:
the set of dependencies

getDependencies

<T extends Dependency> java.util.Set<T> getDependencies(java.lang.Class<T> type)
Gets the set of dependencies of type T directly contained in this configuration (ignoring superconfigurations).

Type Parameters:
T - the dependency type
Parameters:
type - the dependency type
Returns:
The set. Returns an empty set if there are no such dependencies.

getAllDependencies

<T extends Dependency> java.util.Set<T> getAllDependencies(java.lang.Class<T> type)
Gets the set of dependencies of type T for this configuration including thos contributed by superconfigurations.

Type Parameters:
T - the dependency type
Parameters:
type - the dependency type
Returns:
The set. Returns an empty set if there are no such dependencies.

addDependency

void addDependency(Dependency dependency)
Adds a dependency to this configuration

Parameters:
dependency - The dependency to be added.

getArtifacts

java.util.Set<PublishArtifact> getArtifacts()
Returns the artifacts of this configuration excluding the artifacts of extended configurations.


getAllArtifacts

java.util.Set<PublishArtifact> getAllArtifacts()
Returns the artifacts of this configuration including the artifacts of extended configurations.


getExcludeRules

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

See Also:
exclude(java.util.Map)

exclude

Configuration exclude(java.util.Map<java.lang.String,java.lang.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

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


addArtifact

Configuration addArtifact(PublishArtifact artifact)
Adds an artifact to be published to this configuration.

Parameters:
artifact - The artifact.
Returns:
this

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 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

copy

Configuration copy(Spec<Dependency> dependencySpec)
Creates a copy of this configuration ignoring superconfigurations (see copy() but filtering the dependencies using the dependencySpec. The dependencySpec may be obtained from DependencySpecs.type() like DependencySpecs.type(Type.EXTERNAL)

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

copyRecursive

Configuration copyRecursive(Spec<Dependency> dependencySpec)
Creates a copy of this configuration with dependencies from superconfigurations (see copyRecursive()) but filtering the dependencies using the dependencySpec. The dependencySpec may be obtained from DependencySpecs.type() like DependencySpecs.type(Type.EXTERNAL)

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

copy

Configuration copy(groovy.lang.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(groovy.lang.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