了解插件的实施选项
脚本、预编译脚本或二进制插件之间的选择取决于您的具体要求和偏好。
脚本插件简单且易于编写,因为它们直接编写在构建脚本中。它们是用 Kotlin DSL 或 Groovy DSL 编写的。它们适合小型、一次性任务或快速实验。然而,随着构建脚本的大小和复杂性的增加,它们可能会变得难以维护。
预编译脚本插件是编译成打包在库中的 Java 类文件的 Kotlin DSL 脚本。与脚本插件相比,它们提供更好的性能和可维护性,并且可以在不同的项目中重用。您还可以使用 Groovy DSL 编写它们,但不建议这样做。
二进制插件是用 Java 或 Kotlin 编写的成熟插件,编译成 JAR 文件并发布到存储库。它们提供最佳的性能、可维护性和可重用性。它们适用于需要在项目、构建和团队之间共享的复杂构建逻辑。您也可以用 Scala 或 Groovy 编写它们,但不建议这样做。
以下是实现 Gradle 插件的所有选项的细分:
# | 使用: | 类型: | 该插件是: | 通过应用创建: | 受到推崇的? |
---|---|---|---|---|---|
1 |
KotlinDSL |
脚本插件 |
作为实现接口方法的 |
|
否[ 1 ] |
2 |
Groovy DSL |
脚本插件 |
作为实现接口方法的 |
|
否[ 1 ] |
3 |
KotlinDSL |
预编译脚本插件 |
一份 |
|
是的[ 2 ] |
4 |
Groovy DSL |
预编译脚本插件 |
一份 |
|
否[ 3 ] |
5 |
KotlinDSL |
二进制插件 |
一份 |
|
是的[ 2 ] |
6 |
Groovy DSL |
二进制插件 |
一份 |
|
没有[ 2 ] |
7 |
Java |
二进制插件 |
|
|
是的[ 2 ] |
8 |
Kotlin |
二进制插件 |
|
|
是的[ 2 ] |
9 |
Groovy |
二进制插件 |
|
|
没有[ 2 ] |
10 |
Scala |
二进制插件 |
|
|
没有[ 2 ] |
@groovy.transform.CompileStatic
.