# MavenPluginRepository

API Documentation: | `MavenPluginRepository`

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

Represents a Maven repository which contains Gradle plugins.

### Properties

Property | Description
`authentication` | Incubating The authentication schemes for this repository.
`credentials` | Incubating The credentials of the specified type used to authenticate with this repository.

### Methods

Method | Description
`authentication(action)` | Incubating Configures the authentication schemes for this repository.
`credentials(credentialsType, action)` | Incubating Configures the credentials for this repository using the supplied action.
`credentials(action)` | Configures the username and password credentials for this repository using the supplied action.
`getUrl()` | Incubating The base URL of this repository. This URL is used to find Gradle plugins.
`setUrl(url)` | Incubating Sets the base URL of this repository. This URL is used to find Gradle plugins.

### Script blocks

No script blocks

### Property details

#### `AuthenticationContainer` `authentication` (read-only)

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

The authentication schemes for this repository.

#### `T` `credentials` (read-only)

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

The credentials of the specified type used to authenticate with this repository.

If no credentials have been assigned to this repository, an empty set of credentials of the specified type is assigned to this repository and returned.

### Method details

#### `void` `authentication`(``Action`<? super `AuthenticationContainer`>` action)

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

Configures the authentication schemes for this repository.

This method executes the given action against the `AuthenticationContainer` for this project. The `AuthenticationContainer` is passed to the closure as the closure's delegate.

If no authentication schemes have been assigned to this repository, a default set of authentication schemes are used based on the repository's transport scheme.

    repositories {
        maven {
            url "${url}"
            authentication {
                basic(BasicAuthentication)
            }
        }
    }

Supported authentication scheme types extend `Authentication`.

#### `void` `credentials`(``Class`<`T`>` credentialsType, ``Action`<? super `T`>` action)

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

Configures the credentials for this repository using the supplied action.

If no credentials have been assigned to this repository, an empty set of credentials of the specified type will be assigned to this repository and given to the configuration action. If credentials have already been specified for this repository, they will be passed to the given configuration action.

    repositories {
        maven {
            url "${url}"
            credentials(AwsCredentials) {
                accessKey "myAccessKey"
                secretKey "mySecret"
            }
        }
    }

The following credential types are currently supported for the `credentialsType` argument:

- `PasswordCredentials`
- `AwsCredentials`

#### `void` `credentials`(``Action`<? super `PasswordCredentials`>` action)

Configures the username and password credentials for this repository using the supplied action.

If no credentials have been assigned to this repository, an empty set of username and password credentials is assigned to this repository and passed to the action.

    repositories {
        maven {
            url "${url}"
            credentials {
                username = 'joe'
                password = 'secret'
            }
        }
    }

#### `URI` `getUrl`()

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

The base URL of this repository. This URL is used to find Gradle plugins.

#### `void` `setUrl`(`Object` url)

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

Sets the base URL of this repository. This URL is used to find Gradle plugins.

The provided value is evaluated relative to the build's directory. This means, for example, you can pass in a `File` object, or a relative path to be evaluated relative to the directory of the `settings.gradle` file in which this repository is declared.