如何将源的发布与安装到本地Maven存储库联系起来?

时间:2017-03-15 14:31:59

标签: maven gradle

要将源安装到本地Maven存储库,我要was taught编写

申请插件:“maven-publish”

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

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

          artifact sourceJar {
            classifier "sources"
          }
        }
     }
}

并根据需要复制文件。现在我希望这项工作能够与maven插件的安装任务一起自动完成。

我试过几行像

install.dependsOn(publishing.publishSources)

install.dependsOn(publishSources)

但因各种错误而失败。

1 个答案:

答案 0 :(得分:0)

您可以使用nebula.source-jar插件。或者你至少可以从自述文件中复制/粘贴bolierplate。

例如:Eliminates this boilerplate:

tasks.create('sourceJar', Jar) {
    dependsOn tasks.classes
    from sourceSets.main.allSource
    classifier 'sources'
    extension 'jar'
    group 'build'
}
publishing {
    publications {
        nebula(MavenPublication) { // if maven-publish is applied
            artifact tasks.sourceJar
        }
        nebulaIvy(IvyPublication) { // if ivy-publish is applied
            artifact tasks.sourceJar
        }
    }
}