我试图弄清楚如何使用artifactory和gradle来解析其属性中的依赖关系但是the documentation还不清楚。
我有一个大型构建需要解析数千个在build.gradle文件中没有声明版本的工件。我们的大多数用例都有Netflix dependency recommender plugin,但我仍在尝试使用属性来解决最后一种情况。
我们正在处理的工件通常是常春藤,看起来很标准,例如:
{
"repo" : "some_repo",
"path" : "/some_group/some_name/1.1.0-integration",
"created" : "2017-06-19T10:21:55.765+02:00",
"createdBy" : "lebowski",
"lastModified" : "2017-06-19T10:21:55.765+02:00",
"modifiedBy" : "leboswki",
"lastUpdated" : "2017-06-19T10:21:55.765+02:00",
"children" : [ {
"uri" : "/some_file-1.1.0-integration.jar",
"folder" : false
}, {
"uri" : "/some_file-tests-1.1.0-integration.jar",
"folder" : false
}, {
"uri" : "/ivy-1.1.0-integration.xml",
"folder" : false
} ],
"uri" : "http://artifactory.url.com:8081/artifactory/api/storage/some_repo/some_group/some_name/1.1.0-integration"
}
some_group / some_name的多个版本始终具有以下格式的版本号:x.y.z-integration
然而,在任何时候我们都需要知道什么是最新的" (即集成分支的负责人)所以我们在文件夹some_group / some_name上使用一个属性,例如:
{
"properties" : {
"integration" : [ "1.1.0-integration" ]
},
"uri" : "http://artifactory.url.com:8081/artifactory/api/storage/some_repo/some_group/some_name"
}
关键是"整合"有价值" 1.1.0-integration"。每次我们将pull请求合并到集成分支时,都会使用发布到artifactory的新版本更新该值。
虽然我可以针对API执行纯HTTP HTTP GET以找到我想要尝试的值并从其属性中测试解析工件。
有人可以建议我如何在build.gradle文件中执行此操作吗?