GitHub Packages 404 for maven-metadata.xml / 是否支持动态版本解析?

Joh*_*ohn 7 github gradle maven github-package-registry

有没有人设法让 Maven 动态版本解析与 GitHub 包一起工作?

我希望能够使用动态版本声明依赖项并解决它,如下所示:

dependencies {
    compile 'com.example:my-package:1.+'
}
Run Code Online (Sandbox Code Playgroud)

在幕后,Gradle(我假设也是 Maven)使用一个名为的文件中的信息,该文件maven-metadata.xml包含存储库中存在哪些包和版本的详细信息,以将动态版本解析为特定版本(例如1.+可能解析为1.1.2)。但是,当我发布到 GitHub Packages 时,Gradle 日志显示该maven-metadata.xml文件资源不存在,因此它上传了一个新资源而没有错误。但是,当我尝试卷曲该文件时,我得到一个 404(意味着我要么正在发布,而 GitHub 正在悄悄地删除该文件,要么该文件在 GitHub 中并且在发布后对我不可见)。

// inside the Gradle debug logs, showing successful upload
14:43:16.332 [DEBUG] [org.gradle.internal.operations.DefaultBuildOperationExecutor] Build operation 'Upload https://maven.pkg.github.com/ORG/REPO/com/example/group/artifact-id/maven-metadata.xml' completed
Run Code Online (Sandbox Code Playgroud)

这给出了一个 404(当它应该解析为一个文件或给我一个重定向,我可以-Lcurl命令上加上一个标志):

curl -X GET -v -H 'Authorization: token <some token here>' https://maven.pkg.github.com/ORG/REPO/com/example/group/artifact-id/maven-metadata.xml
Run Code Online (Sandbox Code Playgroud)

这是我用于依赖项解析的存储库配置闭包;我使用相同的一个来使用闭包maven-publish内的插件进行发布publishing{}

repositories {
    maven {
        name = "GitHubPackages"
        url = uri("https://maven.pkg.github.com/ORG/REPO")
        credentials {
            username = 'some-user'
            password = 'github-token-with-repo-scope'
        }
    }
}
Run Code Online (Sandbox Code Playgroud)