Плагин Gradle maven-publish не работает в подпроектах

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

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 к проекту»: 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:publishAllPublicationsToGitHubPackagesRepository» ' завершенный

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

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.


person Sinapse    schedule 09.10.2019    source источник


Ответы (1)


возможно, вам нужно правильно заполнить эти свойства

  1. OWNER
  2. REPOSITORY
  3. GPR_USER
  4. GPR_API_KEY

см. @link https://github.com/youngerier/packagesdemo

person yue mu    schedule 10.01.2020