在spring-security项目中,在build.gradle文件中,提供了以下插件:
apply plugin: 'io.spring.nohttp'
apply plugin: 'locks'
apply plugin: 'io.spring.convention.root'
apply plugin: 'org.jetbrains.kotlin.jvm'
apply plugin: 'org.springframework.security.update-dependencies'
apply plugin: 'org.springframework.security.sagan'
apply plugin: 'org.springframework.github.milestone'
apply plugin: 'org.springframework.github.changelog'关于列表中的第一个插件(io.spring.nohttp) --在Gradle -插件页面中,如果在Search Gradle plugins文本字段中使用io.spring.nohttp术语,则显示io.spring.nohttp结果--可以打开所有者:弹簧IO,其中显示同一个所有者的许多插件。如果您为其中一些用户打开了一个新的选项卡页,您将看到它在GitHub中使用两个不同的帐户--例如:
https://github.com/spring-io/nohttp ( spring-io用户)https://github.com/spring-gradle-plugins/dependency-management-plugin ( spring-gradle-plugins用户)所以,我可以分析和理解每个插件是如何工作的,或者它是如何工作的。
对于其他插件- org.jetbrains.kotlin.jvm -发生相同的经验,上面分享。
的原因:对于许多其他插件,如果我尝试搜索其他插件,例如关于Sagan --如果在textfield中使用org.springframework.security.sagan术语,它不会返回结果(即使只使用sagan术语)--但是我知道GitHub 春奥/萨根项目中存在这个插件,对吗?
那么如何解决“理论上”在Gradle plugins页面中不存在的插件呢?
发布于 2021-07-08 06:47:05
spring-security定义的一些插件没有发布到Gradle插件门户,也没有发布在任何其他存储库中。但是,它可以工作,因为项目也可以使用buildSrc目录定义自定义插件。
例如,ID为org.springframework.security.sagan的插件定义在相应的buildSrc/build.gradle中。
gradlePlugin {
plugins {
sagan {
id = "org.springframework.security.sagan"
implementationClass = "org.springframework.gradle.sagan.SaganPlugin"
}
}
}spring-io/sagan本身并不是一个Gradle插件。
阅读更多关于官方Gradle文档中的机械原理的文章:
https://stackoverflow.com/questions/68258949
复制相似问题