現在,我有一個非常愚蠢的漂亮打印腳本,它會做一些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作爲預構建步驟
任何幫助將不勝感激。