# Interface PublishArtifact

All Superinterfaces:
  `Buildable`

All Known Subinterfaces:
  `ConfigurablePublishArtifact`

All Known Implementing Classes:
  `org.gradle.api.internal.artifacts.publish.AbstractPublishArtifact, Signature`

public interface PublishArtifact extends Buildable

A `PublishArtifact` is an artifact produced by a project.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `@Nullable String`
  `getClassifier()`
  Returns the classifier of this published artifact, if any.
  `@Nullable Date`
  `getDate()`
  Returns the date that should be used when publishing this artifact.
  `String`
  `getExtension()`
  Returns the extension of this published artifact.
  `File`
  `getFile()`
  Returns the file of this artifact.
  `String`
  `getName()`
  Returns the name of the artifact.
  `String`
  `getType()`
  Returns the type of the published artifact.

  ### Methods inherited from interface Buildable

  `getBuildDependencies`

- ## Method Details

  - ### getName

    String getName()
    Returns the name of the artifact.
    Returns:
      The name. Never null.

  - ### getExtension

    String getExtension()
    Returns the extension of this published artifact. Often the extension is the same as the type, but sometimes this is not the case. For example for an ivy XML module descriptor, the type is ivy and the extension is xml.
    Returns:
      The extension. Never null.

  - ### getType

    String getType()
    Returns the type of the published artifact. Often the type is the same as the extension, but sometimes this is not the case. For example for an ivy XML module descriptor, the type is ivy and the extension is xml.
    Returns:
      The type. Never null.

  - ### getClassifier

    @Nullable String getClassifier()
    Returns the classifier of this published artifact, if any.
    Returns:
      The classifier. May be null.

  - ### getFile

    File getFile()
    Returns the file of this artifact.
    Returns:
      The file. Never null.

  - ### getDate

    @Nullable Date getDate()
    Returns the date that should be used when publishing this artifact. This is used in the module descriptor accompanying this artifact (the ivy.xml). If the date is not specified, the current date is used. If this artifact is published without an module descriptor, this property has no relevance.
    Returns:
      The date. May be null.