gradle - 如何访问(在 gradle 中)不在 Maven 或 Ivy 存储库目录结构中的 Artifactory jar 依赖项?

标签 gradle artifactory

给定一个带有 url 的 Artifactory 存储库:

http://myrepo.myworld.com/my-stuff

其中包含紧邻存储库根目录的 jar:

http://myrepo.myworld.com/my-stuff/doofus-lib-1.0-SNAPSHOT.jar

没有元数据,没有pom,除了其他版本的jar之外没有其他文件,我如何编写存储库设置和依赖项设置,以便jar包含在构建中吗?

注释:

  1. 该解决方案需要能够从 下载 git 存储库后的 gradle 命令行。它必须 在我们的 CI/CD 系统中工作。

  2. 我知道我可以下载该 jar,将其添加到我的 git 存储库中,然后添加 flatDir 配置到我的 gradle repositories。我不想做 这。我不想将大型二进制文件添加到我的 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/

相关文章:

java - 从 Spring 中的 gradle 子项目导入 JPA 模型

java - 带有多模块 gradle 项目的 Sonar

java - 如何为字节码检测设置 Intellij/jar list ?

java - 如何在 Eclipse 中使用 Artifactory maven

maven - Artifactory maven-metadata.xml 和带有 Java API 的 bundle

node.js - 在 Node 配置中使用 gradle-node-plugin 或 force in 时如何设置 "--max-old-space-size"?

java - APK reference.conf 中复制的重复文件

jenkins - 如何下载 Artifactory 依赖项的最新集成版本

android - 使用 artifactory-publish 和 maven-publish 将 apk 发布到 Artifactory

sbt - 迁移到 SBT 0.13.5 后,Artfactory 中的用户未经身份验证