# Class Sign

java.lang.Object
org.gradle.api.internal.AbstractTask
org.gradle.api.DefaultTask
org.gradle.plugins.signing.Sign

All Implemented Interfaces:
  `Comparable<Task>, org.gradle.api.internal.DynamicObjectAware, org.gradle.api.internal.TaskInternal, Named, ExtensionAware, Task, SignatureSpec, Configurable<Task>`

@DisableCachingByDefault(because="Not made cacheable, yet") public abstract class Sign extends DefaultTask implements SignatureSpec
A task for creating digital signature files for one or more; tasks, files, publishable artifacts or configurations.

The task produces `Signature`

objects that are publishable artifacts and can be assigned to another configuration.

The signature objects are created with defaults and using this tasks signatory and signature type.

Since:
  1.0

- ## Nested Class Summary

  ### Nested classes/interfaces inherited from interface Named

  `Named.Namer`

- ## Field Summary

  ### Fields inherited from interface Task

  `TASK_ACTION, TASK_CONSTRUCTOR_ARGS, TASK_DEPENDS_ON, TASK_DESCRIPTION, TASK_GROUP, TASK_NAME, TASK_OVERWRITE, TASK_TYPE`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `Sign()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `generate()`
  Generates the signature files.
  `protected abstract org.gradle.api.internal.CollectionCallbackActionDecorator`
  `getCallbackActionDecorator()`
  Required for decorating reports container callbacks for tracing user code application.
  `protected abstract org.gradle.api.internal.DocumentationRegistry`
  `getDocumentationRegistry()`
  `protected abstract org.gradle.api.internal.file.FileCollectionFactory`
  `getFileCollectionFactory()`
  `FileCollection`
  `getFilesToSign()`
  All of the files that will be signed by this task.
  `Map<String, Signature.Generator>`
  `getGeneratorsByKey()`
  The signature generators for this task mapped by a unique key used for up-to-date checking.
  `protected abstract ObjectFactory`
  `getObjectFactory()`
  `protected abstract Problems`
  `getProblems()`
  `Signatory`
  `getSignatory()`
  Returns the signatory for this signing task.
  `FileCollection`
  `getSignatureFiles()`
  All of the signature files that will be generated by this operation.
  `DomainObjectSet<Signature>`
  `getSignatures()`
  The signatures generated by this task.
  `Map<String, Signature>`
  `getSignaturesByKey()`
  The signatures generated by this task mapped by a unique key used for up-to-date checking.
  `SignatureType`
  `getSignatureType()`
  The signature representation that will be created.
  `Signature`
  `getSingleSignature()`
  Returns the single signature generated by this task.
  `boolean`
  `isRequired()`
  Whether or not this task should fail if no signatory or signature type are configured at generation time.
  `void`
  `required(boolean required)`
  Change whether or not this task should fail if no signatory or signature type are configured at the time of generation.
  `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.
  `void`
  `sign(File... files)`
  Configures the task to sign each of the given files
  `void`
  `sign(String classifier, File... files)`
  Configures the task to sign each of the given artifacts, using the given classifier as the classifier for the resultant signature publish artifact.
  `void`
  `sign(Configuration... configurations)`
  Configures the task to sign every artifact of the given configurations
  `void`
  `sign(PublishArtifact... publishArtifacts)`
  Configures the task to sign each of the given artifacts
  `void`
  `sign(Publication... publications)`
  Configures the task to sign every artifact of the given publications
  `void`
  `sign(Task... tasks)`
  Configures the task to sign the archive produced for each of the given tasks (which must be archive tasks).
  `void`
  `signatory(Signatory signatory)`
  Changes the signatory of the signatures.

  ### Methods inherited from class DefaultTask

  `compareTo, configure, dependsOn, doFirst, doFirst, doFirst, doLast, doLast, doLast, finalizedBy, getActions, getAnt, getDependsOn, getDescription, getDestroyables, getDidWork, getEnabled, getExtensions, getFinalizedBy, getGroup, getInputs, getLocalState, getLogger, getLogging, getMustRunAfter, getName, getOutputs, getPath, getProject, getShouldRunAfter, getState, getTaskDependencies, getTemporaryDir, getTimeout, hasProperty, mustRunAfter, onlyIf, onlyIf, onlyIf, property, setActions, setDependsOn, setDescription, setDidWork, setEnabled, setFinalizedBy, setGroup, setMustRunAfter, setOnlyIf, setOnlyIf, setOnlyIf, setProperty, setShouldRunAfter, shouldRunAfter, usesService`

  ### Methods inherited from class org.gradle.api.internal.AbstractTask

  `acceptServiceReferences, appendParallelSafeAction, doNotTrackState, doNotTrackStateIf, getAsDynamicObject, getIdentityPath, getImpliesSubProjects, getLifecycleDependencies, getLoggingManager, getOnlyIf, getReasonNotToTrackState, getReasonsNotToTrackState, getReasonTaskIsIncompatibleWithConfigurationCache, getRequiredServices, getServices, getSharedResources, getStandardOutputCapture, getTaskActions, getTaskIdentity, getTemporaryDirFactory, hasTaskActions, injectIntoNewInstance, isCompatibleWithConfigurationCache, isEnabled, isHasCustomActions, notCompatibleWithConfigurationCache, prependParallelSafeAction, restoreOnlyIf, restoreTaskActions, service, setImpliesSubProjects`

  ### Methods inherited from class Object

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

  ### Methods inherited from interface Task

  `doNotTrackState, notCompatibleWithConfigurationCache, service`

- ## Constructor Details

  - ### Sign

    @Inject public Sign()

- ## Method Details

  - ### getProblems

    @Inject protected abstract Problems getProblems()

  - ### getDocumentationRegistry

    @Inject protected abstract org.gradle.api.internal.DocumentationRegistry getDocumentationRegistry()

  - ### sign

    public void sign(Task... tasks)
    Configures the task to sign the archive produced for each of the given tasks (which must be archive tasks).
    Since:
      1.0

  - ### sign

    public void sign(PublishArtifact... publishArtifacts)
    Configures the task to sign each of the given artifacts
    Since:
      1.0

  - ### sign

    public void sign(File... files)
    Configures the task to sign each of the given files
    Since:
      1.0

  - ### sign

    public void sign(String classifier, File... files)
    Configures the task to sign each of the given artifacts, using the given classifier as the classifier for the resultant signature publish artifact.
    Since:
      1.0

  - ### sign

    public void sign(Configuration... configurations)
    Configures the task to sign every artifact of the given configurations
    Since:
      1.0

  - ### sign

    public void sign(Publication... publications)
    Configures the task to sign every artifact of the given publications
    Since:
      4.8

  - ### signatory

    public void signatory(Signatory signatory)
    Changes the signatory of the signatures.
    Since:
      1.0

  - ### required

    public void required(boolean required)
    Change whether or not this task should fail if no signatory or signature type are configured at the time of generation.
    Since:
      1.0

  - ### generate

    public void generate()
    Generates the signature files.
    Since:
      1.0

  - ### getSignatures

    @Internal public DomainObjectSet<Signature> getSignatures()
    The signatures generated by this task.
    Since:
      1.0

  - ### getGeneratorsByKey

    @Incubating public Map<String, Signature.Generator> getGeneratorsByKey()
    The signature generators for this task mapped by a unique key used for up-to-date checking.
    Since:
      8.1

  - ### getSignaturesByKey

    @Internal public Map<String, Signature> getSignaturesByKey()
    The signatures generated by this task mapped by a unique key used for up-to-date checking.
    Since:
      5.1

  - ### getSingleSignature

    @Internal public Signature getSingleSignature()
    Returns the single signature generated by this task.
    Returns:
      The signature.
    Throws:
      `IllegalStateException` - if there is not exactly one signature.
    Since:
      1.0

  - ### getFileCollectionFactory

    @Inject protected abstract org.gradle.api.internal.file.FileCollectionFactory getFileCollectionFactory()

  - ### getFilesToSign

    @Internal public FileCollection getFilesToSign()
    All of the files that will be signed by this task.
    Since:
      1.0

  - ### getSignatureFiles

    @Internal public FileCollection getSignatureFiles()
    All of the signature files that will be generated by this operation.
    Since:
      1.0

  - ### getSignatureType

    @Optional 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.

  - ### 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

  - ### getSignatory

    @Optional public Signatory getSignatory()
    Returns the signatory for this signing task.
    Specified by:
      `getSignatory` in interface `SignatureSpec`
    Returns:
      the signatory

  - ### 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

  - ### isRequired

    @Input public boolean isRequired()
    Whether or not this task should fail if no signatory or signature type are configured at generation time.

    Defaults to `true`.

    Specified by:
      `isRequired` in interface `SignatureSpec`
    Returns:
      Whether or not it is required that this signature be generated.

  - ### 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()`

  - ### getCallbackActionDecorator

    @Inject protected abstract org.gradle.api.internal.CollectionCallbackActionDecorator getCallbackActionDecorator()
    Required for decorating reports container callbacks for tracing user code application.
    Since:
      5.1

  - ### getObjectFactory

    @Inject protected abstract ObjectFactory getObjectFactory()