我正在尝试自定义我的pom,如this thread所示。我的尝试看起来像这样:
def pomConfig = {
// ...
licenses {
license {
name "LGPL 3.0"
url "https://gnu.org/licenses/lgpl-3.0"
distribution 'repo'
}
}
}
publishing {
publications {
maven(MavenPublication) {
from components.java
pom.withXml {
asNode().children().last() + pomConfig
}
}
}
}
但是,这在(无效)pom中显示如下:
<licenses>
<name>LGPL 3.0</name>
<url>https://gnu.org/licenses/lgpl-3.0</url>
<distribution>repo</distribution>
</licenses>
当我将gradle中的名称从license
更改为其他内容时,它就像魅力一样。例如。当我将其重命名为liecense
时,我得到以下xml:
<licenses>
<liecense>
<name>LGPL 3.0</name>
<url>https://gnu.org/licenses/lgpl-3.0</url>
<distribution>repo</distribution>
</liecense>
</licenses>
我尝试使用gradle 4.2.1和gradle 4.3.1,两者都有相同的行为。
如何让gradle添加license
xml元素?
我发现我使用的插件具有license {}
块内的配置。禁用插件可以解决问题。但是我想知道是否有任何方法让插件处于活动状态且pomConfig
同时工作?我尝试编写"license" {
代替,但它没有解决问题。定义pomConfig
后应用插件也没有用。