Package org.gradle.plugins.signing

## Class SignOperation

- java.lang.Object
- - org.gradle.plugins.signing.SignOperation

- All Implemented Interfaces:
    `SignatureSpec`

      public abstract class SignOperation
      extends Object
      implements SignatureSpec

  A sign operation creates digital signatures for one or more files or `publish artifacts`.

  The external representation of the signature is specified by the `signature type property`, while the `signatory` property specifies who is to sign.

  A sign operation manages one or more `Signature` objects. The `sign` methods are used to register things to generate signatures for. The `execute()` method generates the signatures for all of the registered items at that time.

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `SignOperation()` |

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `SignOperation` | `configure​(Closure closure)` | Executes the given closure against this object.
    `SignOperation` | `execute()` | Generates actual signature files for all of the registered signatures.
    `String` | `getDisplayName()` |
    `FileCollection` | `getFilesToSign()` | All of the files that will be signed by this operation.
    `Signatory` | `getSignatory()` | The signatory that will be performing the signing.
    `FileCollection` | `getSignatureFiles()` | All of the signature files that will be generated by this operation.
    `List<Signature>` | `getSignatures()` | The registered signatures.
    `SignatureType` | `getSignatureType()` | The signature representation that will be created.
    `Signature` | `getSingleSignature()` | Returns the single registered signature.
    `boolean` | `isRequired()` | Whether or not it is required that this signature be generated.
    `void` | `setRequired​(boolean required)` | Whether or not it is required that this signature be generated.
    `void` | `setSignatory​(Signatory signatory)` | Sets the signatory that will be signing the input.
    `void` | `setSignatureType​(SignatureType signatureType)` | Sets the signature representation that the signatures will be produced as.
    `SignOperation` | `sign​(File... files)` | Registers signatures for the given files.
    `SignOperation` | `sign​(String classifier, File... files)` | Registers signatures (with the given classifier) for the given files
    `SignOperation` | `sign​(PublishArtifact... artifacts)` | Registers signatures for the given artifacts.
    `SignOperation` | `signatory​(Signatory signatory)` | Change the signatory for signature generation.
    `SignOperation` | `signatureType​(SignatureType type)` | Change the signature type for signature generation.
    `protected abstract FileCollection` | `toFileCollection​(List<File> files)` |
    `String` | `toString()` |

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### SignOperation

          public SignOperation()

  - ### Method Detail

    - #### getDisplayName

          public String getDisplayName()

    - #### toString

          public String toString()

      Overrides:
        `toString` in class `Object`

    - #### setSignatureType

          public void setSignatureType​(SignatureType signatureType)

      Description copied from interface: `SignatureSpec`
      Sets the signature representation that the signatures will be produced as.
      Specified by:
        `setSignatureType` in interface `SignatureSpec`
      Parameters:
        `signatureType` - the signature type to use

    - #### getSignatureType

          public SignatureType getSignatureType()

      Description copied from interface: `SignatureSpec`
      The signature representation that will be created.
      Specified by:
        `getSignatureType` in interface `SignatureSpec`
      Returns:
        the signature type, or `null` if none specified.

    - #### setSignatory

          public void setSignatory​(Signatory signatory)

      Description copied from interface: `SignatureSpec`
      Sets the signatory that will be signing the input.
      Specified by:
        `setSignatory` in interface `SignatureSpec`
      Parameters:
        `signatory` - The signatory

    - #### getSignatory

          public Signatory getSignatory()

      Description copied from interface: `SignatureSpec`
      The signatory that will be performing the signing.
      Specified by:
        `getSignatory` in interface `SignatureSpec`
      Returns:
        the signatory, or `null` if none specified.

    - #### setRequired

          public void setRequired​(boolean required)

      Description copied from interface: `SignatureSpec`
      Whether or not it is required that this signature be generated.
      Specified by:
        `setRequired` in interface `SignatureSpec`
      Parameters:
        `required` - Whether or not it is required that this signature be generated.
      See Also:
        `SignatureSpec.isRequired()`

    - #### isRequired

          public boolean isRequired()

      Description copied from interface: `SignatureSpec`
      Whether or not it is required that this signature be generated. A signature may not be able to be generated if a signatory and/or a signature type have not been specified. If it is required and cannot be generated, an exception will be thrown. Otherwise, it will not be generated.
      Specified by:
        `isRequired` in interface `SignatureSpec`
      Returns:
        Whether or not it is required that this signature be generated.

    - #### sign

          public SignOperation sign​(PublishArtifact... artifacts)

      Registers signatures for the given artifacts.
      Returns:
        this
      See Also:
        `Signature(File, SignatureSpec, Object...)`

    - #### sign

          public SignOperation sign​(File... files)

      Registers signatures for the given files.
      Returns:
        this
      See Also:
        `Signature(File, SignatureSpec, Object...)`

    - #### sign

          public SignOperation sign​(String classifier,
                                    File... files)

      Registers signatures (with the given classifier) for the given files
      Returns:
        this
      See Also:
        `Signature(PublishArtifact, SignatureSpec, Object...)`

    - #### signatureType

          public SignOperation signatureType​(SignatureType type)

      Change the signature type for signature generation.

    - #### signatory

          public SignOperation signatory​(Signatory signatory)

      Change the signatory for signature generation.

    - #### configure

          public SignOperation configure​(Closure closure)

      Executes the given closure against this object.

    - #### execute

          public SignOperation execute()

      Generates actual signature files for all of the registered signatures.

      The signatures are generated with the configuration they have at this time, which includes the signature type and signatory of this operation at this time.

      This method can be called multiple times, with the signatures being generated with their current configuration each time.

      Returns:
        this
      See Also:
        `Signature.generate()`

    - #### getSignatures

          public List<Signature> getSignatures()

      The registered signatures.

    - #### getSingleSignature

          public Signature getSingleSignature()

      Returns the single registered signature.
      Returns:
        The signature.
      Throws:
        `IllegalStateException` - if there is not exactly one registered signature.

    - #### getFilesToSign

          public FileCollection getFilesToSign()

      All of the files that will be signed by this operation.

    - #### getSignatureFiles

          public FileCollection getSignatureFiles()

      All of the signature files that will be generated by this operation.

    - #### toFileCollection

          protected abstract FileCollection toFileCollection​(List<File> files)