我有一个Java项目,使用以下方法构建和发布许多jar( a.jar , b.jar ,...)
publishing {
publications {
a (MavenPublication) {
artifactId 'a'
artifact aJar
}
b (MavenPublication) {
artifactId 'a'
artifact aJar
}
}
}
repositories { ...
我还定义了一个 z.jar ,我想要一个特殊的任务来发布它,我想不为构建和发布(publishToMaven *)任务构建/发布它。
如何定义此类任务?
我尝试了类似的东西和其他变体,它无法编译gradle:
task zPublish(type: PublishToMavenRepository) {
publication = new MavenPublication() {
artifactId 'z'
artifact zJar
}
}
我搜索 maven-publish 插件的in the source但未成功。
感谢您的好主意。
答案 0 :(得分:0)
尝试创建单独的任务
publishing {
publications {
a (MavenPublication) {
artifactId 'a'
artifact aJar
}
b (MavenPublication) {
artifactId 'b'
artifact bJar
}
z(MavenPublication) {
artifact zJar
}
}
}
task zPublish() {
dependsOn('publishZPublicationToMavenRepository')
description('Publishes Z')
}
task otherPublish() {
dependsOn('publishAPublicationToMavenRepository', 'publishBPublicationToMavenRepository')
description('Publishes A and B')
}
答案 1 :(得分:-1)
默认情况下,Gradle插件maven-publish
为每个发布和存储库创建一个传统任务,因此如果您定义了发布,则可以使用该传统任务发布它。
例如,如果您已定义z
出版物,则可以使用任务publishZPublicationToMavenRepository
。