# Class DistributionPlugin

java.lang.Object
org.gradle.api.distribution.plugins.DistributionPlugin

All Implemented Interfaces:
  `Plugin<org.gradle.api.internal.project.ProjectInternal>`

@Incubating public class DistributionPlugin extends Object implements Plugin<org.gradle.api.internal.project.ProjectInternal>

A `Plugin` to package project as a distribution.

## Field Summary

Fields
Modifier and Type
Field
Description
`static final String`
`MAIN_DISTRIBUTION_NAME`
Name of the main distribution
`static final String`
`TASK_INSTALL_NAME`

## Constructor Summary

Constructors
Constructor
Description
`DistributionPlugin(org.gradle.internal.reflect.Instantiator instantiator, org.gradle.api.internal.file.FileOperations fileOperations)`

## Method Summary

Modifier and Type
Method
Description
`void`
`apply(org.gradle.api.internal.project.ProjectInternal project)`
Apply this plugin to the given target object.

### Methods inherited from class Object

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

## Field Details

### MAIN_DISTRIBUTION_NAME

public static final String MAIN_DISTRIBUTION_NAME
Name of the main distribution

See Also:
  - Constant Field Values

### TASK_INSTALL_NAME

public static final String TASK_INSTALL_NAME

See Also:
  - Constant Field Values

## Constructor Details

### DistributionPlugin

@Inject public DistributionPlugin(org.gradle.internal.reflect.Instantiator instantiator, org.gradle.api.internal.file.FileOperations fileOperations)

## Method Details

### apply

public void apply(org.gradle.api.internal.project.ProjectInternal project)
Description copied from interface: `Plugin`
Apply this plugin to the given target object.

Specified by:
  `apply` in interface `Plugin<org.gradle.api.internal.project.ProjectInternal>`
Parameters:
  `project` - The target object