MST

星途 面试题库

面试题:Kotlin中Gradle插件开发基础 - 自定义任务参数设置

在Kotlin进行Gradle插件开发自定义任务时,如何为任务添加自定义参数,并在构建脚本中传递和使用这些参数?请给出简要的代码示例。
26.9万 热度难度
编程语言Kotlin

知识考点

AI 面试

面试题答案

一键面试
  1. 定义自定义任务类
    • 创建一个Kotlin类继承自DefaultTask,并使用@get:Input注解标记自定义参数。
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")
    }
}
  1. 在Gradle插件中注册任务
    • 创建一个Gradle插件类,在apply方法中注册自定义任务。
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)
    }
}
  1. 在构建脚本中传递参数
    • build.gradle.kts中应用插件,并为自定义任务传递参数。
plugins {
    id("com.example.custom-plugin") version "1.0.0"
}

tasks.named<CustomTask>("customTask") {
    customParam = "Hello, Gradle!"
}

上述代码示例展示了在Kotlin进行Gradle插件开发自定义任务时,添加自定义参数并在构建脚本中传递和使用这些参数的过程。首先定义了包含自定义参数的任务类,然后在插件中注册该任务,最后在构建脚本中为任务设置参数值。