要将源安装到本地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)

但由于各种错误而失败。

最佳答案

您可以使用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
        }
    }
}

07-24 13:08