7

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

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

dependencies {
    compile 'com.example:my-package:1.+'
}

在幕后,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

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

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

这是我用于依赖解析的存储库配置关闭;我使用一个相同的插件来使用闭包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'
        }
    }
}
4

0 回答 0