У меня есть личный репозиторий под пользователем X и именем репозитория Y :
https://github.com/X/Y
Этот проект Java построен с использованием Gradle.
Файл конфигурации Gradle был настроен, как описано в официальной документации Реестр пакетов Github , и я могу успешно опубликовать свой пакет:
https://help.github.com/en/articles/configuring-gradle-for-use-with-github-package-registry#publishing-a-package
publishing {
repositories {
maven {
name = "GitHubPackages"
url = uri("https://maven.pkg.github.com/X/Y")
credentials {
username = project.findProperty("gpr.user") ?: System.getenv("GITHUB_PACKAGE_REGISTRY_USER")
password = project.findProperty("gpr.key") ?: System.getenv("GITHUB_PACKAGE_REGISTRY_API_KEY")
}
}
}
publications {
github(MavenPublication) {
groupId = 'A'
artifactId = 'B'
version = '1.0.0'
from(components.java)
}
}
}
Как вы можете видеть в конфигурации выше, я использовал соответственно A и B для groupId и artifactId. Версия 1.0.0.
Моя проблема связана с получением этой частной зависимости из другого проекта Gradle. Этот проект имеет определенную конфигурацию репозиториев следующим образом:
repositories {
jcenter()
maven {
url = 'https://maven.pkg.github.com/X/Y'
credentials {
username System.getenv("GITHUB_PACKAGE_REGISTRY_USER")
password System.getenv("GITHUB_PACKAGE_REGISTRY_API_KEY")
}
}
}
, и я добавил зависимость следующим образом:
implementation 'A:B:1.0.0'
, но Gradle не смог разрешить зависимость.
URL хранилища (https://maven.pkg.github.com/X/Y) выглядит нормально, так как я могу открыть его в своем браузере с правильными учетными данными. К сожалению, я не могу просмотреть иерархию.
Я заметил что-то странное, когда открывал страницу со сводкой пакетана сайте Github. Кроме того, артефакт был опубликован под groupId A и artifactId B , он показывает следующие инструкции по установке:
<dependency>
<groupId>com.github.X/Y</groupId>
<artifactId>A.B</artifactId>
<version>1.0.0</version>
</dependency>
Я пытался изменить свойимпорт зависимостей в:
implementation 'com.github.X/Y:A.B:1.0.0'
, но он не может быть разрешен снова.
Я также безуспешно пытался использовать следующий URL-адрес в хранилище:
Как я могу использовать частный артефакт Github Package Repository из другого проекта Gradle? Что не так с моей текущей настройкой?