现在,我有一个非常愚蠢的漂亮打印脚本,它会做一些git-fu来查找文件来格式化(无条件地),然后通过clang格式运行它们-一世。这种方法有几个缺点:如何集成漂亮打印作为在bazel中构建的一部分
- 有某些文件是巨大的,永远漂亮打印。
- 漂亮的打印总是完成,无论基础文件是否实际更改。
在过去,我能够做CMake的事情,有几个不错的性能,我想在巴泽尔重现:后
- 永远只能建立代码它已经通过掉毛了/漂亮的打印/等
- 只有皮棉/漂亮的打印/等东西已经改变
- 打印出更漂亮的东西,无论它是否是VC下或不
在CMake的土地中,我使用这种策略,通过使用SCons代理目标诡计启发:
介绍一个虚拟的目标(例如源 - > source.formatted)。与这个目标关联的动作做了两件事:a)运行clang-format -i源代码,b)输出/触摸一个名为source.formatted的文件(这保证对于合理的文件系统,如果source.formatted比source更新,并不需要重新格式化)
添加它汇集所有的对应一个特定的库/可执行目标的来源.formatted文件虚拟的目标(target_name.aggregated_formatted)
制作库/可执行目标取决于target_name.aggregated_formatted作为预构建步骤
任何帮助将不胜感激。