我尝试自动上传到一些内部maven回购。我在我的一个Android Librarys中使用Gradle 2.14.1。
我面临的问题是,当我上传库时,创建的pom不包含任何排除规则。我读到了关于pom.withXMl闭包的内容,我可能需要对此进行一些扩展,但我很难做到这一点。
compile('com.squareup.retrofit:converter-simplexml:1.9.0') {
exclude group: 'stax', module: 'stax'
exclude group: 'stax', module: 'stax-api'
exclude group: 'xpp3', module: 'xpp3'
}
出于某些调试目的,我使用了:
publishing {
publications {
aar(MavenPublication) {
groupId packageName
version = libraryVersion
artifactId project.getName()
artifact("$buildDir/outputs/aar/${project.getName()}-${ending}.aar")
configurations.getByName("_releaseCompile").allDependencies.each {
if (it.getGroup().equals("com.squareup.retrofit")) {
it.properties.each { prop ->
if (prop.key.equals("excludeRules")) {
println("--> value ->" + prop.getValue());
}
}
}
}
输出:
- > value - > [org.gradle.api.internal.artifacts.DefaultExcludeRule@6c0cb00,org.gradle.api.internal.artifacts.DefaultExcludeRule@553bcdcd,org.gradle.api.internal.artifacts.DefaultExcludeRule@707d760]
有没有智能的方式来访问这些规则?也许这些值也存储在其他地方?
packagename“org.gradle.api.internal.artifacts.DefaultExcludeRule”已经在内部API中告诉我这一点。我现在有点困在这里,因为我想把这个任务写得更通用,以便它可以更容易地重复使用。
感谢您的帮助:)