Gradle 所提供的所有核心插件的链接以及它的简短介绍
刚接触 Gradle 那会总是搞不明白为什么有些插件的引入只需要用 id 声明就行了,而另外一些插件的引入就必须通过完整地坐标来声明。
plugins {
id «plugin id»
id «plugin id» version «plugin version» [apply «false»]
}
后来才知道 Gradle 的插件分为核心插件和社区插件。
引入核心插件只需要基于 plugin id 来声明就足够了,而社区插件的引入则必须基于 plugin id 、plugin version 来共同声明。
关于 Gradle 插件相关的基础介绍你可以通过 这里 查看
Gradle 的核心插件到底有哪些你了解吗?
Gradle 的核心插件目前大概分完 JVM 语言与框架类(JVM languages and frameworks)、本地语言类(Native languages)、打包和分发类(Packaging and distribution)、代码分析类(Code analysis)、开发环境集成类(IDE integration)?
JVM 语言与框架(JVM languages and frameworks)
- Java
为构建任何类型的 Java 项目提供支持。
# build.gradle
plugins {
id 'java'
}
- Java Library
提供对构建 Java 库的支持。
# build.gradle
plugins {
id 'java-library'
}
- Java Platform
为构建 Java 平台提供支持。
# build.gradle
plugins {
id 'java-platform'
}
- Groovy
为构建任何类型的Groovy项目提供支持。
# build.gradle
plugins {
id 'groovy'
}
- Scala
为构建任何类型的Scala项目提供支持。
# build.gradle
plugins {
id 'scala'
}
- ANTLR
提供对使用ANTLR生成解析器的支持。
# build.gradle
plugins {
id 'antlr'
}
- JVM Test Suite
JVM 测试套件为建模和配置多个测试套件调用提供支持。
# build.gradle
plugins {
id 'java'
id 'jvm-test-suite'
}
本地语言(Native languages)
- C++ Application
支持在 Windows、Linux 和 macOS 上构建 C++ 应用程序。
# build.gradle
plugins {
id 'cpp-application'
}
- C++ Library
支持在 Windows、Linux 和 macOS 上构建 C+* 库。
# build.gradle
plugins {
id 'cpp-library'
}
- C++ Unit Test
为在 Windows、Linux 和 macOS 上构建和运行基于 C++ 可执行文件的测试提供支持。
# build.gradle
plugins {
id 'cpp-unit-test'
}
- Swift Application
支持在 Linux 和 macOS 上构建 Swift 应用程序。
# build.gradle
plugins {
id 'swift-application'
}
- Swift Application
支持在 Linux 和 macOS 上构建 Swift 库。
# build.gradle
plugins {
id 'swift-library'
}
- XCTest
为在 Linux 和 macOS 上构建和运行基于 XCTest 的测试提供支持。
# build.gradle
plugins {
id 'xctest'
}
打包和分发(Packaging and distribution)
- Application
为构建基于 JVM 的可运行应用程序提供支持。
# build.gradle
plugins {
id 'application'
}
- WAR
为构建和打包基于 WAR 的 Java Web 应用程序提供支持。
# build.gradle
plugins {
id 'war'
}
- EAR
为构建和打包 Java EE 应用程序提供支持。
# build.gradle
plugins {
id 'ear'
}
- Maven Publish
支持将工件发布到与 Maven 兼容的存储库。
# build.gradle
plugins {
id 'maven-publish'
}
- Ivy Publish
支持将工件发布到 Ivy 兼容的存储库。
# build.gradle
plugins {
id 'ivy-publish'
}
- Distribution
让创建和分发项目的 zip 和 tar 包变得容易。
# build.gradle
plugins {
id 'distribution'
}
- Java Library Distribution
为创建包含其运行时依赖项的 Java 库项目的 ZIP 分发包提供支持。
# build.gradle
plugins {
id 'java-library-distribution'
}
代码分析(Code analysis)
- Checkstyle
使用Checkstyle对项目的 Java 源文件执行质量检查并生成相关报告。
# build.gradle
plugins {
id 'checkstyle'
}
- PMD
使用PMD对项目的 Java 源文件执行质量检查并生成相关报告。
# build.gradle
plugins {
id 'pmd'
}
- JaCoCo
使用JaCoCo可以为您的 Java 项目提供代码覆盖率指标。
# build.gradle
plugins {
id 'jacoco'
}
- CodeNarc
使用CodeNarc可以对您的 Groovy 源文件执行质量检查并生成相关报告。
# build.gradle
plugins {
id 'codenarc'
}
开发环境集成(IDE integration)
- Eclipse
为由 IDE 打开的项目生成 Eclipse 项目文件。这组插件还可用于微调 Buildship 的 Gradle 构建的导入过程。
# build.gradle
plugins {
id 'eclipse'
}
或
# build.gradle
plugins {
id 'eclipse-wtp'
}
- IntelliJ IDEA
为可由 IDE 打开的项目生成 IDEA 项目文件。它还可用于微调 IDEA 的 Gradle 构建导入过程。
# build.gradle
plugins {
id 'idea'
}
- Visual Studio
生成可由 IDE 打开的用于构建的 Visual Studio 解决方案和项目文件。
# build.gradle
plugins {
id 'visual-studio'
}
- Xcode
为可由 IDE 打开的项目生成 Xcode 工作区和项目文件。
# build.gradle
plugins {
id 'xcode'
}
实用插件(Utility)
- Base
提供常见的生命周期相关的任务,例如 clean,以及大多数构建常见的其他功能。
# build.gradle
plugins {
id 'base'
}
- Build Init
生成指定类型的新 Gradle 构建,例如 Java 库。它还可以从 Maven POM 生成构建脚本——有关更多详细信息,请参阅从 Maven 迁移到 Gradle。
# terminal
$ gradle init
Starting a Gradle Daemon (subsequent builds will be faster)
Select type of project to generate:
1: basic
2: application
3: library
4: Gradle plugin
Enter selection (default: basic) [1..4]
- Signing
支持对生成的文件和制品进行数字签名。
# build.gradle
plugins {
id 'signing'
}
- Plugin Development
开发 Gradle 插件时引用,让开发和发布 Gradle 插件变得更容易。
# build.gradle
plugins {
id 'java-gradle-plugin'
}
- Project Report Plugin
帮助生成包含有关构建的有用信息的报告。
# build.gradle
plugins {
id 'project-report'
}