我是为gradle编写插件的新手,我遵循这里的示例:
https://docs.gradle.org/current/userguide/structuring_software_products.html
在“build-logic/commons/src/main/groovy”下有一些gradle文件,我想在文件编译时传递一个值,在插件运行时传递一个值。你是怎么做到的
下面是示例代码:
plugins {
id('java')
}
group = 'com.example.myproduct'
dependencies {
implementation(platform("com.example.platform:product-platform:${build_version}"))
testImplementation(platform("com.example.platform:test-platform:${run_version}"))
}
这个想法是在运行“groovy-gradle-plugin”时指定值${build_version}(因此该值被编译到插件中),并允许在运行生成的插件时指定${run_version}。
我不清楚如何设置这两个值(即使在大量搜索之后)。另外,需要注意的是,如果我在中硬编码值,生成的插件会按预期工作。
我试过用
ext {
build_version = "1.0"
}
但似乎都不管用
1条答案
按热度按时间pexxcrt21#
根据@User51的评论,我需要在使用插件的应用程序中将以下内容添加到settings.gradle中(这很重要,因为它不能在构建文件中的插件之前设置):
然后我的插件:
这里需要注意的是再次订购。我们需要在plugin块之后定义
myProp
,但在依赖项部分使用它之前。