2016-01-07 51 views
1

我很难弄清楚META-INF/gradle-plugins/plugin.properties必须匹配什么。这里有两个问题。一个是属性文件的名称,另一个是其中的值设置为implementation-class。所以这里是我的问题,就像我可以说的那样简洁。如何打包Gradle插件?

如果我有:

META-INF/gradle-plugins/com.my.plugin.properties 

什么部分源插件做文件名地图?这个名字的含义是什么?它的来源和目的地?我是否正确地使用了该名称,或者它是否不合格?

如果我有里面的文件:

implementation-class=build.WeirdoPlugin 

什么是这个名字的来源和目的地?

回答

0

implementation-class应指向实现Plugin<>

例如你的主要插件类,在jmeter-gradle-plugin/src/main/resources/META-INF/gradle-plugins/net.foragerr.FooPlugin.properties

implementation-class=net.foragerr.soanswers.FooPluginImpl 

我会再实现一个类:

package net.foragerr.soanswers 

class FooPluginImpl implements Plugin<Project>{ 
    ... 
} 

使用插件,您将它应用为(在新的gradle格式中):

plugins { 
    id "net.foragerr.FooPlugin" version "xxx" 
} 
+0

...并且域部分必须与包匹配,而名称部分必须与类名匹配。校验?在文档中有一个令人困惑的例子,它有一个未加星号的文件名。例如“file.properties”而不是“com.package.file.properties” – user447607

+0

如何命名gradle插件在最近的几个版本中已经改变了一点。包括包名称的完全限定名称现在是标准。您可能会看到较老的插件名称较简单。 – RaGe

+0

实现类后面的字符串实际上是:实现该插件的类的'package.name.classname'。属性文件的名称是插件ID。 – RaGe