• Wez Furlong's avatar
    fbcode_builder: getdeps: beef up hash computation · 31984a34
    Wez Furlong authored
    Summary:
    previously, a relatively lame hash was computed to use
    for the build directory based on some hash of the source directory.
    That was good enough to get things off the ground, but in the
    interest of being able to cache the build outputs and safely
    invalidate them we need a slightly more rigorous implementation.
    
    This diff computes a hash based on the manifest contents and
    relevant environmental factors.
    
    The hash is used to name the build directory which will ultimately
    be cached eg: using the travis/appveyor cache directory configuration
    and some other means for the FB internal CI.
    
    The hash needs to be sufficient that we change the hash when
    the manifests change.  We can tolerate a false positive change
    in hash (it just means that a build will take longer), but
    cannot tolerate a false negative (which would result in an
    incorrect build).
    
    Reviewed By: simpkins
    
    Differential Revision: D14710332
    
    fbshipit-source-id: ebc2e74eafc6f3305d4412a82195bc9fb9dfa615
    31984a34
fetcher.py 23.7 KB