Gradle:如何将自定义JAR文件上传到Maven存储库

我建立一个jar文件,而不使用Gradle Jar任务(我需要在我的任务内使用Ant任务).如何将uploadArchives配置为能够在指定的存储库中安装JAR.

我已经尝试覆盖默认工件

uploadArchives {
    repositories {
        mavenDeployer {
            // some Maven configuration
        }
    }
}

artifacts {
    archives file: file('bin/result.jar')
}

但是我收到一个错误,可能没有相同类型和分类器的2个工件,这意味着此配置会增加覆盖配置.

你是对的,工件关闭只能向给定的配置添加工件(见ArtifactHandler API).

你有两个选择:

1)按照here(见第45.6.4.1节“每个项目的多个工件”)添加工件过滤器.如果您使用此方法,请尝试声明存档配置,如:

artifacts {
  archives file: file('bin/result.jar'), name: 'result', type: 'jar'
}

这样,你的工件过滤器就像这样:

addFilter('result') {artifact, file ->
  artifact.name == 'result'
}

2)将其作为单独的maven模块上传.如果result.jar是您上传的唯一jar,这可能是一个很好的解决方案.

configurations {
  resultArchives
}

uploadResultArchives {
  repositories {
    mavenDeployer {
      repository(url: "same/url/here")
    }
  }
}

artifacts{
  resultArchives file: file('bin/result.jar')
}

希望这可以帮助.

翻译自:https://stackoverflow.com/questions/11504430/gradle-how-to-upload-custom-jar-file-to-maven-repository

转载注明原文:Gradle:如何将自定义JAR文件上传到Maven存储库