我在MavenCentral部署了一个图书馆几年。AGP 8.1.0的最新更新破坏了该过程,导致错误:
无法将发布“release”发布到存储库“mavenLocal”
无效的发布“release”:具有相同扩展名和分类器('jar.asc',' sources')的多个工件。`
据我所知,由于某种原因,新的AGP添加了unobfuscated'sources.jar',它与我的(旧的)冲突
我的代码(相关部分)是:
tasks.register('androidSourcesJar', Jar) {
archiveClassifier.set('sources')
// some more code
}
然后在出版物本身:
// Applies the component for the envProdRelease build variant.
from components.envProdRelease
// Add the sources and Javadoc JARs to the publication
artifact androidSourcesJar // <- this causing the error
如果我将AGP恢复到7.4.2版本,一切都按预期工作。如果我从发布中删除工件androidSourcesJar
,脚本将发布具有非模糊源的库,这对我来说是完全不可接受的。我正在使用'maven-publish'
插件和nexus-publish-plugin
。
1条答案
按热度按时间kb5ga3dv1#
经过几个小时的努力,我找到了解决这个问题的简单方法。您所需要做的就是强制maven-publish插件不创建sources.jar。为此,您需要修改MavenPublication采用的组件(除非您想创建自己的Gradle任务集),因此我的问题的解决方案是:
现在,您可以使用自己的任务创建sources.jar和/或javadoc.jar。