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

  • 我的项目:https://github.com/RichTeaLang/RichTea
  • 最新的构建失败:https://travis-ci.org/RichTeaLang/RichTea/builds/142976109

  • 生成失败于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版本。

    08-26 04:32