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.create('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.create('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 |
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, create, maybeCreatefindAll, matching, matching, withTypeadd, addAll, addRule, addRule, findByName, getAsMap, getNamer, getNames, getRulesall, all, whenObjectAdded, whenObjectAdded, whenObjectRemoved, whenObjectRemoved, withType, withTypeConfiguration getByName(String name) throws UnknownConfigurationException
getByName in interface NamedDomainObjectCollection<Configuration>name - The object nameUnknownConfigurationExceptionConfiguration 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 nameUnknownConfigurationExceptionConfiguration getByName(String name, Closure configureClosure) throws UnknownConfigurationException
getByName in interface NamedDomainObjectCollection<Configuration>name - The object nameconfigureClosure - The closure to use to configure the object.UnknownConfigurationExceptionConfiguration detachedConfiguration(Dependency... dependencies)
dependencies - The dependencies of the configuration.