【发布时间】:2019-05-09 11:17:31
【问题描述】:
我想将生成的 jar 文件上传到 packagecloud.io。
我的缩写build.gradle:
jar {
archiveName "$project.name-$project.version-SNAPSHOT.jar"
}
distTar {
archiveName 'dist.tar'
}
//project.configurations.archives.artifacts.clear()
artifacts {
archives( file( "$buildDir/libs/$project.name-$project.version-SNAPSHOT.jar" ) )
}
uploadArchives {
repositories.mavenDeployer {
pom.version = project.version + '-SNAPSHOT'
configuration = configurations.deployerJars
repository( url:'packagecloud+https://packagecloud.io/mycompany/central' ){
authentication password:pw
}
}
}
jar.finalizedBy uploadArchives
当我运行gradlew distTar时,jar文件与tar一起生成,并上传到repo,但构建失败并出现异常:
> Task :compileJava NO-SOURCE
> Task :compileGroovy UP-TO-DATE
> Task :processResources UP-TO-DATE
> Task :classes UP-TO-DATE
> Task :jar
> Task :startScripts
> Task :distTar
> Task :uploadArchives
Could not transfer artifact io.mozaiq:feature-state-verticle:pom:0.1-20190509.110559-1 from/to remote (packagecloud+https://packagecloud.io/mozaiq/central): Upload failed: {"error":"Validation failed: Unknown Java::Version::UnsupportedPackaging"}
Could not transfer artifact io.mozaiq:feature-state-verticle:tar:0.1-20190509.110559-1 from/to remote (packagecloud+https://packagecloud.io/mozaiq/central): Upload failed: {"error":"Could not understand this request, please contact support@packagecloud.io"}
> Task :uploadArchives FAILED
因此,出于某种原因,它不仅尝试上传 jar 文件,还尝试上传所有生成的人工制品。
如何限制发布到 jar 文件?
【问题讨论】:
-
@M.Ricciuti 在“解决方案”中 dist* 任务被简单地禁用,这是完全错误的!我需要同时执行两个任务
uploadArchives和distTar -
我认为这个问题中给出的其他解决方案是最好的方法:尝试从“档案”配置中删除 .zip/.tar。 Gradle 论坛上也有这个相关问题:discuss.gradle.org/t/…
-
在不同的组合中也试过了,见 upd
-
@M.Ricciuti 在玩了你的链接(没有用)之后,我设法让它启动并运行,没有任何问题。我最终添加了
configurations.archives.artifacts.removeAll{ 'jar' != it.type }。请随意回答问题,以便我接受
标签: java gradle maven-plugin