【发布时间】:2021-08-20 06:09:59
【问题描述】:
我正在测试来自核心插件 java-gradle-plugin 的 validatePlugins 任务,它在构建期间似乎什么都不做,或者如果我直接运行它。
我有一个构建脚本,它使用不存在的插件类定义插件。
注意foo.bar.NonexistingPluginClass这个类不在我的源代码中。
plugins {
id 'java-gradle-plugin'
}
gradlePlugin {
plugins {
create("simplePlugin") {
id = "foo.bar.validation-plugin-test"
implementationClass = "foo.bar.NonexistingPluginClass"
}
}
}
现在官方Gradle page 表示正在进行以下验证:
实现类属性引用了一个有效的类文件 罐子。
当我运行build 任务时,它也触发了validatePlugins 一个并且没有报告任何警告,什么也没有。另外,如果我检查build/reports/plugin-development/validation-report.txt,文件只是空白。
相反,我看到的是 :jar 任务在执行 validatePlugins 之前就已执行,会在日志中抛出一条消息,如下所示:
> Task :compileJava
> Task :pluginDescriptors
> Task :processResources
> Task :classes
> Task :jar
:jar: A valid plugin descriptor was found for foo.bar.validation-plugin-test.properties but the implementation class foo.bar.NonexistingPluginClass was not found in the jar.
> Task :assemble
>...
> Task :validatePlugins
> Task :check
> Task :build
BUILD SUCCESSFUL in 1s
我是否遗漏了一些额外的配置,因此我收到了关于 implementationClass 实际上并未引用 validatePlugins 任务中的现有类的警告?还是我误解了文档?这是一个错误吗?
PS:使用 Gradle 7.2、Java 15 运行
【问题讨论】:
标签: gradle gradle-plugin