<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _compiler_bridge_cache_dir(self):
 """A directory where we can store compiled copies of the `compiler-bridge`. The compiler-bridge is specific to each scala version. Currently we compile the `compiler-bridge` only once, while bootstrapping. Then, we store it in the working directory under .pants.d/zinc/<cachekey>, where <cachekey> is calculated using the locations of zinc, the compiler interface, and the compiler bridge. """

    hasher = sha1()
    for cp_entry in [self.zinc, self.compiler_interface, self.compiler_bridge]:
      hasher.update(os.path.relpath(cp_entry, self._workdir()).encode('utf-8'))
    key = hasher.hexdigest()[:12]

    return os.path.join(self._workdir(), 'zinc', 'compiler-bridge', key)