api / org.gradle.api.artifacts / ConfigurationContainer

ConfigurationContainer

interface ConfigurationContainer : NamedDomainObjectContainer<Configuration>

A ConfigurationContainer is responsible for declaring and managing configurations. See also Configuration.

You can obtain a ConfigurationContainer instance by calling org.gradle.api.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 } 
Examples An example showing how to refer to a given configuration by name in order to get hold of all dependencies (e.g. jars, but only)
 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 Please see the Managing Dependency Configurations User Guide chapter for more information.

Functions

detachedConfiguration

abstract fun detachedConfiguration(vararg dependencies: Dependency): Configuration

Creates a configuration, but does not add it to this container.

getAt

abstract fun getAt(name: String): Configuration

{@inheritDoc}

getByName

abstract fun getByName(name: String): Configuration
abstract fun getByName(name: String, configureClosure: Closure<Any>): Configuration
abstract fun getByName(name: String, configureAction: Action<in Configuration>): Configuration

{@inheritDoc}

Inherited Functions

configure

abstract fun configure(configureClosure: Closure<Any>): NamedDomainObjectContainer<T>

Allows the container to be configured, creating missing objects as they are referenced.

TODO: example usage

create

abstract fun create(name: String): T

Creates a new item with the given name, adding it to this container.

abstract fun create(name: String, configureClosure: Closure<Any>): T

Creates a new item with the given name, adding it to this container, then configuring it with the given closure.

abstract fun create(name: String, configureAction: Action<in T>): T

Creates a new item with the given name, adding it to this container, then configuring it with the given action.

maybeCreate

abstract fun maybeCreate(name: String): T

Looks for an item with the given name, creating and adding it to this container if it does not exist.

Extension Properties

annotationProcessor

val ConfigurationContainer.annotationProcessor: Configuration

The 'annotationProcessor' configuration.

antlr

val ConfigurationContainer.antlr: Configuration

The 'antlr' configuration.

api

val ConfigurationContainer.api: Configuration

The 'api' configuration.

apiElements

val ConfigurationContainer.apiElements: Configuration

The 'apiElements' configuration.

archives

val ConfigurationContainer.archives: Configuration

The 'archives' configuration.

checkstyle

val ConfigurationContainer.checkstyle: Configuration

The 'checkstyle' configuration.

codenarc

val ConfigurationContainer.codenarc: Configuration

The 'codenarc' configuration.

coffeeScriptBasePluginJs

val ConfigurationContainer.coffeeScriptBasePluginJs: Configuration

The 'coffeeScriptBasePluginJs' configuration.

compile

val ConfigurationContainer.compile: Configuration

The 'compile' configuration.

compileClasspath

val ConfigurationContainer.compileClasspath: Configuration

The 'compileClasspath' configuration.

compileOnly

val ConfigurationContainer.compileOnly: Configuration

The 'compileOnly' configuration.

default

val ConfigurationContainer.default: Configuration

The 'default' configuration.

deploy

val ConfigurationContainer.deploy: Configuration

The 'deploy' configuration.

earlib

val ConfigurationContainer.earlib: Configuration

The 'earlib' configuration.

envJsPlugin

val ConfigurationContainer.envJsPlugin: Configuration

The 'envJsPlugin' configuration.

findbugs

val ConfigurationContainer.findbugs: Configuration

The 'findbugs' configuration.

findbugsPlugins

val ConfigurationContainer.findbugsPlugins: Configuration

The 'findbugsPlugins' configuration.

implementation

val ConfigurationContainer.implementation: Configuration

The 'implementation' configuration.

jacocoAgent

val ConfigurationContainer.jacocoAgent: Configuration

The 'jacocoAgent' configuration.

jacocoAnt

val ConfigurationContainer.jacocoAnt: Configuration

The 'jacocoAnt' configuration.

jdepend

val ConfigurationContainer.jdepend: Configuration

The 'jdepend' configuration.

jsHintPlugin

val ConfigurationContainer.jsHintPlugin: Configuration

The 'jsHintPlugin' configuration.

play

val ConfigurationContainer.play: Configuration

The 'play' configuration.

playPlatform

val ConfigurationContainer.playPlatform: Configuration

The 'playPlatform' configuration.

playRun

val ConfigurationContainer.playRun: Configuration

The 'playRun' configuration.

playTest

val ConfigurationContainer.playTest: Configuration

The 'playTest' configuration.

pmd

val ConfigurationContainer.pmd: Configuration

The 'pmd' configuration.

providedCompile

val ConfigurationContainer.providedCompile: Configuration

The 'providedCompile' configuration.

providedRuntime

val ConfigurationContainer.providedRuntime: Configuration

The 'providedRuntime' configuration.

rhinoPluginRhinoClasspath

val ConfigurationContainer.rhinoPluginRhinoClasspath: Configuration

The 'rhinoPluginRhinoClasspath' configuration.

runtime

val ConfigurationContainer.runtime: Configuration

The 'runtime' configuration.

runtimeClasspath

val ConfigurationContainer.runtimeClasspath: Configuration

The 'runtimeClasspath' configuration.

runtimeElements

val ConfigurationContainer.runtimeElements: Configuration

The 'runtimeElements' configuration.

runtimeOnly

val ConfigurationContainer.runtimeOnly: Configuration

The 'runtimeOnly' configuration.

signatures

val ConfigurationContainer.signatures: Configuration

The 'signatures' configuration.

testAnnotationProcessor

val ConfigurationContainer.testAnnotationProcessor: Configuration

The 'testAnnotationProcessor' configuration.

testCompile

val ConfigurationContainer.testCompile: Configuration

The 'testCompile' configuration.

testCompileClasspath

val ConfigurationContainer.testCompileClasspath: Configuration

The 'testCompileClasspath' configuration.

testCompileOnly

val ConfigurationContainer.testCompileOnly: Configuration

The 'testCompileOnly' configuration.

testImplementation

val ConfigurationContainer.testImplementation: Configuration

The 'testImplementation' configuration.

testRuntime

val ConfigurationContainer.testRuntime: Configuration

The 'testRuntime' configuration.

testRuntimeClasspath

val ConfigurationContainer.testRuntimeClasspath: Configuration

The 'testRuntimeClasspath' configuration.

testRuntimeOnly

val ConfigurationContainer.testRuntimeOnly: Configuration

The 'testRuntimeOnly' configuration.

zinc

val ConfigurationContainer.zinc: Configuration

The 'zinc' configuration.