Maven - публикация нескольких подмодулей / артефактов - PullRequest
1 голос
/ 14 января 2020

У меня есть Kotlin проект, организованный так:

project-name
    > project-name-core
    > project-name-domain

Мой скрипт публикации gradle настроен так:

publishing {
    repositories {
        mavenLocal()
    }
    publications.all {
        pom.withXml(configureMavenCentralMetadata)
    }
    publications {
        mavenPublication(MavenPublication) {
            from components.java
            groupId 'com.project'
            artifactId 'project-name'
            artifact sourcesJar
            artifact javadocJar
        }
    }
}

Когда я запускаю ./gradlew publishToMavenLocal, я могу см. project-name в кеше локального хранилища, но не project-name-core или project-name-domain.

Как настроить gradle для публикации sh моих подмодулей в кеше локального хранилища maven?

1 Ответ

0 голосов
/ 14 января 2020

Лучше всего предположить, что вы применили плагин публикации только к проекту root, а не к подпроектам.

Если вы собираетесь опубликовать sh проект root ( src/) в дополнение к подпроектам, вы должны переместить конфигурации в блок allprojects:

allprojects {
    publishing {
        publications.all {
            pom.withXml(configureMavenCentralMetadata)
        }
        publications {
            mavenPublication(MavenPublication) {
                from components.java
                groupId 'com.project'
                artifactId 'project-name'
                artifact sourcesJar
                artifact javadocJar
            }
        }
    }
}

В противном случае, если вы хотите опубликовать только sh подпроекты, затем замените allprojects с subprojects

Также вам не нужно добавлять конфигурацию репозиториев с помощью mavenLocal().

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