二十一、Gradle 标准的 Gradle 插件

二十一、Gradle 标准的 Gradle 插件

Gradle 的发行包中有大量的插件。如下列所示:

语言插件

这些插件添加了让各种语言可以被编译和在 JVM 执行的支持。

语言插件

插件 Id自动应用与什么插件一起使用描述
javajava-base向一个项目添加 Java 编译、 测试和捆绑的能力。它是很多其他 Gradle 插件的基础服务。
groovygroovy-base添加对 Groovy 项目构建的支持。
scalascala-base添加对 Scala 项目构建的支持。
antlrjava添加对使用Antlr作为生成解析器的支持。

正在孵化的语言插件

这些插件添加了对多种语言的支持:

语言插件

插件 Id自动应用与什么插件一起使用描述
assembler向项目添加本机汇编语言的功能。
c向项目添加 C语言源代码编译功能。
cpp向项目添加 c++ 源代码编译功能。
objective-c向项目中添加 Objective-C 源代码编译功能。
objective-cpp向项目中添加 Objective-C++ 源代码编译功能。
windows-resources添加对在本地bin文件中包含 Windows 资源的支持。

集成插件

以下这些插件提供了一些与各种运行时技术的集成。

集成插件

插件 Id自动应用与什么插件一起使用描述
applicationjava添加了一些任务,用于运行和捆绑一个Java项目作为命令行应用程序。
earjava添加用于构建 J2EE 应用程序的支持。
jettywar在构建中部署你的web程序到一个内嵌的Jetty web容器中。
mavenwar添加用于将项目发布到 Maven 仓库的支持。
osgijava-basejava添加构建 OSGi 捆绑包的支持。
warjava添加用于组装 web 应用程序的 WAR 文件的支持。

孵化中的集成插件

以下这些插件提供了一些与各种运行时技术的集成。

孵化中的集成插件

插件 Id自动应用与什么插件一起使用描述
distribution添加构建 ZIP 和 TAR 分发包的支持。
java-library-distributiondistribution添加构建一个Java类库的 ZIP 和 TAR 分发包的支持。
ivy-publishwar这个插件提供了新的 DSL,用于支持发布文件到 Ivy 存储库,改善了现有的 DSL。
maven-publishwar这个插件提供了新的 DSL,用于支持发布文件到 Maven 存储库,改善了现有的 DSL。

软件开发插件

这些插件提供一些软件开发过程上的帮助。

软件开发插件

插件 Id自动应用与什么插件一起使用描述
announce将消息发布到你所喜爱的平台,如 Twitter 或 Growl。
build-announcementsannounce在构建的生命周期中,把本地公告中有关你感兴趣的事件发送到你的桌面。
checkstylejava-base使用Checkstyle对您的项目的 Java 源文件执行质量检查并生成报告。
codenarcgroovy-base使用CodeNarc对您的项目的 Groovy 源文件执行质量检查并生成报告。
eclipsescala生成Eclipse IDE所用到的文件,从而使项目能够导入到 Eclipse。
eclipse-wtpwar与 eclipse 插件一样,但它还生成 eclipse WTP (Web 工具平台) 的配置文件。你的war/ear项目在导入eclipse 后,应配置为能在 WTP 中使用。
findbugsjava-base使用FindBugs对您的项目的 Java 源文件执行质量检查并生成报告。
ideajava生成Intellij IDEA IDE所用到的文件,从而使项目能够导入到 IDEA。
jdependjava-base使用JDepend对您的项目的源文件执行质量检查并生成报告。
pmdjava-base使用PMD对您的项目的 Java 源文件执行质量检查并生成报告。
project-reportreporting-base生成关于Gradle构建中有用的信息的报告。
signingbase添加对生成的文件或构件进行数字签名的功能。
sonarjava-base, java, jacoco提供对sonar-runner插件取代。

孵化中的软件开发插件

这些插件提供一些软件开发过程上的帮助。

软件开发插件

插件 Id自动应用与什么插件一起使用描述
build-dashboardreporting-base生成构建的主控面板的报表。
build-initwrapper添加用于初始化一个新 Gradle 构建的支持。处理转换 Maven 构建为 Gradle 构建。
cunit添加用于运行CUnit测试的支持。
jacocoreporting-basejava提供对 Java 的JaCoCo代码覆盖率库的集成。
sonar-runnerjava-base, java, jacoco提供对sonar插件取代。
visual-studio本机语言插件添加对 Visual Studio 的集成。
wrapper添加一个用于生成 Gradle wrapper 文件的Wrapper任务。

基本插件

这些插件组成了基本的构建块,其他插件都由此组装而来。它们可供你在你的构建文件中使用,并在此处完整列出。然而,请注意它们都不被认为是 Gradle 公共 API 的一部分。因此,这些插件都不在用户指南中记录。您可能会引用他们的 API 文档,以了解更多关于它们的信息。

基本插件

插件 Id描述
base添加标准的生命周期任务,并为归档任务默认进行合理的配置:添加构建 添加上传 为所有归档任务配置合适的默认值(比如从version属性被预先配置了默认值,这是非常有用的,因为它促进了跨项目的一致性 ;完成了有关构件命名规范及构建之后的位置上的一致。)
java-base对项目添加source set 的概念。不会添加任何特定的soruce sets。
groovy-base向项目中添加Groovy 的source set概念。
scala-base向项目中添加Scala 的source set概念。
reporting-base将一些共享的公约属性添加到项目中,它们与报告的生成有关。

第三方插件

你可以在维基上找到外部插件的列表。