# Chapter 51. The Java Library Distribution Plugin

The Java library distribution plugin is currently incubating. Please be aware that the DSL and other configuration may change in later Gradle versions.

The Java library distribution plugin adds support for building a distribution ZIP for a Java library. The distribution contains the JAR file for the library and its dependencies.

## 51.1. Usage

To use the Java library distribution plugin, include the following in your build script:

Example 51.1. Using the Java library distribution plugin

`build.gradle`

    apply plugin: 'java-library-distribution'

To define the name for the distribution you have to set the `baseName` property as shown below:

Example 51.2. Configure the distribution name

`build.gradle`

    distributions {
        main{
            baseName = 'my-name'
        }
    }

The plugin builds a distribution for your library. The distribution will package up the runtime dependencies of the library. All files stored in `src/main/dist` will be added to the root of the archive distribution. You can run “`gradle distZip`” to create a ZIP file containing the distribution.

## 51.2. Tasks

The Java library distribution plugin adds the following tasks to the project.

Table 51.1. Java library distribution plugin - tasks

Task name | Depends on | Type | Description
`distZip` | `jar` | `Zip` | Creates a full distribution ZIP archive including runtime libraries.

## 51.3. Including other resources in the distribution

All of the files from the `src/dist` directory are copied. To include any static files in the distribution, simply arrange them in the `src/dist` directory, or add them to the content of the distribution.

Example 51.3. Include files in the distribution

`build.gradle`

    distributions {
        main {
            baseName = 'my-name'
            contents {
                from { 'src/dist' }
            }
        }
    }