
[英]Gradle Android Maven Plugin doesn't create the pom file automatically
[英]How to use a pom file in the Maven deployer plugin for Gradle?
我需要能够在本地生成pom文件并将项目部署为sonatype。
这是我的做法:
task createPom {
doLast {
pom.project {
groupId = "com.example"
//...
}.writeTo("pom.xml")
}
}
uploadArchives {
repositories {
mavenDeployer {
beforeDeployment { MavenDeployment deployment -> signing.signPom(deployment) }
repository(url: "https://oss.sonatype.org/service/local/staging/deploy/maven2/") {
authentication(userName: ossrhUsername, password: ossrhPassword)
}
snapshotRepository(url: "https://oss.sonatype.org/content/repositories/snapshots/") {
authentication(userName: ossrhUsername, password: ossrhPassword)
}
pom.project {
groupId = "com.example"
//...
}
}
}
}
如您所见,它不遵循DRY原理,因为我两次编写了相同的pom文件。 如果需要在POM文件中添加或删除任何字段,则需要在两个地方都将其删除。
我有个主意。 我们可以说uploadArchives
任务依赖于createPom
任务,就像这个uploadArchives (dependsOn: createPom)
。 现在我们可以生成一个POM文件,然后在使用mavenDeployer
时进行读取。 但是如何告诉mavenDeployer
从文件读取pom而不生成默认pom文件? 或者,如果可以生成全局pom变量并在两个任务中都使用它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.