Плагин Gradle Maven-Publish не работает в подпроектах - PullRequest
0 голосов
/ 09 октября 2019

Следуя этому руководству:

https://help.github.com/en/articles/configuring-gradle-for-use-with-github-package-registry

Но когда я применяю maven-publish gradle к подмодулям, я получаю следующую ошибку:

Не удалось найти метод публикации () для аргументов [build_81s2rz8tveop6ddsgghnyy4gk $ _run_closure1 $ _closure4 @ 395cd54] для проекта ': cms-data-contract' типа org.gradle.api.Project.

и задачитерпит неудачу

Я пытался явно применить плагин maven-publish в этом подпроекте, но он не работал. Плагин применяется так, как можно видеть в инструкциях этого журнала:

: 25: 11.198 [DEBUG] [org.gradle.internal.operations.DefaultBuildOperationExecutor] Операция сборки 'Применить плагин org.gradle.api.publish. plugins.PublishingPlugin для проекта ': cms-data-contract' 'запущен 14: 25: 11.198 [DEBUG] [org.gradle.internal.operations.DefaultBuildOperationExecutor] Завершение операции сборки' Применить плагин org.gradle.api.publish.plugins. PublishingPlugin для проекта ': cms-data-contract' '14: 25: 11.198 [DEBUG] [org.gradle.internal.operations.DefaultBuildOperationExecutor] Операция сборки' Применить плагин org.gradle.api.publish.plugins.PublishingPlugin to project ': cms-data-contract '' завершено

и

14: 22: 51.786 [DEBUG] [org.gradle.internal.operations.DefaultBuildOperationExecutor] Операция сборки 'Зарегистрировать задачу: cms-data-contract: publishAllPublicationsToGitHubPackagesRepository 'запущено 14: 22: 51.787 [DEBUG] [org.gradle.internal.operations.DefaultBuildOperationExecutor] ЗавершениеОперация компоновки 'Зарегистрировать задачу: cms-data-contract: publishAllPublicationsToGitHubPackagesRepository' 14: 22: 51.787 [DEBUG] [org.gradle.internal.operations.DefaultBuildOperationExecutor] Операция компоновки 'Зарегистрировать задачу: cms-data-contract: publishAllPublicationsPaged Эл*

Я использую следующее:

plugins {
    id("maven-publish")
}

subprojects {
    apply plugin: "maven-publish"
    publishing {
        repositories {
            maven {
                name = "GitHubPackages"
                url = uri("https://maven.pkg.github.com/OWNER/REPOSITORY")
                credentials {
                    username = project.findProperty("gpr.user") ?: System.getenv("GPR_USER"))
                    password = project.findProperty("gpr.key") ?: System.getenv("GPR_API_KEY"))
                }
            }
        }
        publications {
            gpr(MavenPublication) {
                from(components.java)
            }
        }
    }
}

Руководство предлагает использовать:

plugins {
    id("maven-publish") apply false
}

, но это не удается, за исключением

Я должен бытьвозможность публикации артефакта в реестре github

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