gpt4 book ai didi

gradle - 在 Gradle Kotlin DSL 中注册和创建有什么区别

转载 作者:行者123 更新时间:2023-12-04 10:46:35 26 4
gpt4 key购买 nike

在 Gradle (5.0+) 中有两种创建方法,即任务:

tasks {
val javadocJar by creating(Jar::class) {
val javadoc by tasks

from(javadoc)
classifier = "javadoc"
}
}


tasks {
val javadocJar by registering(Jar::class) {
val javadoc by tasks

from(javadoc)
classifier = "javadoc"
}
}

基本相同的API,那么有什么区别呢?

最佳答案

https://docs.gradle.org/current/userguide/kotlin_dsl.html#using_the_container_api :

tasks.named("check")                  
tasks.register("myTask1")

The above sample relies on the configuration avoidance APIs. If you need or want to eagerly configure or register container elements, simply replace named() with getByName() and register() with create().


creating之间的区别和 registering (或 createregister 在 5.0 之前的 Gradle 版本中)与 Task Configuration Avoidance 相关新API,详细说明 here (见 this section):

How do I defer task creation?

This feature requires build authors to opt-in by migrating task creation from the TaskContainer.create(java.lang.String) APIs to the TaskContainer.register(java.lang.String) APIs. The register(…​) API registers a task to be created at a later time if and only if the task is needed. The create(…​) API continues to eagerly create and configure tasks when it is called.

关于gradle - 在 Gradle Kotlin DSL 中注册和创建有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53654190/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com