# SigningExtension

API Documentation: | `SigningExtension`

The global signing configuration for a project.

### Properties

Property | Description
`required` | Whether this task should fail if no signatory or signature type are configured at generation time.
`signatory` | The signatory that will be used for signing when an explicit signatory has not been specified.
`signatureType` | The signature type that will be used for signing files when an explicit signature type has not been specified.

### Methods

Method | Description
`sign(closure)` | Creates a new `SignOperation` using the given closure to configure it before executing it.
`sign(files)` | Digitally signs the files, generating signature files alongside them.
`sign(classifier, files)` | Deprecated Digitally signs the files, generating signature files alongside them.
`sign(setup)` | Incubating Creates a new `SignOperation` using the given action to configure it before executing it.
`sign(publications)` | Creates signing tasks that sign all publishable artifacts of the given publication collection.
`sign(tasks)` | Creates signing tasks that depend on and sign the "archive" produced by the given tasks.
`sign(configurations)` | Creates signing tasks that sign `Configuration.getAllArtifacts()` of the given configurations.
`sign(publishArtifacts)` | Digitally signs the publish artifacts, generating signature files alongside them.
`sign(publications)` | Creates signing tasks that sign all publishable artifacts of the given publications.

### Script blocks

No script blocks

### Property details

#### `boolean` `required`

Whether this task should fail if no signatory or signature type are configured at generation time.

Defaults to `true`.

#### `Signatory` `signatory` (read-only)

The signatory that will be used for signing when an explicit signatory has not been specified.

Delegates to the signatory provider's default signatory.

#### `SignatureType` `signatureType` (read-only)

The signature type that will be used for signing files when an explicit signature type has not been specified.

Delegates to the signature type provider's default type.

### Method details

#### `SignOperation` `sign`(``Closure`<?>` closure)

Creates a new `SignOperation` using the given closure to configure it before executing it.

The project's default signatory and default signature type from the `SigningExtension` will be used to generate the signature. The returned `SignOperation` gives access to the created signature files.

If there is no configured default signatory available (and one is not explicitly specified in this operation's configuration), the sign operation will fail.

#### `SignOperation` `sign`(``File`...` files)

Digitally signs the files, generating signature files alongside them.

The project's default signatory and default signature type from the `SigningExtension` will be used to generate the signature. The returned `SignOperation` gives access to the created signature files.

If there is no configured default signatory available, the sign operation will fail.

#### `SignOperation` `sign`(`String` classifier, ``File`...` files)

Note: This method is deprecated and will be removed in the next major version of Gradle.

Digitally signs the files, generating signature files alongside them.

The project's default signatory and default signature type from the `SigningExtension` will be used to generate the signature. The returned `SignOperation` gives access to the created signature files.

If there is no configured default signatory available, the sign operation will fail.

#### `SignOperation` `sign`(``Action`<`SignOperation`>` setup)

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

Creates a new `SignOperation` using the given action to configure it before executing it.

The project's default signatory and default signature type from the `SigningExtension` will be used to generate the signature. The returned `SignOperation` gives access to the created signature files.

If there is no configured default signatory available (and one is not explicitly specified in this operation's configuration), the sign operation will fail.

#### ``List`<`Sign`>` `sign`(``DomainObjectCollection`<`Publication`>` publications)

Creates signing tasks that sign all publishable artifacts of the given publication collection.

The created tasks will be named "sign<publication name capitalized>Publication". That is, given a publication with the name "mavenJava" the created task will be named "signMavenJavaPublication". The signature artifacts for the created tasks are added to the publishable artifacts of the given publications.

#### ``List`<`Sign`>` `sign`(``Task`...` tasks)

Creates signing tasks that depend on and sign the "archive" produced by the given tasks.

The created tasks will be named "sign<input task name capitalized>". That is, given a task with the name "jar" the created task will be named "signJar".

If the task is not an `AbstractArchiveTask`, an `InvalidUserDataException` will be thrown.

The signature artifact for the created task is added to the `SigningExtension.getConfiguration()`.

#### ``List`<`Sign`>` `sign`(``Configuration`...` configurations)

Creates signing tasks that sign `Configuration.getAllArtifacts()` of the given configurations.

The created tasks will be named "sign<configuration name capitalized>". That is, given a configuration with the name "conf" the created task will be named "signConf". The signature artifacts for the created tasks are added to the `SigningExtension.getConfiguration()` for this settings object.

#### `SignOperation` `sign`(``PublishArtifact`...` publishArtifacts)

Digitally signs the publish artifacts, generating signature files alongside them.

The project's default signatory and default signature type from the `SigningExtension` will be used to generate the signature. The returned `SignOperation` gives access to the created signature files.

If there is no configured default signatory available, the sign operation will fail.

#### ``List`<`Sign`>` `sign`(``Publication`...` publications)

Creates signing tasks that sign all publishable artifacts of the given publications.

The created tasks will be named "sign<publication name capitalized>Publication". That is, given a publication with the name "mavenJava" the created task will be named "signMavenJavaPublication". The signature artifacts for the created tasks are added to the publishable artifacts of the given publications.