我正在使用gradle 4.3.1
当我发布到maven时,我在范围compileOnly
中有依赖项我发现这些依赖项不在pom文件中。
我想将它们映射到maven的provided
范围。
我该怎么做?
答案 0 :(得分:3)
我不知道任何干净的解决方案(maven-publish插件仍在孵化),所以我从https://stackoverflow.com/a/25201395/2838501中获取灵感,并且有一个肮脏的解决方案:
publications {
mavenJava(MavenPublication) {
from components.java
pom.withXml {
project.configurations.compileOnly.allDependencies.each { dep ->
asNode().dependencies[0].appendNode('dependency').with {
it.appendNode('groupId', dep.group)
it.appendNode('artifactId', dep.name)
it.appendNode('version', dep.version)
it.appendNode('scope', 'provided')
}
}
}
}
}