# Gradle Plugin Reference

version 9.7.1

This page contains links and short descriptions for all the core plugins provided by Gradle itself.

## JVM languages and frameworks

Java

  Provides support for building any type of Java project.

Java Library

  Provides support for building a Java library.

Java Platform

  Provides support for building a Java platform.

Groovy

  Provides support for building any type of Groovy project.

Scala

  Provides support for building any type of Scala project.

ANTLR

  Provides support for generating parsers using ANTLR.

JVM Test Suite

  Provides support for modeling and configuring multiple test suite invocations.

Test Report Aggregation

  Aggregates the results of multiple Test task invocations (potentially spanning multiple Gradle projects) into a single HTML report.

## Native languages

C++ Application

  Provides support for building C++ applications on Windows, Linux, and macOS.

C++ Library

  Provides support for building C++ libraries on Windows, Linux, and macOS.

C++ Unit Test

  Provides support for building and running C++ executable-based tests on Windows, Linux, and macOS.

Swift Application

  Provides support for building Swift applications on Linux and macOS.

Swift Library

  Provides support for building Swift libraries on Linux and macOS.

XCTest

  Provides support for building and running XCTest-based tests on Linux and macOS.

## Packaging and distribution

Application

  Provides support for building JVM-based, runnable applications.

WAR

  Provides support for building and packaging WAR-based Java web applications.

EAR

  Provides support for building and packaging Java EE applications.

Maven Publish

  Provides support for publishing artifacts to Maven-compatible repositories.

Ivy Publish

  Provides support for publishing artifacts to Ivy-compatible repositories.

Distribution

  Makes it easy to create ZIP and tarball distributions of your project.

Java Library Distribution

  Provides support for creating a ZIP distribution of a Java library project that includes its runtime dependencies.

## Code analysis

Checkstyle

  Performs quality checks on your project’s Java source files using Checkstyle and generates associated reports.

PMD

  Performs quality checks on your project’s Java source files using PMD and generates associated reports.

JaCoCo

  Provides code coverage metrics for your Java project using JaCoCo.

JaCoCo Report Aggregation

  Aggregates the results of multiple JaCoCo code coverage reports (potentially spanning multiple Gradle projects) into a single HTML report.

CodeNarc

  Performs quality checks on your Groovy source files using CodeNarc and generates associated reports.

## IDE integration

Eclipse

  Customizes how Eclipse/http://projects.eclipse.org/projects/tools.buildship[Buildship] understands your Gradle project during import.

IntelliJ IDEA

  Customizes how IntelliJ IDEA understands your Gradle project during import.

Visual Studio

  Generates Visual Studio solution and project files for build that can be opened by the IDE.

Xcode

  Generates Xcode workspace and project files for the build that can be opened by the IDE.

## Utility

Base

  Provides common lifecycle tasks, such as `clean`, and other features common to most builds.

Build Init

  Generates a new Gradle build of a specified type, such as a Java library. It can also generate a build script from a Maven POM — see Migrating from Maven to Gradle for more details.

Signing

  Provides support for digitally signing generated files and artifacts.

Plugin Development

  Makes it easier to develop and publish a Gradle plugin.

Project Report Plugin

  Helps to generate reports containing useful information about your build.

Build Dashboard Plugin

  Generates a single HTML dashboard that provides a single point of access to all of the reports generated by your build.