gpt4 book ai didi

gradle - 需要捕获 UploadArchive 的事件并发布 Gradle 任务

转载 作者:行者123 更新时间:2023-12-03 04:08:44 24 4
gpt4 key购买 nike

我有一个场景,我需要在 init.gradle 文件中捕获以下详细信息。
我们可以获得任务的所有事件吗?
UploadArchive 和发布任务的输入参数,其中 repo 是要上传的工件,所有 GAV 详细信息……因为 POM 可以在 uploadArchive 任​​务中自定义。
我们有运行 v3.5 到 v6.3 版本的 Gradle 的应用程序。
你能帮忙吗
嗨@PrasadU
我们能否确定哪个部署 url,uploadArchive 任​​务将在运行时选择。

uploadArchive {
repositories {
mavenDeployer {
repository(url: ReleaseURL) {
authentication(userName: Username, password: Password)
}
snapshotRepository(url: SnapshotURL ) {
authentication(userName: Username, password: Password)
}
}
}
}

最佳答案

列出相同的任务如下

publishing {
publications {
maven(MavenPublication) {
groupId = 'abc.xyz'
artifactId = 'overr-name'
version = '1.1-OV'

from components.java
}
}
repositories {
maven {
url = uri("$buildDir/repos/releases")
}
maven {
url = uri("$buildDir/repos/snaps")
}
}
}

task printML() {
doLast {
tasks.findAll {task ->
if (task.name.matches("publish.*PublicationToMavenLocal")) {
def publication = task.publicationInternal
println("Local => $publication.artifactId $publication.groupId $publication.version")
}
if (task.name.matches("publish.*PublicationTo.*Repository")) {
def publication = task.publicationInternal
println("Remote => $publication.artifactId $publication.groupId $publication.version $task.repository.url")
}
}
}
}
样本输出
> Task :printML
Remote => overr-name abc.xyz 1.1-OV file:/Users/projects/Store/combined-samples/build/repos/snaps
Local => overr-name abc.xyz 1.1-OV
Remote => overr-name abc.xyz 1.1-OV file:/Users/projects/Store/combined-samples/build/repos/releases

关于gradle - 需要捕获 UploadArchive 的事件并发布 Gradle 任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62838908/

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