我如何(在gradle)访问不在Maven或Ivy Repo目录结构中的伪造罐依赖性



用URL给出了一个文物库:

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

立即包含一个罐子的罐子的根源:

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

没有元数据,没有POM,除了JAR的其他版本之外,没有其他文件,如何编写repositories设置和dependencies设置,以便jar包含在构建中?

注意:

  1. 此解决方案必须是可以从一个干净地构建的东西下载Git Repo后的Gradle命令行。它必须在我们的CI/CD系统中工作。

  2. 我知道我可以下载罐子,将其添加到我的git repo中,然后添加一个 flatDir配置我的gradle repositories。我不想做这。我不想在我的git repo中添加一个大二进制文件。

我现在无法对其进行测试,但是您应该能够在设置中使用自定义IVY存储库的功能:

repositories {
    ivy {
        url 'http://myrepo.myworld.com/my-stuff'
        metadataSources {
            artifact()
        }
        patternLayout {
            artifact "[artifact]-[revision].[ext]"
        }
    }
}

metadataSources闭合告诉Gradle只注意工件,而不要期望任何类型的元数据(例如.pom.ivy(。patternLayout闭合描述了应如何形成伪影路径。这可能取决于您稍后如何定义dependencies块中的依赖关系。受支持的占位符是:

  • organization
  • module
  • revision
  • artifact
  • classifier
  • extension

您应该能够从其位置将Jar文件拖到项目中。例如,如果将其拖到工作区中,它将显示在项目文件夹中。从那里,您可以右键单击" JAR文件",然后选择"构建路径"。这将包括在构建中并设置路径。

最新更新