从自己的代码中获取自定义 Gradle 插件的版本

Vin*_*tin 2 plugins gradle

我写了一个 Gradle 插件,它的版本在它的构建脚本中指定。

当有人使用它时,这个插件有可能知道它自己的版本吗?(即当它的apply(Project project)方法被调用时)

小智 6

对于我的插件,我在构建期间将一个字段嵌入到名为 Implementation-Version 的 MANIFEST.MF 文件中。然后我在运行时读取该字段,通过访问这样的包:

def pkg = MyPlugin.class.getPackage()
return pkg.implementationVersion
Run Code Online (Sandbox Code Playgroud)

或者使用如下帮助类:https : //github.com/nebula-plugins/nebula-core/blob/master/src/main/groovy/nebula/core/ClassHelper.groovy#L16从清单中获取任意字段。

  • 它工作正常,谢谢。在清单中添加属性的代码段:`jar { manifest { attributes("Implementation-Version": version) } }` (3认同)