Make file strategy and memcache strategy independent.
change how set/getEntry work. ATM the local cache is used as intermediary, so memcache always 'pollutes' the local cache
cachedArtifacts = cache.getEntry(cachekey) # memcache puts objectFile into local cache copyOrLink(cachedArtifacts.objectFilePath, objectFile) # copy local cache to build folder
class CacheMemcacheStrategy(object):
..
def connect(self, server):
..
# XX key_prefix ties fileStrategy cache to memcache entry
# because tests currently the integration tests use this to start with clean cache
# Prevents from having cache hits in when code base is in different locations
# adding code to production just for testing purposes`
..
def getEntry(self, key):
..
# XX this is writing the remote objectfile into the local cache
# because the current cache lookup assumes that getEntry gives us an Entry in local cache
# so it can copy it to the build destination later```
As mentioned in #268
set/getEntry
work. ATM the local cache is used as intermediary, so memcache always 'pollutes' the local cachecachedArtifacts = cache.getEntry(cachekey) # memcache puts objectFile into local cache copyOrLink(cachedArtifacts.objectFilePath, objectFile) # copy local cache to build folder