如何解决buildSrc 文件夹中的 .gradle 文件是项目的插件吗?
我正在gradle官网学习gradle:
https://docs.gradle.org/current/userguide/declaring_dependencies_between_subprojects.html
这里,在其中一个示例中,它在 buildSrc 文件夹中有一个文件-
buildSrc/src/main/kotlin/myproject.java-conventions.gradle.kts
plugins {
id("java")
}
group = "com.example"
version = "1.0"
repositories {
mavenCentral()
}
dependencies {
testImplementation("junit:junit:4.13")
}
项目结构为:
.
├── buildSrc
│ ...
├── api
│ ├── src
│ │ └──...
│ └── build.gradle.kts
├── services
│ └── person-service
│ ├── src
│ │ └──...
│ └── build.gradle.kts
├── shared
│ ├── src
│ │ └──...
│ └── build.gradle.kts
└── settings.gradle.kts
模块构建脚本api/build.gradle.kts 和shared/build.gradle.kts 正在使用插件'myproject.java-conventions' 为:
plugins {
id("myproject.java-conventions")
}
我参考了以下有关如何创建自定义插件的内容。
我对 buildSrc 中的 .gradle 或 .gradle.kts 文件如何成为项目能够使用的插件感到困惑。而且,如果是这样,他们为什么不使用它作为:
应用插件:myproject.java-conventions
apply plugin apply plugin: myproject.java-conventions
和
plugins {
id("myproject.java-conventions")
}
解决方法
是的,myproject.java-conventions.gradle.kts
文件是一个 gradle 插件。具体来说,它是一个 precompiled script plugin。所有子模块都可以使用此插件,因为通过 buildSrc
项目中的 packaging a plugin,
Gradle 将负责...使其在构建脚本的类路径上可用。该插件对构建使用的每个构建脚本都是可见的。
plugins
块只是一种较新的应用插件方法。请参阅:What's the difference in applying gradle plugins?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。