如何发布gradle子项目?

时间:2019-06-05 10:18:14

标签: gradle

我有一个新创建的Gradle项目,其中包含2个子项目。我需要将工件发布到一个链接存储库。因此,我在子项目中使用了gradle publish插件作为build.gradle文件中的以下代码示例。

plugins {
    id 'maven-publish'
}

group project.group

subprojects {
    publishing {
        publications {
            mavenJava(MavenPublication) {
                groupId project.group
                artifactId project.name
            }
        }
        repositories {
            maven {
                url project.url
                credentials {
                    username project.sonatypeUsername
                    password project.sonatypePassword
                }
            }
        }
    }

}

然后包括以下子项目settings.gradle文件。

include 'sub-proj-1'
include 'sub-proj-2'

在发布时,这里会迭代根项目和2个子项目,但会以sub-proj-2工件名称发布所有工件。

如果我执行println project.name,它将打印所有子项目名称并发布到最后一个子项目。

即使我按照以下方式尝试afterEvaluate,它也会在根项目下发布所有工件。

mavenJava(MavenPublication) {
    groupId project.group
    afterEvaluate {
        artifactId project.name
    }
}

我已将上述代码段的测试项目包含在Github repository

0 个答案:

没有答案