Gradle 9中project.version引发的废弃警告迁移示例咨询
Gradle 9 中
Task.project 执行时调用的废弃警告迁移方案 你遇到的警告是因为在任务执行阶段直接访问project.version违反了Gradle 9的新规范——执行阶段禁止访问project对象的属性,这会影响增量构建的可靠性。下面是两种符合文档建议的具体迁移实现:
方案一:脚本变量提前捕获版本号
在配置阶段就把project.version的值存入脚本变量,执行阶段直接使用变量即可:
def appVersion = project.version tasks.processResources { filesMatching("**/*") { filter<ReplaceToken>( "beginToken" to "@", "tokens" to mapOf("version" to appVersion), "endToken" to "@" ) } }
方案二:显式声明任务输入属性(推荐)
通过给processResources任务添加输入属性,既解决警告,又让Gradle能追踪版本变化触发增量构建,更符合Gradle最佳实践:
tasks.processResources { // 把版本号声明为任务的输入属性,Gradle会在配置阶段解析值 inputs.property("appVersion", project.version) filesMatching("**/*") { filter<ReplaceToken>( "beginToken" to "@", "tokens" to mapOf("version" to inputs.properties["appVersion"]), "endToken" to "@" ) } }
两种方案都能消除废弃警告,其中方案二更利于Gradle的构建缓存和增量构建优化,建议优先采用。
内容的提问来源于stack exchange,提问作者user2715478
相关产品推荐
相关产品推荐

