Appearance
buildSrc 插件
buildSrc 是开发项目内共享插件的最佳方式,详细的 buildSrc 结构见 buildSrc。
预编译脚本插件(推荐)
kotlin
// buildSrc/src/main/kotlin/java-conventions.gradle.kts
plugins {
java
jacoco
}
java {
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
}
tasks.withType<Test> {
useJUnitPlatform()
finalizedBy(tasks.named("jacocoTestReport"))
}Kotlin 类插件
kotlin
// buildSrc/src/main/kotlin/com/example/VersionCheckPlugin.kt
package com.example
import org.gradle.api.Plugin
import org.gradle.api.Project
class VersionCheckPlugin : Plugin<Project> {
override fun apply(project: Project) {
project.tasks.register("checkVersion") {
group = "verification"
doLast {
val version = project.version.toString()
require(!version.endsWith("SNAPSHOT")) {
"发布版本不能是 SNAPSHOT: $version"
}
println("版本检查通过:$version")
}
}
}
}注册插件 ID
kotlin
// buildSrc/build.gradle.kts
plugins {
`kotlin-dsl`
}
gradlePlugin {
plugins {
create("versionCheck") {
id = "com.example.version-check"
implementationClass = "com.example.VersionCheckPlugin"
}
}
}使用
kotlin
// 子项目 build.gradle.kts
plugins {
id("com.example.version-check")
id("java-conventions")
}下一步
- 独立插件项目 - 发布到 Gradle Plugin Portal