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, withType
add, addAll, addRule, addRule, addRule, findByName, getAsMap, getCollectionSchema, getNamer, getNames, getRules, named, named, named, named
configure, create, create, create, maybeCreate, register, register
findAll, matching, matching, withType
Configuration getByName(java.lang.String name) throws UnknownConfigurationException
getByName
in interface NamedDomainObjectCollection<Configuration>
name
- The object nameUnknownConfigurationException
Configuration 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 nameUnknownConfigurationException
Configuration 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.UnknownConfigurationException
Configuration 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.UnknownConfigurationException
Configuration detachedConfiguration(Dependency... dependencies)
dependencies
- The dependencies of the configuration.