Как добавить пакет реестра 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

Другие вопросы по тегам