java.util.Collection<Configuration>, Configurable<NamedDomainObjectContainer<Configuration>>, DomainObjectCollection<Configuration>, java.lang.Iterable<Configuration>, NamedDomainObjectCollection<Configuration>, NamedDomainObjectContainer<Configuration>, NamedDomainObjectSet<Configuration>, java.util.Set<Configuration>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
}
plugins {
id 'java' //so that I can use 'implementation', 'compileClasspath' configuration
}
dependencies {
implementation 'org.slf4j:slf4j-api:1.7.26'
}
//copying all dependencies attached to 'compileClasspath' into a specific folder
task copyAllDependencies(type: Copy) {
//referring to the 'compileClasspath' configuration
from configurations.compileClasspath
into 'allLibs'
}
An example showing how to declare and configure configurations
plugins {
id 'java' // so that I can use 'implementation', 'testImplementation' configurations
}
configurations {
//adding a configuration:
myConfiguration
//adding a configuration that extends existing configuration:
//(testImplementation was added by the java plugin)
myIntegrationTestsCompile.extendsFrom(testImplementation)
//configuring existing configurations not to put transitive dependencies on the compile classpath
//this way you can avoid issues with implicit dependencies to transitive libraries
compileClasspath.transitive = false
testCompileClasspath.transitive = false
}
Examples on configuring the resolution strategy - see docs for ResolutionStrategy
Please see the Managing Dependency Configurations User Manual chapter for more information.| Modifier and Type | Method | Description |
|---|---|---|
Configuration |
detachedConfiguration(Dependency... dependencies) |
Creates a configuration, but does not add it to this container.
|
Configuration |
getAt(java.lang.String name) |
Locates an object by name, failing if there is no such object.
|
Configuration |
getByName(java.lang.String name) |
Locates an object by name, failing if there is no such object.
|
Configuration |
getByName(java.lang.String name,
Closure configureClosure) |
Locates an object by name, failing if there is no such object.
|
Configuration |
getByName(java.lang.String name,
Action<? super Configuration> configureAction) |
Locates an object by name, failing if there is no such object.
|
addAllLater, addLater, all, all, configureEach, whenObjectAdded, whenObjectAdded, whenObjectRemoved, whenObjectRemoved, withType, withTypeadd, addAll, addRule, addRule, addRule, findByName, getAsMap, getCollectionSchema, getNamer, getNames, getRules, named, named, named, namedconfigure, create, create, create, maybeCreate, register, registerfindAll, matching, matching, withTypeConfiguration getByName(java.lang.String name) throws UnknownConfigurationException
getByName in interface NamedDomainObjectCollection<Configuration>name - The object nameUnknownConfigurationExceptionConfiguration getAt(java.lang.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(java.lang.String name, @DelegatesTo(Configuration.class) Closure configureClosure) throws UnknownConfigurationException
getByName in interface NamedDomainObjectCollection<Configuration>name - The object nameconfigureClosure - The closure to use to configure the object.UnknownConfigurationExceptionConfiguration getByName(java.lang.String name, Action<? super Configuration> configureAction) throws UnknownConfigurationException
getByName in interface NamedDomainObjectCollection<Configuration>name - The object nameconfigureAction - The action to use to configure the object.UnknownConfigurationExceptionConfiguration detachedConfiguration(Dependency... dependencies)
dependencies - The dependencies of the configuration.