Как добавить пакет реестра GitHub в качестве зависимости Gradle
Итак, у меня есть проект GitHub с настроенным реестром пакетов. У него есть два пакета:
На страницах пакета есть инструкции только для Maven, кроме того, инструкции не работают (maven install so57323260
недопустимый способ добавления зависимости в Maven):
Вопрос: как добавить этот пакет в сборку Gradle?
2 ответа
Сначала настройте Github Package Registry в качестве хранилища Maven в конфигурации сборки Gradle:
build.gradle.kts:
repositories {
jcenter()
maven("https://maven.pkg.github.com/madhead") {
credentials {
username = "madhead"
password = "<token>"
}
}
}
Вы можете создать токен на странице настроек своего аккаунта.
Теперь добавьте зависимость как:
build.gradle.kts:
dependencies {
implementation("so57323260:so57323260:1.0.0")
implementation("so57323260:test:1.0.2")
}
Вот groupId
это имя репо и artifactId
это название опубликованного пакета.
Для тех, кто беспокоится о безопасности токена личного доступа, официальное руководство предлагает получить доступ к имени пользователя и паролю через Gradle или системное свойство.
Шаг 1. Задайте ИМЯ ПОЛЬЗОВАТЕЛЯ и ТОКЕН как свойство для Gradle или System.
Шаг 2: Добавьте реестр пакетов Github с аутентификацией в build.gradle:
repositories {
maven {
name = "GitHubPackages"
url = uri("https://maven.pkg.github.com/OWNER/REPOSITORY")
credentials {
username = project.findProperty("gpr.user") ?: System.getenv("USERNAME")
password = project.findProperty("gpr.key") ?: System.getenv("TOKEN")
}
}
}
Шаг 3: Добавьте пакет, который вы хотите использовать, в build.gradle:
dependencies {
implementation 'com.example:package:version'
}
Более живой пример здесь: https://github.com/GumTreeDiff/gumtree/blob/961191bd9513faa962e3ee89a7fe091831b6f64c/build.gradle#L136