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(当它应该解析为一个文件或给我一个重定向,我可以-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
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)
| 归档时间: |
|
| 查看次数: |
502 次 |
| 最近记录: |