我想将我的工件上传到远程 Nexus 存储库。因此,我在 Nexus 中配置了快照和发布仓库。部署到这两个作品。
现在我想配置我的构建,以便我可以决定要部署在哪个 repo 中:
gradle uploadArchives
应该部署到我的快照仓库gradle release uploadArchives
应该部署到我的发布仓库
这是我的尝试:
apply plugin: 'war'
apply plugin: 'maven'
group = 'testgroup'
version = '2.0.0'
def release = false
repositories {
mavenCentral()
mavenLocal()
}
dependencies{ providedCompile 'javax:javaee-api:6.0' }
task release <<{
release = true;
println 'releasing!'
}
uploadArchives {
repositories {
mavenDeployer {
repository(url: "http://.../nexus/content/repositories/releases"){
authentication(userName: "admin", password: "admin123")
}
addFilter('lala'){ x, y -> release }
}
mavenDeployer {
repository(url: "http://.../nexus/content/repositories/snapshots"){
authentication(userName: "admin", password: "admin123")
}
addFilter('lala'){ x, y ->!release}
pom.version = version + '-SNAPSHOT'
}
}
}
如果我注释掉两个 mavenDeployer 配置之一,则构建工作,但不是作为一个整体。
任何想法如何在一个构建文件中配置两个目标档案?