Eld*_*dge 5 java build dependency-management artifactory gradle
如何使用 gradle 检查远程存储库中是否存在工件?
我还没有找到任何可以完成此任务的 gradle 插件。
我有一个想法,在 build.gradle 中创建一个函数来检查存储库的 url 是否存在。但这似乎不是正确的做法。
Boolean ifExists = new URL(url).openConnection().with {
requestMethod = 'HEAD'
connect()
responseCode == 200
}
Run Code Online (Sandbox Code Playgroud)
任何建议将不胜感激。
似乎没有官方 Gradle 插件来支持检查工件是否存在。但是,您应该能够通过在 Java 进程中执行curl 命令来完成此操作:Curl 标志说明:
-I仅标记标头。
-s表示静默模式。(没有程序表或错误消息)
如果您需要对工件资源进行身份验证,您的命令可能与下面的命令略有不同,但我假设您已经在 url 中考虑到了这一点:
String curlCommand= "curl -I -s " + url + " | grep HTTP";
Process process = Runtime.getRuntime().exec(curlCommand);
process.getInputStream();
Run Code Online (Sandbox Code Playgroud)
如果找到您的工件,该过程将打印"HTTP/1.1 200 OK"
否则,"HTTP/1.1 404 Not Found"
| 归档时间: |
|
| 查看次数: |
1604 次 |
| 最近记录: |