我正在尝试编写一个错误格式来在使用新的 gradle 构建系统(http://tools.android.com/tech-docs/new-build-system)编译 android 应用程序时检测错误。
errorformat=%f:%l:\ error:\ %m
此错误格式捕获 XML 错误,但在 gradle 中,输出中的文件名不是原始源文件名,而是一个临时构建文件:
/home/user/Studio/myapp/build/res/all/debug/layout/add_child_dialog.xml:7: error: Error parsing XML: unbound prefix
原始源文件为:
/home/user/Studio/myapp/res/layout/add_child_dialog.xml:7: error: Error parsing XML: unbound prefix
如您所见,错误显示构建文件夹内的文件,其中包含构建类型(调试)。
我阅读了 quickfix-window 帮助并找到了使用QuickfixCmdPost和quickfix BufReadPost 自动命令修改 quickfix 输出的方法,但是这些在 quickfix 窗口被错误格式解析后生效。结果,我可以在 quickfix 窗口上看到正确的源文件,但 vim 仍然跳转到错误的文件。
有没有办法在错误格式解析后修改文件(%f)?有没有办法告诉 gradle 打印原始源文件而不是构建源文件?