gpt4 book ai didi

kotlin - Gradle:仅在发布到本地时才更改工件名称

转载 作者:行者123 更新时间:2023-12-02 13:41:16 25 4
gpt4 key购买 nike

我只想在使用插件-LOCAL发布到mavenLocal()时才将后缀maven-publish附加到我的 Artifact 版本中,以便在要将其添加到其他项目的依赖项时,
我可以这样添加依赖项:

dependencies {
implementation("my.group", "my-jar", "1.0.0-LOCAL")
}
我尝试的解决方案是在发布时将字符串连接起来
publishing {
publications {
create<MavenPublication>("maven") {
artifacts {
artifact(tasks["sourcesJar"]) {
builtBy(tasks["remapSourcesJar"])
version += "LOCAL"
}

artifact(tasks["javadocJar"]) {
version += "LOCAL"
}
artifact(tasks["remapJar"]) {
version += "LOCAL"
}
}
}

repositories {
mavenLocal()
maven(url = "some url") { name = "E" }
}
}
}
但是,更改不是动态的,这将在我发布时更改版本名称
到其他存储库中(可能我还没有尝试过)。我只想改变
仅在本地发布时。
我该如何解决这个问题?

最佳答案

您应该具有2个发布文物,然后有条件地发布..参见https://docs.gradle.org/current/userguide/publishing_customization.html

publishing {
publications {
mavenLocal(MavenPublication) {
version += "-LOCAL"
from components.java
}
maven(MavenPublication) {
from components.java
}
}
repositories {
maven {
url = uri("$buildDir/repos/releases")
}
maven {
url = uri("$buildDir/repos/snaps")
}
}
}

tasks.withType(PublishToMavenRepository) {
onlyIf {
publication == publishing.publications.maven
}
}
tasks.withType(PublishToMavenLocal) {
onlyIf {
publication == publishing.publications.mavenLocal
}
}

关于kotlin - Gradle:仅在发布到本地时才更改工件名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63259253/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com