我在项目中创建了一个简单的gradle插件。根据文档,它应该可以,但是当我尝试使用它时,我得到了我所指的Plugin with id 'show-date-plugin' not found.文档:plugins.html
您可以将插件的源代码放在rootProjectDir/buildSrc/src/main/groovy目录中。Gradle将负责编译和测试插件,并使其在构建脚本的类路径上可用。该插件对构建所使用的每个构建脚本都是可见的。但是,它在构建之外是不可见的,因此您不能重用它所定义的构建之外的插件。
这是我的build.gradle
plugins {
id 'java'
id 'groovy'
}
group 'info.garagesalesapp'
version '1.0-SNAPSHOT'
sourceCompatibility = 1.8
repositories {
mavenCentral()
mavenLocal()
}
dependencies {
compile 'org.codehaus.groovy:groovy-all:2.4.12'
compile gradleApi()
compile localGroovy()
compile project(':json-display')
testCompile group: 'junit', name: 'junit', version: '4.12'
}
apply plugin: 'project-report'
apply plugin: 'show-date-plugin'这是项目中的插件位置:

那我做错什么了?
发布于 2018-06-01 21:10:03
您不遵循文档。引号中的路径是rootProject/buildSrc/src/main/groovy,但您不使用buildSrc目录,而是将插件源代码包含到项目源代码中。因为这些源只有在执行特定的compileJava / compileGroovy时才会生成,所以它们不能在构建脚本中使用。
您可以将buildSrc目录看作一个简单的子项目,也可以在那里创建一个build.gradle文件。如果不创建一个,则将使用隐式生成文件内容。
似乎插件It不能用于buildSrc插件。需要通过指定实现类的全名(带有包)来应用插件:
apply plugin: ShowDatePlugin如果您的插件按预期工作,我建议将代码提取到单独的插件项目中,以实现更好的可重用性。
发布于 2022-03-17 21:56:05
我也遇到了同样的错误,有时我们需要在文档方面更进一步,因为它可能不太清楚。
我的问题是,我没有添加buildSrc/build.gradle文件,所以它没有找到插件id:
buildSrc/build.gradle
plugins {
id 'groovy-gradle-plugin'
}这实际上是在文档中提到的,但是下面是其他部分。
最后,预编译插件似乎无法在allprojects root build.gradle的配置中应用,因此我需要将其添加到每个模块构建文件中。
https://stackoverflow.com/questions/50648187
复制相似问题