我已经创建了用Kotlin编写的Gradle插件,但是在将其包含到项目中之后,我遇到了以下错误:
Failed to apply plugin [id 'my-plugin']
Could not generate a proxy class for class MyTask
这是我插件的代码,我正在使用自定义gradle任务
class MyPlugin : Plugin<Project> {
override fun apply(project: Project) {
with(project.tasks) {
create("uploadTask", MyTask::class.java)
}
}
}
class MyTask : DefaultTask() {
@TaskAction
fun run() {
println("Running ...")
}
}
答案 0 :(得分:3)
运行./gradlew build --stacktrace
时找到了原因
Caused by: java.lang.VerifyError: Cannot inherit from final class ....
由于默认情况下kotlin中的class是final,因此解决方案很容易将我的任务声明更改为:
open class MyTask : DefaultTask()