如何在预编译Gradle插件中引用版本目录libs?
可以在预编译插件中引用libs版本目录
要在my-template.gradle.kts中使用libs,需要完成两步配置:
1. 为build-logic添加版本目录依赖
修改build-logic/build.gradle.kts,将共享版本目录作为依赖提供给预编译插件:
plugins { `kotlin-dsl` `kotlin-dsl-precompiled-script-plugins` } repositories { mavenCentral() } dependencies { implementation(libs.plugins.kotlin.jvm) // 添加该行,让预编译插件能访问共享版本目录 implementation(gradle.sharedVersionCatalog("libs")) }
2. 在预编译插件脚本中获取libs实例
在my-template.gradle.kts顶部添加代码,获取版本目录的访问对象:
// 获取自动生成的版本目录访问实例 val libs = the<org.gradle.accessors.dm.LibsForLibs>() plugins { id("org.jetbrains.kotlin.jvm") } repositories { mavenCentral() } dependencies { implementation(libs.kotlinx.serialization) // 现在可正常引用 }
补充说明
org.gradle.accessors.dm.LibsForLibs是Gradle根据libs.versions.toml自动生成的类,若出现包名报错,可通过IDE自动补全确认正确类名。- 此配置能保证预编译插件与主项目共用同一版本目录,维持版本一致性。
内容的提问来源于stack exchange,提问作者Maddin
相关产品推荐
相关产品推荐

