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.


Nested Class Summary
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)
          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(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(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(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 lazyly.
 FileCollection fileCollection(Spec<Dependency> dependencySpec)
          Resolves this configuration lazyly.
 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<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()
          Returns the artifacts of this configuration as a FileCollection, including artifacts of extended configurations.
 Set<PublishArtifact> getAllArtifacts()
          Returns the artifacts of this configuration including the artifacts of extended configurations.
 Set<Dependency> getAllDependencies()
          Gets the complete set of dependencies including those contributed by superconfigurations.
<T extends Dependency>
Set<T>
getAllDependencies(Class<T> type)
          Gets the set of dependencies of type T for this configuration including thos contributed by superconfigurations.
 Set<PublishArtifact> getArtifacts()
          Returns the artifacts of this configuration excluding the artifacts of extended configurations.
 TaskDependency getBuildArtifacts()
          Returns a TaskDependency object containing all required dependencies to build the artifacts belonging to this configuration or to one of its super configurations.
 TaskDependency getBuildDependencies()
          Returns a TaskDependency object containing all required dependencies to build the internal dependencies (e.g.
 Set<Dependency> getDependencies()
          Gets the set of dependencies directly contained in this configuration (ignoring superconfigurations).
<T extends Dependency>
Set<T>
getDependencies(Class<T> type)
          Gets the set of dependencies of type T directly contained in this configuration (ignoring superconfigurations).
 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.
 String getName()
          Returns the name of 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.
 void publish(List<org.apache.ivy.plugins.resolver.DependencyResolver> publishRepositories, File descriptorDestination)
          Publishes the artifacts of this configuration to the specified repositories.
 Configuration removeArtifact(PublishArtifact artifact)
          Removes an artifact from the artifacts to be published to 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

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

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 configuation that depend on this one based on the useDependOn argument.

Parameters:
useDependedOn - if true, add tasks from project dependencies in this conifguration, 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

TaskDependency getBuildArtifacts()
Returns a TaskDependency 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(List<org.apache.ivy.plugins.resolver.DependencyResolver> publishRepositories,
             File descriptorDestination)
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.
descriptorDestination - The destination dir for the descriptor file (if null no descriptor file is written).
See Also:
Upload, getUploadTaskName()

getDependencies

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

Returns:
the set of dependencies

getAllDependencies

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

Returns:
the set of dependencies

getDependencies

<T extends Dependency> Set<T> getDependencies(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> Set<T> getAllDependencies(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

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


getAllArtifacts

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


getAllArtifactFiles

FileCollection getAllArtifactFiles()
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

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

Parameters:
artifact - The artifact.
Returns:
this

removeArtifact

Configuration removeArtifact(PublishArtifact artifact)
Removes an artifact from the artifacts 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(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