Как публиковать промежуточные подпроекты? - PullRequest
1 голос
/ 05 июня 2019

У меня есть недавно созданный проект Gradle с 2 подпроектами.Мне нужно опубликовать артефакты в хранилище Nexus.Следовательно, я использовал плагин 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.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...