Gradle on Jenkins



我有一个项目,它由几个在设置中声明的模块组成。Gradle文件:

include ':core_icons'
include ':core'

core_icons被核心模块用作版本依赖项:

compile 'com.company.core:icons:0.0.1-SNAPSHOT'

在Jenkins上,构建不会运行,因为Gradle正在寻找依赖项在本地maven缓存中,但找不到它:

* What went wrong:
A problem occurred configuring project ':core'.
> Could not resolve all dependencies for configuration ':core:_debugPublishCopy'.
   > Could not find com.company.core:icons:0.0.1-SNAPSHOT.

似乎Gradle已经尝试找到每个依赖项,然后它启动。

我试图通过清除本地maven缓存中的依赖关系在我的本地机器上复制这一点,但随后我能够通过以下方式构建项目而没有任何问题:

gradlew core_icons:install 

我检查了Gradle版本,两者都是相同的(2.14.1)

我试图在Jenkins上调用完全相同的构建,但它不工作,因为它找不到依赖项。

从设置中移除核心模块时。gradle构建在Jenkins上运行良好。

有人知道为什么这种情况只发生在詹金斯身上吗?

我找到了解决问题的方法,如下:

问题是我有一个依赖于core_icons,它只是在构建过程中被创建,像这样:

compile 'com.company.core:icons:0.0.1-SNAPSHOT'

由于这代表了一个应该在本地Maven仓库或MavenCentral中找到的依赖项,Gradle无法找到它。

就像一个普通的项目一样引用依赖项,像这样:

compile project(':core_icons')

之后,您还可以调用安装目标,将您的工件作为快照或发布版本发布到Maven仓库。

最新更新