如何添加 GitHub Package Registry 包作为 Gradle 依赖项

How to add GitHub Package Registry package as a Gradle dependency

所以,我有一个 GitHub project 配置了包注册表。它有两个包:

包页面只有 Maven 的说明,除此之外,说明已损坏(maven install so57323260 不是在 Maven 中添加依赖项的有效方法):

问题是:如何在 Gradle 构建中添加 that package

新答案:

GitHub已发布官方指南:Configuring Gradle for use with GitHub Packages.


旧答案:

首先,在 Gradle 构建配置中将 Github Package Registry 配置为 Maven 存储库:

build.gradle.kts:

repositories {
    jcenter()
    maven("https://maven.pkg.github.com/madhead") {
        credentials {
            username = "madhead"
            password = "<token>"
        }
    }
}

您可以在 account settings page 中生成令牌。

现在,添加如下依赖项:

build.gradle.kts:

dependencies {
    implementation("so57323260:so57323260:1.0.0")
    implementation("so57323260:test:1.0.2")
}

此处 groupId 是 repo 的名称,artifactId 是已发布包的名称。

担心personal access token安全的朋友,官方指南建议通过Gradle属性或Gradle访问用户名和密码系统 属性.

第一步:设置USERNAME和TOKEN为系统属性(with export or set),或者在项目根文件夹下创建一个gradle.properties文件,像这样:

gpr.user=<USERNAME>
gpr.token=<TOKEN>

第 2 步:在 build.gradle 中添加带有身份验证的 Github 包注册表:

    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.token") ?: System.getenv("TOKEN")
            }
        }
    }

第 3 步:在 build.gradle 中添加您要使用的包:

dependencies {
    implementation 'com.example:package:version'
}

有关更多详细信息(包括如何配置 Maven),请参阅我在此处贡献的 Wiki 中的说明:https://github.com/GumTreeDiff/gumtree/wiki/Getting-Started