我遇到一个奇怪的情况,我的项目在本地构建而没有问题,但是在Travis-CI上失败了。我不确定如何调试/调查问题。
生成失败于
generateGrammarSource
任务(ANTLR生成过程的一部分)。此任务读取ANTLR语法文件,并输出Java源代码,供以后在构建过程中进行编译:/home/travis/build/RichTeaLang/RichTea/src/main/antlr/richTea/compiler/RichTea.g:1:1: unexpected token: grammarerror: 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 bundle 在一起。用于gradle的ANTLR插件需要更高版本的gradle,以用于正在编译的ANTLR语法类型。
该问题的解决方案是将gradle包装器脚本 bundle 到您的仓库中。然后,Travis CI将使用包装器脚本而不是 bundle 包的gradle版本。