我有一个新创建的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
中