Следуя этому руководству:
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.