gradle 其中_Decorated后缀在::类名中来自何处?

8hhllhi2  于 2023-05-07  发布在  其他
关注(0)|答案(1)|浏览(161)

我正在学习gradle +KotlinDSL,试图理解它创建的所有“神奇”对象(隐式接收器):

// hello, world build.gradle.kts

tasks.register("hello") {
    doLast {
        println("Hello world! ${tasks::class} ${this::class}")
    }
}

我很好奇(预定义的)tasks容器或隐式创建的Task(我猜是doLast的接收者)的对象类是什么?); I get:

Hello world! class org.gradle.api.internal.tasks.DefaultTaskContainer_Decorated class org.gradle.api.DefaultTask_Decorated

我不应该对*.internal的类名感到惊讶,但DefaultTask_Decorated来自哪里?公共API只列出*.api.DefaultTask

sh7euo9m

sh7euo9m1#

org.gradle.API.internal.tasks.DefaultTaskContainer_Decorated看起来是内部TaskContainer实现。请参阅https://docs.gradle.org/current/javadoc/org/gradle/api/tasks/TaskContainer.html“您可以通过调用Project.getTasks()或使用tasks属性来获取TaskContainer示例”。

相关问题