发布可重复使用的gradle任务

时间:2017-02-09 09:27:29

标签: gradle maven-publish

我想发布build.gradle文件的一些常见部分,以便在不同的项目中可重用(使用apply from: url_to_file构造)。为实现这一目标,我创建了一个名为gradle-common的项目,其中包含这些常见的构建文件,以及build.gradle文件:

group 'org.example'
version '0.1.0'

apply plugin: 'maven-publish'

publishing {
    publications {
        mavenJava(MavenPublication) {
            artifact source: file('files/first.gradle'), classifier: 'first'
        }
        mavenJava(MavenPublication) {
            artifact source: file('files/second.gradle'), classifier: 'second'
        }
    }
    repositories {
        mavenLocal()
    }
}

在maven存储库中发布后的文件有以下文件:

  • gradle这个-共0.1.0-first.gradle
  • gradle这个-共0.1.0-second.gradle

我的问题是:如何从已发布的工件和类文件中删除版本号?对我来说,理想的文件是:

  • first.gradle
  • second.gradle

1 个答案:

答案 0 :(得分:0)

您的问题有许多不同的答案,但我认为您正在尝试创建插件通常无需创建插件的内容。

向多个gradle项目添加功能的最佳方法是create a plugin。您还可以利用此简单教程未显示的 Rules ,但您可以检查一些gradle原生插件,例如maven-publish

要回答您的问题,无法在没有版本的情况下将工件发布到maven存储库。您必须下载一个版本(您可以使用my-artifact:1+下载最新版本),然后自己剥离版本。

我也想知道您打算如何将这些文件包含在特定的gradle文件中。您无法将它们用作依赖项,因为在读取脚本后会发生依赖项解析。如果您在脚本运行之前以某种方式下载它们,那么您可能不需要maven存储库。