Class Signature

java.lang.Object
org.gradle.api.internal.artifacts.publish.AbstractPublishArtifact
org.gradle.plugins.signing.Signature
All Implemented Interfaces:
PublishArtifact, Buildable

public class Signature extends org.gradle.api.internal.artifacts.publish.AbstractPublishArtifact
A digital signature file artifact.

A signature file is always generated from another file, which may be a PublishArtifact.

  • Constructor Details

    • Signature

      public Signature(PublishArtifact toSign, SignatureSpec signatureSpec, Object... tasks)
      Creates a signature artifact for the given public artifact.

      The file to sign will be the file of the given artifact and the classifier of this signature artifact will default to the classifier of the given artifact to sign.

      The artifact to sign may change after being used as the source for this signature.

      Parameters:
      toSign - The artifact that is to be signed
      signatureSpec - The specification of how the artifact is to be signed
      tasks - The task(s) that will invoke generate() on this signature (optional)
    • Signature

      public Signature(File toSign, SignatureSpec signatureSpec, Object... tasks)
      Creates a signature artifact for the given file.
      Parameters:
      toSign - The file that is to be signed
      signatureSpec - The specification of how the artifact is to be signed
      tasks - The task(s) that will invoke generate() on this signature (optional)
    • Signature

      public Signature(File toSign, String classifier, SignatureSpec signatureSpec, Object... tasks)
      Creates a signature artifact for the given file, with the given classifier.
      Parameters:
      toSign - The file that is to be signed
      classifier - The classifier to assign to the signature (should match the files)
      signatureSpec - The specification of how the artifact is to be signed
      tasks - The task(s) that will invoke generate() on this signature (optional)
    • Signature

      public Signature(Closure<File> toSign, Closure<String> classifier, SignatureSpec signatureSpec, Object... tasks)
      Creates a signature artifact for the file returned by the toSign closure.

      The closures will be “evaluated” on demand whenever the value is needed (e.g. at generation time)

      Parameters:
      toSign - A closure that produces a File for the object to sign (non File return values will be used as the path to the file)
      classifier - A closure that produces the classifier to assign to the signature artifact on demand
      signatureSpec - The specification of how the artifact is to be signed
      tasks - The task(s) that will invoke generate() on this signature (optional)
    • Signature

      public Signature(Callable<File> toSign, Callable<String> classifier, SignatureSpec signatureSpec, Object... tasks)
      Creates a signature artifact for the file returned by the toSign closure.

      The closures will be “evaluated” on demand whenever the value is needed (e.g. at generation time)

      Parameters:
      toSign - A closure that produces a File for the object to sign (non File return values will be used as the path to the file)
      classifier - A closure that produces the classifier to assign to the signature artifact on demand
      signatureSpec - The specification of how the artifact is to be signed
      tasks - The task(s) that will invoke generate() on this signature (optional)
  • Method Details

    • getToSign

      public File getToSign()
      The file that is to be signed.
      Returns:
      The file. May be null if unknown at this time.
    • setName

      public void setName(String name)
    • getName

      public String getName()
      The name of the signature artifact.

      Defaults to the name of the signature file.

      Returns:
      The name. May be null if unknown at this time.
    • setExtension

      public void setExtension(String extension)
    • getExtension

      public String getExtension()
      The extension of the signature artifact.

      Defaults to the specified file extension of the signature type.

      Returns:
      The extension. May be null if unknown at this time.
    • setType

      public void setType(String type)
    • getType

      public String getType()
      The type of the signature artifact.

      Defaults to the extension of the file to sign plus the extension of the signature type. For example, when signing the file ‘my.zip’ with a signature type with extension ‘sig’, the default type is ‘zip.sig’.

      Returns:
      The type. May be null if the file to sign or signature type are unknown at this time.
    • setClassifier

      public void setClassifier(String classifier)
    • getClassifier

      public String getClassifier()
      The classifier of the signature artifact.

      Defaults to the classifier of the source artifact (if signing an artifact) or the given classifier at construction (if given).

      Returns:
      The classifier. May be null if unknown at this time.
    • setDate

      public void setDate(Date date)
    • getDate

      public Date getDate()
      The date of the signature artifact.

      Defaults to the last modified time of the signature file (if exists)

      Returns:
      The date of the signature. May be null if unknown at this time.
    • setFile

      public void setFile(File file)
    • getFile

      public File getFile()
      The file for the generated signature, which may not yet exist.

      Defaults to a file alongside the file to sign with the extension of the signature type.

      Returns:
      The signature file. May be null if unknown at this time.
    • getSignatory

      public Signatory getSignatory()
      The signatory of this signature file.
      Returns:
      The signatory. May be null if unknown at this time.
    • getSignatureType

      public SignatureType getSignatureType()
      The file representation type of the signature.
      Returns:
      The signature type. May be null if unknown at this time.
    • setSignatureSpec

      public void setSignatureSpec(SignatureSpec signatureSpec)
    • getSignatureSpec

      public SignatureSpec getSignatureSpec()
    • getToSignArtifact

      public final PublishArtifact getToSignArtifact()
    • generate

      public void generate()
      Generates the signature file.

      In order to generate the signature, the file to sign, signatory and signature type must be known (i.e. non null).

      Throws:
      InvalidUserDataException - if the there is insufficient information available to generate the signature.