java – 使用gradle将源上传到nexus仓库

前端之家收集整理的这篇文章主要介绍了java – 使用gradle将源上传到nexus仓库前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我成功地将我的jars上传到了一个nexus仓库,它使用了用于渐变的maven插件,但没有上传代码.这是我的配置:
  1. uploadArchives {
  2. repositories{
  3. mavenDeployer {
  4. repository(url: "http://...") {
  5. authentication(userName: "user",password: "myPassword")
  6. }
  7. }
  8. }
  9. }

搜索并发现我可以通过添加一个新的任务添加源.

  1. task sourcesJar(type: Jar,dependsOn:classes) {
  2. classifier = 'sources'
  3. from sourceSets.main.allSource
  4. }
  5.  
  6. artifacts {
  7. archives sourcesJar
  8. }

这很好,但是我认为配置maven插件必须有一个更好的解决方案,像uploadSource = true这样:

  1. uploadArchives {
  2. repositories{
  3. mavenDeployer {
  4. repository(url: "http://...") {
  5. authentication(userName: "user",password: "myPassword")
  6. }
  7. uploadSources = true
  8. }
  9. }
  10. }

解决方法

没有比你自己描述的更好的解决方案. gradle maven插件正在上传当前项目中生成的所有工件.这就是为什么你必须明确地创建一个“源”工件.

使用新的maven-publish插件时,情况也不会改变.在这里,您还需要显式定义其他工件:

  1. task sourceJar(type: Jar) {
  2. from sourceSets.main.allJava
  3. }
  4.  
  5. publishing {
  6. publications {
  7. mavenJava(MavenPublication) {
  8. from components.java
  9.  
  10. artifact sourceJar {
  11. classifier "sources"
  12. }
  13. }
  14. }
  15. }

原因是毕业生更多的是一般的构建工具,而不是纯Java项目.

猜你在找的Java相关文章