public interface ConfigurationContainer extends NamedDomainObjectContainer<Configuration>
A ConfigurationContainer
is responsible for declaring and managing configurations. See also Configuration
.
You can obtain a ConfigurationContainer
instance by calling Project.getConfigurations()
,
or using the configurations
property in your build script.
The configurations in a container are accessible as read-only properties of the container, using the name of the configuration as the property name. For example:
configurations.add('myConfiguration') configurations.myConfiguration.transitive = false
A dynamic method is added for each configuration which takes a configuration closure. This is equivalent to
calling getByName(String, groovy.lang.Closure)
. For example:
configurations.add('myConfiguration') configurations.myConfiguration { transitive = false }
apply plugin: 'java' //so that I can use 'compile' configuration //copying all dependencies attached to 'compile' into a specific folder task copyAllDependencies(type: Copy) { //referring to the 'compile' configuration from configurations.compile into 'allLibs' }An example showing how to declare and configure configurations
apply plugin: 'java' //so that I can use 'compile', 'testCompile' configurations configurations { //adding a configuration: myConfiguration //adding a configuration that extends existing configuration: //(testCompile was added by the java plugin) myIntegrationTestsCompile.extendsFrom(testCompile) //configuring existing configurations not to put transitive dependencies on the compile classpath //this way you can avoid issues with implicit dependencies to transitive libraries compile.transitive = false testCompile.transitive = false }Examples on configuring the resolution strategy - see docs for
ResolutionStrategy
Modifier and Type | Method and Description |
---|---|
Configuration |
add(String name)
Adds a configuration with the given name.
|
Configuration |
add(String name,
Closure configureClosure)
Adds a configuration with the given name.
|
Configuration |
detachedConfiguration(Dependency... dependencies)
Creates a configuration, but does not add it to this container.
|
Configuration |
getAt(String name)
Locates an object by name, failing if there is no such task.
|
Configuration |
getByName(String name)
Locates an object by name, failing if there is no such object.
|
Configuration |
getByName(String name,
Closure configureClosure)
Locates an object by name, failing if there is no such object.
|
configure, create, create
findAll, matching, matching, withType
add, addAll, addRule, addRule, findByName, getAsMap, getNamer, getRules
all, all, whenObjectAdded, whenObjectAdded, whenObjectRemoved, whenObjectRemoved, withType, withType
Configuration getByName(String name) throws UnknownConfigurationException
getByName
in interface NamedDomainObjectCollection<Configuration>
name
- The object nameUnknownConfigurationException
Configuration getAt(String name) throws UnknownConfigurationException
NamedDomainObjectCollection.getByName(String)
. You can call this method in your build script by using the groovy []
operator.getAt
in interface NamedDomainObjectCollection<Configuration>
name
- The object nameUnknownConfigurationException
Configuration getByName(String name, Closure configureClosure) throws UnknownConfigurationException
getByName
in interface NamedDomainObjectCollection<Configuration>
name
- The object nameconfigureClosure
- The closure to use to configure the object.UnknownConfigurationException
Configuration add(String name) throws InvalidUserDataException
name
- The name of the new configuration.InvalidUserDataException
- when a configuration with the given name already exists in this container.Configuration add(String name, Closure configureClosure) throws InvalidUserDataException
name
- The name of the new configuration.configureClosure
- The closure to use to configure the configuration.InvalidUserDataException
- when a configuration with the given name already exists in this container.Configuration detachedConfiguration(Dependency... dependencies)
dependencies
- The dependencies of the configuration.