tree e6a1c471c986bdbd20ac1d950f8f0163076f5907
parent 8072bf9f34babde6c300c8d7671bb08bff859d69
author Jonathan Maw <jonathan.maw@codethink.co.uk> 1555518764 +0100
committer James Ennis <james.ennis@codethink.co.uk> 1555578107 +0100

CacheKey: Add a CacheKey class which delegates logic to varying implementations

i.e. a CacheKey class, with implementations such as:
* StrictCacheKey - a normal element when buildstream runs in Strict mode
* NonStrictCacheKey - a normal element when buildstream runs in
  non-strict mode
* StrictWorkspacedCacheKey - a workspaced element when Strict mode
* NonStrictWorkspacedCacheKey - a workspaced element in non-strict mode

(note: only CacheKey and StrictCacheKey are implemented for now)

This involves:
* Creating the CacheKey and StrictCacheKey classes
* In Element instantiation, create a __cache_key_obj to delegate various
  logic to.
* For the moment, extending various functions to call a
  __cache_key_obj's methods if they're implemented.
  * This includesExtending the _KeyStrength enum to include a
    STRICT version, so strict cache keys can be accessed through a
    common interface.
