gpt4 book ai didi

gradle - 如何在Gradle插件中添加对配置的依赖

转载 作者:行者123 更新时间:2023-12-03 03:57:12 25 4
gpt4 key购买 nike

我正在开发Gradle自定义插件。我想向现有配置添加依赖项。我正在尝试这样做:

open class MyApplicationExtension @Inject constructor(objects: ObjectFactory) {
val version: Property<String> = objects.property(String::class)
}

class MyApplicationPlugin : Plugin<Project> {
override fun apply(project: Project) {
project.plugins.apply(ApplicationPlugin::class)
val extension = project.extensions.create<MyApplicationExtension>("myApp")
val implConfig = project.configurations["implementation"]
implConfig.defaultDependencies {
add(project.dependencies.create("com:my-app:${extension.version.get()}"))
}
}
}

但是,当我尝试在gradle项目中使用应用程序时,不会添加添加的依赖项。我正在尝试像这样使用它:
apply<MyApplicationPlugin>()
the<MyApplicationExtension>().version.set("0.1.0")

dependencies {
// This overrides the default dependencies
implementation("com:another:0.2.0")
}

当我调用 dependencies任务时,那里没有显示我的依赖性。那么如何从自定义插件向 implementation配置添加可配置的依赖关系呢?在Kotlin DSL中与Gradle 5.3.1一起运行。

最佳答案

Default dependencies仅在没有其他依赖项添加到配置中时使用。

由于这似乎不是您的用例,因此您应该简单地以常规方式添加依赖项。

implConfig.defaultDependencies {
add(project.dependencies.create("com:my-app:${extension.version.get()}"))
}

需要成为
implConfig.dependencies.add(project.dependencies.create("com:my-app:${extension.version.get()}"))

关于gradle - 如何在Gradle插件中添加对配置的依赖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55456832/

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