如何使用Gradle将源发布到本地maven存储库?

Dim*_*ims 5 java gradle

我正在开发两个相关的项目.其中一个是"帮手",另一个是"主要".我不断更新"主要",但有时我也会更新"帮助".之后我install在gradle的maven插件中运行目标,并在当地的maven repo中获取罐子.之后,我在"主"项目中进行gradle更新,并更新了罐子链接.

有两个问题.

1)如果使用maven插件,那么如何将源代码发布到本地maven repo中呢?

2)我可以在没有maven插件的情况下进行类似操作,只能使用Gradle吗?

Str*_*lok 16

使用"maven-publish"插件发布源代码很容易:

apply plugin: "maven-publish"

task sourceJar(type: Jar) {
  from sourceSets.main.allJava
}

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

          artifact sourceJar {
            classifier "sources"
          }
        }
     }
}
Run Code Online (Sandbox Code Playgroud)

然后去发布到本地maven运行: gradle publishToMavenLocal

更多信息请参阅文档:https://docs.gradle.org/current/userguide/publishing_maven.html#gsc.tab=0

  • 顺便说一句,您可以使用缩写的任务名称来减少在命令行上的输入,例如“publishToMavenLocal”的缩写形式是“pTML”。因此你也可以运行 `gradle pTML` (5认同)