Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何打包Gradle插件?_Gradle - Fatal编程技术网

如何打包Gradle插件?

如何打包Gradle插件?,gradle,Gradle,我很难弄清楚META-INF/gradle plugins/plugin.properties必须匹配什么。这里有两个问题。一个是属性文件的名称,一个是其中设置为实现类的值。这是我的问题,尽可能简洁 如果我有: META-INF/gradle-plugins/com.my.plugin.properties 文件名映射到源插件的哪个部分?这个名字意味着什么?它的来源和目的地?我的名字是正确的,还是不应该如此限定 如果在文件中我有: implementation-class=build.Wei

我很难弄清楚META-INF/gradle plugins/plugin.properties必须匹配什么。这里有两个问题。一个是属性文件的名称,一个是其中设置为
实现类的值。这是我的问题,尽可能简洁

如果我有:

META-INF/gradle-plugins/com.my.plugin.properties 
文件名映射到源插件的哪个部分?这个名字意味着什么?它的来源和目的地?我的名字是正确的,还是不应该如此限定

如果在文件中我有:

implementation-class=build.WeirdoPlugin

此名称的来源和目的是什么?

实现类应指向实现
插件的主插件类

例如,在
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>{
  ...
}

实现类
应该指向实现
插件

例如,在
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>{
  ...
}

…并且域部分必须与包匹配,而名称部分必须与类名匹配。验证文档中有一个不带点的文件名的混淆示例。例如,“file.properties”而不是“com.package.file.properties”,gradle插件的命名方式在最近几个版本中发生了一些变化。包括包名在内的完全限定名现在是标准名称。对于较旧的插件,您可能会看到更简单的名称。实现类后面的字符串实际上是:
package.name.classname
,用于实现插件的类。属性文件的名称是插件id。他们需要修复doggone dox…域部分必须与包匹配,而名称部分必须与类名匹配。验证文档中有一个不带点的文件名的混淆示例。例如,“file.properties”而不是“com.package.file.properties”,gradle插件的命名方式在最近几个版本中发生了一些变化。包括包名在内的完全限定名现在是标准名称。对于较旧的插件,您可能会看到更简单的名称。实现类后面的字符串实际上是:
package.name.classname
,用于实现插件的类。属性文件的名称是插件id。他们需要修复DoggoDox。