面试题答案
一键面试- 定义自定义任务类:
- 创建一个Kotlin类继承自
DefaultTask
,并使用@get:Input
注解标记自定义参数。
- 创建一个Kotlin类继承自
import org.gradle.api.DefaultTask
import org.gradle.api.tasks.Input
import org.gradle.api.tasks.TaskAction
open class CustomTask : DefaultTask() {
@get:Input
var customParam: String = ""
@TaskAction
fun execute() {
println("Custom parameter value: $customParam")
}
}
- 在Gradle插件中注册任务:
- 创建一个Gradle插件类,在
apply
方法中注册自定义任务。
- 创建一个Gradle插件类,在
import org.gradle.api.Plugin
import org.gradle.api.Project
class CustomPlugin : Plugin<Project> {
override fun apply(project: Project) {
project.tasks.register("customTask", CustomTask::class.java)
}
}
- 在构建脚本中传递参数:
- 在
build.gradle.kts
中应用插件,并为自定义任务传递参数。
- 在
plugins {
id("com.example.custom-plugin") version "1.0.0"
}
tasks.named<CustomTask>("customTask") {
customParam = "Hello, Gradle!"
}
上述代码示例展示了在Kotlin进行Gradle插件开发自定义任务时,添加自定义参数并在构建脚本中传递和使用这些参数的过程。首先定义了包含自定义参数的任务类,然后在插件中注册该任务,最后在构建脚本中为任务设置参数值。