在Travis CI中构建多模块gradle项目

时间:2017-09-16 04:06:50

标签: gradle continuous-integration kotlin travis-ci multi-module

我正在尝试在Travis CI中构建一个多模块Gradle项目,并运行所有子项目的所有测试。默认情况下,从顶级build.gradle文件运行构建似乎构建所有子模块并运行所有测试,但Travis将其视为失败。理想情况下,我还想结合所有子项目的Jacoco测试覆盖率报告。

我试图让这项工作的项目是开源的,可以在这里看到:https://github.com/Tenkiv/Physikal

1 个答案:

答案 0 :(得分:2)

试图理解你的问题,我克隆了存储库并试图在我的本地机器(ArchLinux)上运行gradle,就像Travis尝试的那样:

./gradlew build

我收到了完全相同的错误消息:

Error: Could not find or load main class org.gradle.wrapper.GradleWrapperMain

这真的很奇怪,我以前从未见过它。所以我问自己:gradle在哪里搜索那个班级?是的,在包装器的jar文件中。这似乎是空的:

$ ls -lh gradle/wrapper/
total 4.0K
-rw-r--r-- 1 msrd0 users   0 Sep 16 23:51 gradle-wrapper.jar
-rw-r--r-- 1 msrd0 users 230 Sep 16 23:51 gradle-wrapper.properties

TL; DR

无论发生什么,您下载的gradle包装器都是空的。您需要再次下载包装器,在Linux上您可以使用此命令(假设您已安装gradle):

gradle wrapper

如果您的本地gradle分发版已过时,并且您希望保留当前在您的repo中使用的版本,请运行:

gradle wrapper --gradle-version=4.1