• Chapter 22. Standard Gradle plugins 标准 Gradle 插件
    • 22.1. Language plugins 语言类插件
    • 22.2. Incubating language plugins 孵化中的语言插件
    • 22.3. Integration plugins 集成插件
    • 22.4. Incubating integration plugins 孵化中的集成插件
    • 22.5. Software development plugins 软件开发插件
    • 22.6. Incubating software development plugins 孵化中的软件开发插件
    • 22.7. Base plugins 基本插件
    • 22.8. Third party plugins 第三方插件

    Chapter 22. Standard Gradle plugins 标准 Gradle 插件

    Gradle 发布包包含了很多插件,如下:

    22.1. Language plugins 语言类插件

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

    Table 22.1. Language plugins


























    Plugin IdAutomatically appliesWorks withDescription


    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 Chapter 7, Java Quickstart.




    groovy

    java,
    groovy-base
    -

    Adds support for building Groovy projects. See also Chapter 9, Groovy Quickstart.




    scala

    java,
    scala-base
    -

    Adds support for building Scala projects.




    antlr


    java
    -

    Adds support for generating parsers using Antlr.


    22.2. Incubating language plugins 孵化中的语言插件

    Table 22.2. Language plugins




































    Plugin IdAutomatically appliesWorks withDescription


    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 集成插件

    这些插件提供一些集成各种运行技术。

    Table 22.3. Integration plugins




































    Plugin IdAutomatically appliesWorks withDescription


    application


    java
    -

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




    ear

    -
    java

    Adds support for building J2EE applications.




    jetty


    war
    -

    Deploys your web application to a Jetty web container embedded in the build. See also Chapter 10, Web Application Quickstart.




    maven

    -java,
    war

    Adds support for publishing artifacts to Maven repositories.




    osgi


    java-base

    java

    Adds support for building OSGi bundles.




    war


    java
    -

    Adds support for assembling web application WAR files. See also Chapter 10, Web Application Quickstart.


    22.4. Incubating integration plugins 孵化中的集成插件

    这些插件提供一些集成各种运行技术。

    Table 22.4. Incubating integration plugins


























    Plugin IdAutomatically appliesWorks withDescription


    distribution

    --

    Adds support for building ZIP and TAR distributions.




    java-library-distribution

    java, distribution-

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




    ivy-publish

    -java, war

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




    maven-publish

    -java, war

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


    22.5. Software development plugins 软件开发插件

    Table 22.5. Software development plugins







































































    Plugin IdAutomatically appliesWorks withDescription


    announce

    --

    Publish messages to your favourite platforms, such as Twitter or 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.




    codenarc


    groovy-base
    -

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




    eclipse

    -java,groovy,
    scala

    Generates files that are used by Eclipse IDE, thus making
    it possible to import the project into Eclipse. See also Chapter 7, Java Quickstart.




    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 Chapter 7, Java Quickstart.




    findbugs


    java-base
    -

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




    idea

    -
    java

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




    jdepend


    java-base
    -

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




    pmd


    java-base
    -

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




    project-report


    reporting-base
    -

    Generates reports containing useful information about your Gradle build.




    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.


    22.6. Incubating software development plugins 孵化中的软件开发插件

    Table 22.6. Software development plugins














































    Plugin IdAutomatically appliesWorks withDescription


    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-basejava

    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.




    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 基本插件

    这些插件形成基本构建块,用来提供给其他插件组装。它们可以被使用在你的构建文件,并列出的完整性。然而,要注意他们还没有考虑 Gradle 的公共API的一部分。因此,这些插件都不能列在用户指南文件中。你可以参考他们的API文档来了解他们。

    Table 22.7. Base plugins



















    Plugin IdDescription
    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.
    • adds upload
      ConfigurationName
      tasks.
      Those tasks assemble and upload the artifacts belonging to the specified configuration.
    • 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.



    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.


    scala-base

    Adds the Scala source sets concept to the project.


    reporting-base

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


    22.8. Third party plugins 第三方插件

    可以从这里看到外部的插件