# Interface ConfigurablePublishArtifact

All Superinterfaces:
  `Buildable, PublishArtifact`

public interface ConfigurablePublishArtifact extends PublishArtifact
A `PublishArtifact` whose properties can be modified.

Since:
  1.0

- ## Method Summary

  Modifier and Type
  Method
  Description
  `ConfigurablePublishArtifact`
  `builtBy(Object... tasks)`
  Registers some tasks which build this artifact.
  `void`
  `setClassifier(@Nullable String classifier)`
  Sets the classifier of this artifact.
  `void`
  `setExtension(String extension)`
  Sets the extension of this artifact.
  `void`
  `setName(String name)`
  Sets the name of this artifact.
  `void`
  `setType(String type)`
  Sets the type of this artifact.

  ### Methods inherited from interface Buildable

  `getBuildDependencies`

  ### Methods inherited from interface PublishArtifact

  `getClassifier, getDate, getExtension, getFile, getName, getType`

- ## Method Details

  - ### setName

    void setName(String name)
    Sets the name of this artifact.
    Parameters:
      `name` - The name. Should not be null.
    Since:
      1.0

  - ### setExtension

    void setExtension(String extension)
    Sets the extension of this artifact.
    Parameters:
      `extension` - The extension. Should not be null.
    Since:
      1.0

  - ### setType

    void setType(String type)
    Sets the type of this artifact.
    Parameters:
      `type` - The type. Should not be null.
    Since:
      1.0

  - ### setClassifier

    void setClassifier(@Nullable String classifier)
    Sets the classifier of this artifact.
    Parameters:
      `classifier` - The classifier. May be null.
    Since:
      1.0

  - ### builtBy

    ConfigurablePublishArtifact builtBy(Object... tasks)
    Registers some tasks which build this artifact.
    Parameters:
      `tasks` - The tasks. These are evaluated as per `Task.dependsOn(Object...)`.
    Returns:
      this
    Since:
      1.0