gpt4 book ai didi

java - 从Gradle “provided”在pom.xml中生成Maven “compileOnly”依赖项

转载 作者:行者123 更新时间:2023-12-03 05:21:18 34 4
gpt4 key购买 nike

如果我理解正确,那么Gradle的compileOnly依赖项就对应于Gradle的旧provided,同时也对应于Maven POM的provided。它在Gradle世界中完美运行。
但是,compileOnlyprovided生成的pom.xml中不会生成任何maven-publish依赖项。
我们正在使用Gradle将Maven Artifact 发布到Maven Central。我们想在Gradle的provided中已发布的pom.xml中明确声明compileOnly

有谁知道有没有简单的方法可以做到这一点?或者,我们是否需要在以下代码中编写我们自己的Gradle脚本:

publishing {
publications {
maven(MavenPublication) {
pom {
/* Our own Gradle scripting to declare provided dependencies. */
}
}
}
}

最佳答案

我知道我们可以通过如下所示编写脏脚本来对其进行调整,但是我们基本上不希望尽可能在build.gradle中“编写脚本”。

publishing {
publications {
maven(MavenPublication) {
pom {
withXml {
project.configurations.compileOnly.allDependencies.each { dependency ->
asNode().dependencies[0].appendNode("dependency").with {
it.appendNode("groupId", dependency.group)
it.appendNode("artifactId", dependency.name)
it.appendNode("version", dependency.version)
it.appendNode("scope", "provided")
}
}
}
}
}
}
}

关于java - 从Gradle “provided”在pom.xml中生成Maven “compileOnly”依赖项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63372385/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com