cacheBaseDir method
The cache's base directory, absolute: override, then cacheDirEnv,
then the operating system's cache directory for name.
Absolute even when override is relative: a relative path turns into a
wrong one in the first child process that runs from another directory —
Maven, for one.
Implementation
Directory cacheBaseDir({String? override, Map<String, String>? environment}) {
if (override != null && override.trim().isNotEmpty) {
return Directory(override.trim()).absolute;
}
final env = environment ?? Platform.environment;
final fromEnv = cacheDirEnv == null ? null : env[cacheDirEnv];
if (fromEnv != null && fromEnv.trim().isNotEmpty) {
return Directory(fromEnv.trim()).absolute;
}
return Directory(defaultCacheBasePath(environment: env)).absolute;
}