Travis CI 使用 gradle 和 Antlr 构建错误

Travis CI build error with gradle and Antlr

我有一个奇怪的情况,我的项目在本地构建没有问题,但在 Travis-CI 上失败了。我不确定如何调试/调查问题。

构建在 generateGrammarSource 任务中失败(ANTLR 构建过程的一部分)。此任务读取 ANTLR 语法文件并输出 Java 源代码,以便稍后在构建过程中编译:

/home/travis/build/RichTeaLang/RichTea/src/main/antlr/richTea/compiler/RichTea.g:1:1: unexpected token: grammar error: Token stream error reading grammar(s): /home/travis/build/RichTeaLang/RichTea/src/main/antlr/richTea/compiler/RichTea.g:23:1: unexpected char: '@'

重申一下,在本地,此任务成功执行(在 Linux 和 Mac 上测试)。

感谢您的帮助。

好的,我找到问题了。

Travis-CI 与 gradle 的 v2.0 捆绑在一起。 gradle 的 ANTLR 插件需要更高版本的 gradle 用于正在编译的 ANTLR 语法类型。

该问题的解决方案是将 gradle 包装器脚本捆绑到您的存储库中。 Travis CI 然后将使用包装器脚本而不是它的捆绑版本 gradle。