升级kotlin-gradle-plugin至1.7.20后遇destinationDir未知属性问题求助
解决Kotlin Gradle插件升级后
destinationDir未知属性异常 问题原因
Kotlin Gradle插件1.7.x及以上版本中,compileKotlin任务的destinationDir属性被废弃并移除,替换为类型为DirectoryProperty的destinationDirectory属性。直接访问旧属性会触发Could not get unknown property 'destinationDir'异常。
修复方案
将原代码中的compileKotlin.destinationDir替换为compileKotlin.destinationDirectory.asFile.get(),修改后的代码如下:
compileGroovy.classpath += files(compileKotlin.destinationDirectory.asFile.get())
额外优化建议
如果想更贴合Gradle最佳实践,可以显式声明任务依赖,确保compileGroovy在compileKotlin执行完成后再运行,避免潜在的时序问题:
compileGroovy.dependsOn compileKotlin compileGroovy.classpath += files(compileKotlin.destinationDirectory)
这里直接传入destinationDirectory(DirectoryProperty类型)即可,files()方法原生支持接收此类延迟属性。
内容的提问来源于stack exchange,提问作者江澎涌
相关产品推荐
相关产品推荐

