gpt4 book ai didi

gradle - 如何在 Gradle 7 中抑制 POM 和 IVY 相关警告?

转载 作者:行者123 更新时间:2023-12-02 16:08:57 26 4
gpt4 key购买 nike

升级到 Gradle 7 后,我收到许多警告,例如:

Cannot publish Ivy descriptor if ivyDescriptor not set in task ':myProject:artifactoryPublish' and task 'uploadArchives' does not exist.
Cannot publish pom for project ':myProject' since it does not contain the Maven plugin install task and task ':myProject:artifactoryPublish' does not specify a custom pom path.

artifactoryPublish 任务运行良好。

我的 Gradle 脚本:

buildscript {
repositories{
maven {
url = '...'
credentials {
username '...'
password '...'
}
metadataSources {
mavenPom()
artifact()
}
}
}

dependencies {
classpath "org.jfrog.buildinfo:build-info-extractor-gradle:4.24.12"
}
}

apply plugin: 'java'
apply plugin: 'maven-publish'
apply plugin: org.jfrog.gradle.plugin.artifactory.ArtifactoryPlugin

publishing {
publications {
mavenJava(MavenPublication) {
from components.java
suppressAllPomMetadataWarnings()
}
}
}

group = '...'

artifactory {
contextUrl = '...'
publish {
repository {
repoKey = '...'
username = '...'
password = '...'
}
defaults {
publishConfigs('archives')
publishIvy = false
publications("mavenJava")
}
}
}

如何禁用这些警告?

最佳答案

看起来您混合了旧的 Gradle 发布配置方法和新的 Gradle 发布方法。

您应用了 maven-publish允许创建 publications 的插件.在 artifactory.default 中,您按预期添加了“mavenJava”发布。

然而,archives您的 build.gradle 文件中不存在发布配置。基本上,发布配置是由旧版 maven 创建的插入。配置的 mavenJava 发布与 archives 发布配置相同,因此所有 JAR 都按预期发布。

要删除您看到的警告消息,请从 artifactory.default 子句中删除 publishConfigs('archives'):

artifactory {
publish {
defaults {
publishConfigs('archives') // <-- Remove this line
publishIvy = false
publications("mavenJava")
}
}
}

阅读更多:

  1. Gradle Artifactory plugin documentation
  2. Example

关于gradle - 如何在 Gradle 7 中抑制 POM 和 IVY 相关警告?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68576798/

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