• Mathieu Baudet's avatar
    fbcode: remove unused includes from .cpp files with no #if and #define · d0856c87
    Mathieu Baudet authored
    Summary:
    This is a first diff to remove the "easiest" unused includes in fbcode.
    
    * For safety, we only touch .cpp files without #if and #define,
    * We do not try to remove redundant systems headers (aka. "packing").
    
    The diff was generated as follows:
    ```
    foundation/scripts/ls-cpp-dirs | grep -v '^\(\.\.\|external/\|.*/external\)' | xargs ffmr -o /tmp/ffmr-diff-1 codegraph/scripts/ffmr/analyze_includes_no_headers_no_packing_skipping_ifdefs.sh
    
    cat /tmp/ffmr-diff-1/*.diff | patch -p2
    hg commit -m something
    arc diff --prepare --nolint --nounit --less-context --excuse refactoring
    ```
    
    Note: `grep -v` is just an optimization. The actual configuration is in these two files:
    diffusion/FBS/browse/master/fbcode/codegraph/analysis/config.py
    diffusion/FBS/browse/master/fbcode/codegraph/scripts/ffmr/analyze_includes_no_headers_no_packing_skipping_ifdefs.sh
    
    See the task for more context, and the recent "safety" improvements on the tool.
    
    depends on D4317825 for very few cases where `nolint` had to be manually added.
    
    Reviewed By: igorsugak
    
    Differential Revision: D4312617
    
    fbshipit-source-id: ecc1f0addfd0651fa4770fcc43cd1314661a311a
    d0856c87
SingletonTestGlobal.cpp 1.86 KB