Method | Description | |
---|---|---|
Contains ( BuildKey builder, IDependencyFingerprint fingerprint ) : bool |
Checks if the cache contains stored outputs for a given builder with a given dependency fingerprint If IBuildCache.Restore will be also called, the cache must be locked first using the IBuildCache.LockForBuilder method.
|
|
ContainsAny ( BuildKey builder ) : bool |
Checks if the cache contains stored outputs for a given builder with any dependency fingerprint
|
|
Dispose ( ) : void | ||
FileBuildCache ( [ |
Constructs the cache
|
|
LockForBuilder ( BuildKey builder ) : void |
Locks the cache for a given builder. Until calling IBuildCache.UnlockForBuilder, it is guaranteed that no IBuildCache.Store operation will be ran for the given builder from other threads.
|
|
Restore ( BuildKey builder, IFileSystemDirectory targetRoot, bool aggressive, Regex aggressiveExceptions = null ) : ISet |
Restores the stored files for a given builder to a file system directory The cache only stores the latest stored results and this is what will be restored to the target directory. To verify if it was generated with the correct dependency fingerprint, use IBuildCache.Contains. To ensure thread safety, use IBuildCache.LockForBuilder.
|
|
Store ( BuildKey builder, IDependencyFingerprint fingerprint, IEnumerable |
Store build outputs in the cache by reading them from the file system
|
|
UnlockForBuilder ( BuildKey builder ) : void |
Removes the lock put by the IBuildCache.LockForBuilder method.
|
Method | Description | |
---|---|---|
BeAggressive ( IEnumerable |
||
ComputeChecksum ( HashAlgorithm hash, IFileSystemDirectory root, string path ) : byte[] | ||
CopyIfDifferent ( IFileSystemDirectory sourceDirectory, string sourceFileName, IFileSystemDirectory targetRoot, string targetRelativePath ) : void |
Copies a source file to a target location, but only if it does not exist yet, with the same MD5 checksum as the source
|
|
GetCacheDirectoryName ( BuildKey builder ) : string |
Gets the directory name associated with a given Builder key
|
|
GetOrCreateLock ( BuildKey builder ) : |
Gets an existing lock or creates a new one
|
|
SaveDependencyFingerprint ( IDependencyFingerprint fingerprint, IFileSystemDirectory cacheDir ) : void |
Saves a dependency fingerprint to the cache directory
|
|
SaveOutputs ( IEnumerable |
Copies output files to the cache directory, and also saves a '.names' file referring to he original target relative paths of these files.
|
public Contains ( BuildKey builder, IDependencyFingerprint fingerprint ) : bool | ||
builder | BuildKey | Builder key |
fingerprint | IDependencyFingerprint | Current dependency fingerprint |
return | bool |
public ContainsAny ( BuildKey builder ) : bool | ||
builder | BuildKey | Builder key |
return | bool |
public FileBuildCache ( [ |
||
cacheRoot | [ |
Root directory where the cache will store its contents. |
protocolSerializer | IProtocolSerializer | The serializer to be used for saving dependency fingerprint protocols |
return | System |
public LockForBuilder ( BuildKey builder ) : void | ||
builder | BuildKey | Builder key |
return | void |
public Restore ( BuildKey builder, IFileSystemDirectory targetRoot, bool aggressive, Regex aggressiveExceptions = null ) : ISet |
||
builder | BuildKey | Builder key |
targetRoot | IFileSystemDirectory | Target file system directory |
aggressive | bool | If |
aggressiveExceptions | Regex | Exceptions to the aggresivve mode. Can be |
return | ISet |
public Store ( BuildKey builder, IDependencyFingerprint fingerprint, IEnumerable |
||
builder | BuildKey | Builder key (first part of the key) |
fingerprint | IDependencyFingerprint | Dependency fingerprint created when the builder was executed (second part of the key) |
outputs | IEnumerable |
Target-relative path of the build outputs to be cached |
targetRoot | IFileSystemDirectory | File system abstraction of the root target directory |
return | void |
public UnlockForBuilder ( BuildKey builder ) : void | ||
builder | BuildKey | Builder key |
return | void |