2016-01-07 49 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