如何使用Gradle发布具有不同组的多个构件?

huangapple go评论95阅读模式
英文:

How to publish multiple artifacts with different group using gradle?

问题

我有2个要推送的构件。
第一个是一个名为myTarBall-1.1.tar.gz的tar球。
第二个是一个名为myJarFile-1.1.jar的jar文件。

我想将myTarBall-1.1.tar.gz推送到nexus的以下位置com.sample.location.abc。
然后,我想将myJarFile-1.1.jar推送到nexus的以下位置com.sample.location.xyz。

我该如何操作?

到目前为止,我只成功将myTarBall-1.1.tar.gz推送到com.sample.location.abc,但我无法弄清楚如何将myJarFile-1.1.jar推送到com.sample.location.xyz...

任何帮助将不胜感激...

以下是我的build.gradle文件:

英文:

I have 2 artifacts I want to push.
first one is a tar ball called myTarBall-1.1.tar.gz
second one is a jar file myJarFile-1.1.jar

I want to push myTarBall-1.1.tar.gz into nexus to the following location com.sample.location.abc.
I then want to push myJarFile-1.1.jar into nexus to the following location com.sample.location.xyz.

How would I go about doing that?

Thus far, I am only successful in pushing the myTarBall-1.1.tar.gz to com.sample.location.abc, but I can't figure out how to push myJarFile-1.1.jar to com.sample.location.xyz...

Any help would be appreciated...

Below is my build.gradle file:

plugins 
{
    id 'maven-publish'
}

group = "com.sample.location.abc"
version = "1.1"
def artifact_tar = 'myTarBall'
def artifact_jar = 'myJarFile'

publishing {
    publications {
        maven(MavenPublication) {
            groupId = "${project.group}"
            artifactId = "${artifact_tar}"
            version = "${version}"
            artifact source: "${artifact_tar}-${version}.tar.gz", extension: "tar.gz"

            ??? How to also push myJarFile-1.1.jar to com.sample.location.xyz in here???
        }
    }
}

答案1

得分: 1

为了能够将构件推送到不同的组,我只需要添加一个新的发布,这是由 @user16358266 提出的建议。

publishing {
    publications {
        mavenOne(MavenPublication) {
            groupId = "${project.group}"
            artifactId = "${artifact_tar}"
            version = "${version}"
            artifact source: "${artifact_tar}-${version}.tar.gz", extension: "tar.gz" 
        }
        mavenTwo(MavenPublication) {
            groupId = "${new.group.id}"
            artifactId = "${artifact_jar}"
            version = "${version}"
            artifact source: "${artifact_jar}-${version}.jar", extension: "jar" 
        }
    }
}
英文:

In order to be able to push artifacts to different groups, I simply needed to add a new publication, which was suggested by @user16358266

publishing {
    publications {
        mavenOne(MavenPublication) {
            groupId = "${project.group}"
            artifactId = "${artifact_tar}"
            version = "${version}"
            artifact source: "${artifact_tar}-${version}.tar.gz", extension: "tar.gz" 
        }
    mavenTwo(MavenPublication) {
            groupId = "${**new.group.id**}"
            artifactId = "${artifact_jar}"
            version = "${version}"
            artifact source: "${artifact_jar}-${version}.jar", extension: "jar" 
        }
    }
}

huangapple
  • 本文由 发表于 2023年3月4日 00:07:37
  • 转载请务必保留本文链接:https://go.coder-hub.com/75629391.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定