将发布配置移动到gradle中的一个位置

时间:2017-09-27 13:28:21

标签: gradle build.gradle gradle-plugin

我有一个有模块的项目,我的目标是在构建每个模块之后配置发布,并且在构建完所有模块之后,我可以创建一个包含所有jar的zip文件并上传它。我是在subprojects部分和外部部分进行的。

publishing {
  publications {
    mavenJava(MavenPublication) {
      //my artifacts here
    }
  }
  repositories {
    maven {
      url "${artifactoryURL}"
      credentials {
        username = "${artifactoryUsername}"
        password = "${artifactoryPassword}"
      }
    }
  }
}

有没有办法将repositories配置移到一个地方,这样我可以避免重复此配置?

1 个答案:

答案 0 :(得分:1)

我猜你是在顶级(根,父)项目中创建可部署的,没有任何来源。

  

有没有办法将存储库配置移到一个地方,这样我就可以避免重复这种配置了?

不确定。只需使用subprojectsallprojects或通用configure,具体取决于您的需求:

allprojects {
  id 'maven-publish'

  publishing {
    repositories {
      maven {
        url "http://maven.repo"
      }
    }
  }
}

这将为所有项目配置发布(请注意您可能不想发布所有内容)。

对于使用Java源代码的项目,您可以像往常一样配置发布:

subprojects {
  publishing {
      publications {
          main(MavenPublication) {
              from components.java

              artifact sourcesJar
              artifact javadocJar
          }
      }
  }
}

对于root项目,只需按照previous question

配置部署