@Singleton public class DefaultGlobalCacheManager extends java.lang.Object implements GlobalCacheManager
| Modifier and Type | Field and Description |
|---|---|
static java.lang.String |
GO_BINARAY_CACHE_PATH |
static java.lang.String |
GO_LOCKFILES_PATH |
static java.lang.String |
GOPATH_CACHE_PATH |
| Constructor and Description |
|---|
DefaultGlobalCacheManager(GolangPluginSetting setting) |
| Modifier and Type | Method and Description |
|---|---|
boolean |
currentDependencyIsOutOfDate() |
void |
ensureGlobalCacheExistAndWritable() |
java.nio.file.Path |
getGlobalGoBinCache(java.lang.String relativePath) |
java.nio.file.Path |
getGlobalPackageCachePath(java.lang.String packagePath) |
<T> T |
runWithGlobalCacheLock(GolangDependency dependency,
java.util.concurrent.Callable<T> callable)
Locks global cache directory of
dependency, and call the callable |
void |
updateCurrentDependencyLock() |
public static final java.lang.String GOPATH_CACHE_PATH
public static final java.lang.String GO_BINARAY_CACHE_PATH
public static final java.lang.String GO_LOCKFILES_PATH
@Inject public DefaultGlobalCacheManager(GolangPluginSetting setting)
public void ensureGlobalCacheExistAndWritable()
ensureGlobalCacheExistAndWritable in interface GlobalCacheManagerpublic java.nio.file.Path getGlobalPackageCachePath(java.lang.String packagePath)
getGlobalPackageCachePath in interface GlobalCacheManagerpublic java.nio.file.Path getGlobalGoBinCache(java.lang.String relativePath)
getGlobalGoBinCache in interface GlobalCacheManagerpublic <T> T runWithGlobalCacheLock(GolangDependency dependency, java.util.concurrent.Callable<T> callable) throws java.lang.Exception
GlobalCacheManagerdependency, and call the callablerunWithGlobalCacheLock in interface GlobalCacheManagerT - return value type of callabledependency - dependency to be lockedcallable - code to be executed under lockjava.lang.Exception - exception thrown by callablepublic boolean currentDependencyIsOutOfDate()
currentDependencyIsOutOfDate in interface GlobalCacheManagerpublic void updateCurrentDependencyLock()
updateCurrentDependencyLock in interface GlobalCacheManager