将Maven工件的Gradle项目依赖关系重定向到另一个Gradle项目

时间:2018-05-13 08:30:35

标签: gradle dependencies gradle-dependencies

有没有办法将Maven工件坐标的Gradle项目依赖项重定向到同一版本中另一个Gradle项目的输出?

我没有看到依赖project(‘:xyz’)等内容的重点,因为这要求项目:xyz位于我的文件系统&构建,并为引用项目知道:xyz也在同一个版本中。让我更有意义的是依赖Maven工件坐标,并使用从同一构建中指定匹配坐标的项目构建的工件,而不是从存储库下载工件。

如果这个功能存在,或者我自己创建,我想它会被实现为一个对象,可以在所有其他存储库之前repositories闭包中列出,如{{1} }。

2 个答案:

答案 0 :(得分:1)

您要找的是composite builds。它允许您定义构建包含另一个构建,因此Gradle确定依赖符号group:name:version被包含的构建替换。

但是,当项目属于同一个单元时,我仍然建议使用project(:xyz)表示法,这通常是从源代码控制中单个结账。

答案 1 :(得分:0)

您可以在本地存储库中发布xyz

在项目xyz中,使用此插件:

apply plugin: 'maven-publish'

然后运行gradle publishToMavenLocal

然后,在“root”项目中,另外使用本地存储库并使用xyz作为常规依赖项:

repositories {
    mavenLocal()
}

dependencies {
    compile('your.company:xyz:1.0.0')
}