# DependencyCollector

API Documentation: | `DependencyCollector`

A `DependencyCollector` is used as part of a dependencies block in the DSL. A collector implements a single dependency scope and exposes the declared dependencies on `DependencyCollector.getDependencies()`.

To use a `DependencyCollector` as a source of dependencies, wire it to the appropriate `Configuration` with `Configuration.fromDependencyCollector(org.gradle.api.artifacts.dsl.DependencyCollector)`. Dependencies will be queried lazily.

Note: No mutations will be allowed after dependencies are read from a `DependencyCollector`.

### Properties

No properties

### Methods

Method | Description
`add(dependency, configuration)` | Add a dependency and configure it.
`add(dependencyNotation)` | Add a dependency.
`add(dependencyNotation, configuration)` | Add a dependency and configure it.
`add(dependency)` | Add a dependency.
`add(files)` | Add a dependency.
`add(files, configuration)` | Add a dependency and configure it.
`add(dependency)` | Add a dependency.
`add(dependency, configuration)` | Add a dependency and configure it.
`add(externalModule)` | Incubating Add a dependency.
`add(externalModule, configuration)` | Incubating Add a dependency and configure it.
`bundle(bundle)` | Incubating Add a bundle.
`bundle(bundle, configuration)` | Incubating Add a bundle and configure them.
`bundle(bundle)` | Incubating Add a bundle.
`bundle(bundle, configuration)` | Incubating Add a bundle and configure them.
`bundle(bundle)` | Incubating Add a bundle.
`bundle(bundle, configuration)` | Incubating Add a bundle and configure them.

### Script blocks

No script blocks

### Method details

#### `void` `add`(`D` dependency, ``Action`<? super `D`>` configuration)

Add a dependency and configure it.

#### `void` `add`(`CharSequence` dependencyNotation)

Add a dependency.

#### `void` `add`(`CharSequence` dependencyNotation, ``Action`<? super `ExternalModuleDependency`>` configuration)

Add a dependency and configure it.

#### `void` `add`(`Dependency` dependency)

Add a dependency.

#### `void` `add`(`FileCollection` files)

Add a dependency.

#### `void` `add`(`FileCollection` files, ``Action`<? super `FileCollectionDependency`>` configuration)

Add a dependency and configure it.

#### `void` `add`(``Provider`<? extends `Dependency`>` dependency)

Add a dependency.

#### `void` `add`(``Provider`<? extends `D`>` dependency, ``Action`<? super `D`>` configuration)

Add a dependency and configure it.

#### `void` `add`(``ProviderConvertible`<? extends `MinimalExternalModuleDependency`>` externalModule)

Note: This method is incubating and may change in a future version of Gradle.

Add a dependency.

#### `void` `add`(``ProviderConvertible`<? extends `MinimalExternalModuleDependency`>` externalModule, ``Action`<? super `ExternalModuleDependency`>` configuration)

Note: This method is incubating and may change in a future version of Gradle.

Add a dependency and configure it.

#### `void` `bundle`(``Iterable`<? extends `D`>` bundle)

Note: This method is incubating and may change in a future version of Gradle.

Add a bundle.

#### `void` `bundle`(``Iterable`<? extends `D`>` bundle, ``Action`<? super `D`>` configuration)

Note: This method is incubating and may change in a future version of Gradle.

Add a bundle and configure them.

#### `void` `bundle`(``Provider`<? extends `Iterable`<? extends `D`>>` bundle)

Note: This method is incubating and may change in a future version of Gradle.

Add a bundle.

#### `void` `bundle`(``Provider`<? extends `Iterable`<? extends `D`>>` bundle, ``Action`<? super `D`>` configuration)

Note: This method is incubating and may change in a future version of Gradle.

Add a bundle and configure them.

#### `void` `bundle`(``ProviderConvertible`<? extends `Iterable`<? extends `D`>>` bundle)

Note: This method is incubating and may change in a future version of Gradle.

Add a bundle.

#### `void` `bundle`(``ProviderConvertible`<? extends `Iterable`<? extends `D`>>` bundle, ``Action`<? super `D`>` configuration)

Note: This method is incubating and may change in a future version of Gradle.

Add a bundle and configure them.