C# 클래스 Bari.Core.Build.Cache.MemoryBuildCache

Simple build cache which only stores build outputs until the process is running
상속: IBuildCache, IDisposable
파일 보기 프로젝트 열기: vigoo/bari 1 사용 예제들

공개 메소드들

메소드 설명
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

Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.

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 outputs, IFileSystemDirectory targetRoot ) : void

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.

비공개 메소드들

메소드 설명
GetOrCreate ( BuildKey builder ) : Bari.Core.Build.Cache.MemoryCacheItem

메소드 상세

Contains() 공개 메소드

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.

public Contains ( BuildKey builder, IDependencyFingerprint fingerprint ) : bool
builder BuildKey Builder key
fingerprint IDependencyFingerprint Current dependency fingerprint
리턴 bool

ContainsAny() 공개 메소드

Checks if the cache contains stored outputs for a given builder with any dependency fingerprint
public ContainsAny ( BuildKey builder ) : bool
builder BuildKey Builder key
리턴 bool

Dispose() 공개 메소드

Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
public Dispose ( ) : void
리턴 void

LockForBuilder() 공개 메소드

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.

public LockForBuilder ( BuildKey builder ) : void
builder BuildKey Builder key
리턴 void

Restore() 공개 메소드

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.

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 true, files in the target directory won't be checked by hash before overriding them
aggressiveExceptions Regex Exceptions to the aggresivve mode. Can be null if not used.
리턴 ISet

Store() 공개 메소드

Store build outputs in the cache by reading them from the file system
public Store ( BuildKey builder, IDependencyFingerprint fingerprint, IEnumerable outputs, IFileSystemDirectory targetRoot ) : void
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
리턴 void

UnlockForBuilder() 공개 메소드

Removes the lock put by the IBuildCache.LockForBuilder method.
public UnlockForBuilder ( BuildKey builder ) : void
builder BuildKey Builder key
리턴 void