• Nico Weber's avatar
    Move gclient path access to separate module. · 09e0b38f
    Nico Weber authored
    gclient_utils.py is a kitchen sink and is for that reason expensive
    to import. Move the comparatively cheap and simple path routines
    to a new gclient_paths module and use that in gn.py, clang_format.py,
    dart_format.py.
    
    (To be able to move FindGclientRoot() to gclient_paths.py,
    make it use io.open() instead of FileRead(). FileRead() tries
    to paper over invalid utf-8, but that was added for presubmits,
    not for .gclient files, so this is hopefully fine.)
    
    Cuts gn.py overhead in half (on my Windows laptop from 0.6s to 0.25s,
    still high; on my Mac laptop from 0.1s to 0.05s), and probably helps
    the other two too.
    
    Completely remove PathDifference() since it's unused.
    
    Bug: 939959
    Change-Id: I6a70f6e4c16062b622fb2df8778e8a598d4cc956
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/1512058
    Commit-Queue: Nico Weber <thakis@chromium.org>
    Reviewed-by: 's avatarAndrii Shyshkalov <tandrii@chromium.org>
    09e0b38f
gn.py 2.91 KB