给定一个带有 url 的 Artifactory 存储库:
http://myrepo.myworld.com/my-stuff
其中包含紧邻存储库根目录的 jar:
http://myrepo.myworld.com/my-stuff/doofus-lib-1.0-SNAPSHOT.jar
没有元数据,没有pom,除了其他版本的jar之外没有其他文件,我如何编写存储库
设置和依赖项
设置,以便jar包含在构建中吗?
注释:
该解决方案需要能够从 下载 git 存储库后的 gradle 命令行。它必须 在我们的 CI/CD 系统中工作。
我知道我可以下载该 jar,将其添加到我的 git 存储库中,然后添加
flatDir
配置到我的 gradlerepositories
。我不想做 这。我不想将大型二进制文件添加到我的 git 存储库中。
最佳答案
我现在无法测试它,但您应该能够在您的设置中使用自定义 Ivy 存储库的功能:
repositories {
ivy {
url 'http://myrepo.myworld.com/my-stuff'
metadataSources {
artifact()
}
patternLayout {
artifact "[artifact]-[revision].[ext]"
}
}
}
metadataSources
闭包告诉 Gradle 仅监视 Artifactory ,而不期望任何类型的元数据(例如 .pom
或 .ivy
) >)。 patternLayout
闭包描述了如何形成 Artifactory 路径。这可能取决于您稍后如何在 dependencies
block 中定义依赖项。支持的占位符是:
组织
模块
修订
神器
分类器
扩展
关于gradle - 如何访问(在 gradle 中)不在 Maven 或 Ivy 存储库目录结构中的 Artifactory jar 依赖项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56010824/