第22章 標準Gradleプラグイン

There are a number of plugins included in the Gradle distribution. These are listed below.

Gradleの配布物にはいくつかのプラグインが同梱されています。以下にその一覧を掲載します。

22.1. 言語プラグインLanguage plugins

These plugins add support for various languages which can be compiled for and executed in the JVM.

これらのプラグインは、Gradleに様々な言語サポートを追加します。JVMに向けたコンパイルやJVM上でのプログラム実行などを行います。

表22.1 言語プラグインLanguage plugins

Plugin Id プラグインID Automatically applies 自動適用 Works with 協調して動作 Description 説明
java java-base -

Adds Java compilation, testing and bundling capabilities to a project. It serves as the basis for many of the other Gradle plugins. See also 7章Javaクイックスタート.

Javaのコンパイル、テスト、バンドル機能をプロジェクトに追加します。また、このプラグインは、他の様々なプラグインのベース機能として使用されています。7章Javaクイックスタートも参照してください。

groovy java, groovy-base -

Adds support for building Groovy projects. See also 9章Groovyクイックスタート.

Groovyプロジェクトのビルド機能を追加します。9章Groovyクイックスタートも参照してください。

scala java, scala-base -

Adds support for building Scala projects.

Scalaプロジェクトのビルド機能を追加します。

antlr java -

Adds support for generating parsers using Antlr.

Antlrを使ったパーサーの生成をサポートします。

22.2. 試験的な言語プラグイン Incubating language plugins

These plugins add support for various languages:

これらのプラグインは、以下のような様々な言語のサポートを追加します。

表22.2 言語プラグイン Language plugins

Plugin Id プラグインID Automatically applies 自動適用 Works with 協調して動作 Description 説明
assembler - -

Adds native assembly language capabilities to a project.

c - -

Adds C source compilation capabilities to a project.

cpp - -

Adds C++ source compilation capabilities to a project.

objective-c - -

Adds Objective-C source compilation capabilities to a project.

objective-cpp - -

Adds Objective-C++ source compilation capabilities to a project.

windows-resources - -

Adds support for including Windows resources in native binaries.

22.3. 統合プラグインIntegration plugins

These plugins provide some integration with various runtime technologies.

これらのプラグインは、様々なランタイムをプロジェクトに統合して使用できるようにします。

表22.3 統合プラグインIntegration plugins

Plugin Id プラグインID Automatically applies 自動適用 Works with 協調して動作 Description 説明
application java -

Adds tasks for running and bundling a Java project as a command-line application.

プロジェクトをコマンドラインアプリケーションとしてビルド、実行するためのタスクを追加します。

ear - java

Adds support for building J2EE applications.

J2EEアプリケーションのビルド機能を追加します。

jetty war -

Deploys your web application to a Jetty web container embedded in the build. See also 10章Webアプリケーションクイックスタート.

組み込みのJettyウェブコンテナに、アプリケーションをデプロイできるようにします。10章Webアプリケーションクイックスタートも参照してください。

maven - java, war

Adds support for publishing artifacts to Maven repositories.

Mavenリポジトリにアーティファクトを公開できるようにします。

osgi java-base java

Adds support for building OSGi bundles.

OSGiバンドルのビルドをサポートします。

war java -

Adds support for assembling web application WAR files. See also 10章Webアプリケーションクイックスタート.

ウェブアプリケーションのWARファイルをビルドできるようにします。See also 10章Webアプリケーションクイックスタートも参照してください。

22.4. 試験的な統合プラグイン Incubating integration plugins

These plugins provide some integration with various runtime technologies.

これらのプラグインは、様々なランタイムをプロジェクトに統合して使用できるようにします。

表22.4 試験的な統合プラグイン Incubating integration plugins

Plugin Id プラグインID Automatically applies 自動適用 Works with 協調して動作 Description 説明
distribution - -

Adds support for building ZIP and TAR distributions.

ZIPおよびTARの配布物をビルドできるようにします。

java-library-distribution java, distribution -

Adds support for building ZIP and TAR distributions for a Java library.

JavaライブラリをZIPおよびTARの配布物としてビルドできるようにします。

ivy-publish - java, war

This plugin provides a new DSL to support publishing artifacts to Ivy repositories, which improves on the existing DSL.

Ivyリポジトリへアーティファクトを公開できるようにします。DSLが既存のものから新しく改善されています。

maven-publish - java, war

This plugin provides a new DSL to support publishing artifacts to Maven repositories, which improves on the existing DSL.

Mavenリポジトリへアーティファクトを公開できるようにします。DSLが既存のものから新しく改善されています。

22.5. ソフトウェア開発プラグイン Software development plugins

These plugins provide help with your software development process.

これらのプラグインは、ソフトウェアの開発プロセスを支援します。

表22.5 ソフトウェア開発プラグイン Software development plugins

Plugin Id プラグインID Automatically applies 自動適用 Works with 協調して動作 Description 説明
announce - -

Publish messages to your favourite platforms, such as Twitter or Growl.

TwitterやGrowlなど、任意のプラットフォーム上にメッセージを発行します。

build-announcements announce -

Sends local announcements to your desktop about interesting events in the build lifecycle.

ビルドライフサイクルの各種イベントのうち、指定したものについてデスクトップ上にローカルで通知します。

checkstyle java-base -

Performs quality checks on your project's Java source files using Checkstyle and generates reports from these checks.

Checkstyleを使ってJavaソースコードの品質をチェックし、レポートを生成します。

codenarc groovy-base -

Performs quality checks on your project's Groovy source files using CodeNarc and generates reports from these checks.

CodeNarcを使ってGroovyソースコードの品質をチェックし、レポートを生成します。

eclipse - java,groovy, scala

Generates files that are used by Eclipse IDE, thus making it possible to import the project into Eclipse. See also 7章Javaクイックスタート.

Eclipse IDEが使用するファイルを生成し、プロジェクトをEclipseにインポートできるようにします。7章Javaクイックスタートも参照してください。

eclipse-wtp - ear, war

Does the same as the eclipse plugin plus generates eclipse WTP (Web Tools Platform) configuration files. After importing to eclipse your war/ear projects should be configured to work with WTP. See also 7章Javaクイックスタート.

eclipseプラグインが生成するファイルに加え、eclipse WTP (Web Tools Platform)の設定ファイルも生成します。 eclipseにインポートすれば、war/earプロジェクトがWTPで認識されるよう設定されているはずです。7章Javaクイックスタートも参照してください。

findbugs java-base -

Performs quality checks on your project's Java source files using FindBugs and generates reports from these checks.

FindBugsを使ってプロジェクトに含まれるJavaソースコードの品質をチェックし、レポートを生成します。

idea - java

Generates files that are used by Intellij IDEA IDE, thus making it possible to import the project into IDEA.

Intellij IDEA IDEが使用するファイルを生成し、プロジェクトをIDEAにインポートできるようにします。

jdepend java-base -

Performs quality checks on your project's source files using JDepend and generates reports from these checks.

JDependを使ってソースコードの品質をチェックし、レポートを生成します。

pmd java-base -

Performs quality checks on your project's Java source files using PMD and generates reports from these checks.

PMDを使ってJavaソースコードの品質をチェックし、レポートを生成します。

project-report reporting-base -

Generates reports containing useful information about your Gradle build.

Gradleビルドに関する有用な情報が載ったレポートを生成します。

signing base -

Adds the ability to digitally sign built files and artifacts.

ビルドしたファイルとアーティファクトにデジタル署名を行う機能を追加します。

sonar - java-base, java, jacoco

Provides integration with the Sonar code quality platform. Superceeded by the sonar-runner plugin.

Sonarコード品質プラットフォームとの連携機能を提供します。今は後継としてsonar-runnerプラグインが作成されています。

22.6. 試験的なソフトウェア開発プラグイン Incubating software development plugins

These plugins provide help with your software development process.

これらのプラグインは、ソフトウェアの開発プロセスを支援します。

表22.6 ソフトウェア開発プラグイン Software development plugins

Plugin Id プラグインID Automatically applies 自動適用 Works with 協調して動作 Description 説明
build-dashboard reporting-base -

Generates build dashboard report.

build-init wrapper -

Adds support for initializing a new Gradle build. Handles converting a Maven build to a Gradle build.

cunit - -

Adds support for running CUnit tests.

jacoco reporting-base java

Provides integration with the JaCoCo code coverage library for Java.

sonar-runner - java-base, java, jacoco

Provides integration with the Sonar code quality platform. Supersedes the sonar plugin.

Sonarコード品質プラットフォームとの連携機能を提供します。sonarプラグインの後継プラグインです。

visual-studio - native language plugins

Adds integration with Visual Studio.

wrapper - -

Adds a Wrapper task for generating Gradle wrapper files.

java-gradle-plugin java

Assists with development of Gradle plugins by providing standard plugin build configuration and validation.

22.7. ベースプラグイン Base plugins

These plugins form the basic building blocks which the other plugins are assembled from. They are available for you to use in your build files, and are listed here for completeness. However, be aware that they are not yet considered part of Gradle's public API. As such, these plugins are not documented in the user guide. You might refer to their API documentation to learn more about them.

これらのプラグインは、他のプラグインを組み立てるための基本的なビルド用の部品を構成します。また、ビルドスクリプト内で自分で使うこともできます。ここにその完全な一覧を掲載しました。 しかし、これらのプラグインはまだGradleの正式な公開APIとはなっていないことに注意してください。そのため、ユーザーガイドでは解説されていません。詳細について調べたい際は、APIドキュメントが参考になるかもしれません。

表22.7 ベースプラグイン Base plugins

Plugin Id プラグインID Description 説明
base

Adds the standard lifecycle tasks and configures reasonable defaults for the archive tasks: 一般的なライフサイクルを構成するタスクを追加し、アーカイブタスクにリーズナブルなデフォルト値を設定します。

  • adds build ConfigurationName tasks. Those tasks assemble the artifacts belonging to the specified configuration. buildConfigurationNameタスクを追加します。これらのタスクは、特定のコンフィグレーションに属するアーティファクトを作成します。
  • adds upload ConfigurationName tasks. Those tasks assemble and upload the artifacts belonging to the specified configuration. uploadConfigurationNameタスクを追加します。これらのタスクは、特定のコンフィグレーション属するアーティファクトを作成し、アップロードします。
  • configures reasonable default values for all archive tasks (e.g. tasks that inherit from AbstractArchiveTask). For example, the archive tasks are tasks of types: Jar, Tar, Zip. Specifically, destinationDir, baseName and version properties of the archive tasks are preconfigured with defaults. This is extremely useful because it drives consistency across projects; the consistency regarding naming conventions of archives and their location after the build completed. 全てのアーカイブタスク(AbstractArchiveTaskを継承したタスク)に適切なデフォルト値を設定します。 例えば、JarタイプやTarタイプ、Zipタイプのタスクがアーカイブタスクです。 これらのタスクに、destinationDirbaseNameversionプロパティを前もって設定します。 これにより、アーカイブの命名規約やビルド後の配置場所に一貫性が生まれるため、とても便利です。

java-base

Adds the source sets concept to the project. Does not add any particular source sets.

プロジェクトにソースセットの概念を導入します。実際のソースセットは追加されません。

groovy-base

Adds the Groovy source sets concept to the project.

プロジェクトにGroovyソースセットの概念を導入します。

scala-base

Adds the Scala source sets concept to the project.

プロジェクトにScalaソースセットの概念を導入します。

reporting-base

Adds some shared convention properties to the project, relating to report generation.

レポート生成に関するいくつかの一般的な規約プロパティをプロジェクトに追加します。

22.8. サードパーティプラグインThird party plugins

You can find a list of external plugins at the Gradle Plugins site.

サードパーティ製のプラグインはGradleプラグインポータルで見つけることができます。