public DefaultEnvironment() { NPath localAppData; NPath commonAppData; if (IsWindows) { localAppData = GetSpecialFolder(Environment.SpecialFolder.LocalApplicationData).ToNPath(); commonAppData = GetSpecialFolder(Environment.SpecialFolder.CommonApplicationData).ToNPath(); } else if (IsMac) { localAppData = NPath.HomeDirectory.Combine("Library", "Application Support"); // there is no such thing on the mac that is guaranteed to be user accessible (/usr/local might not be) commonAppData = GetSpecialFolder(Environment.SpecialFolder.ApplicationData).ToNPath(); } else { localAppData = GetSpecialFolder(Environment.SpecialFolder.LocalApplicationData).ToNPath(); commonAppData = "/usr/local/share/".ToNPath(); } UserCachePath = localAppData.Combine(ApplicationInfo.ApplicationName); SystemCachePath = commonAppData.Combine(ApplicationInfo.ApplicationName); if (IsMac) { LogPath = NPath.HomeDirectory.Combine("Library/Logs").Combine(ApplicationInfo.ApplicationName).Combine(logFile); } else { LogPath = UserCachePath.Combine(logFile); } LogPath.EnsureParentDirectoryExists(); }
public DefaultEnvironment() { if (IsWindows) { LocalAppData = GetSpecialFolder(Environment.SpecialFolder.LocalApplicationData).ToNPath(); CommonAppData = GetSpecialFolder(Environment.SpecialFolder.CommonApplicationData).ToNPath(); } else if (IsMac) { LocalAppData = NPath.HomeDirectory.Combine("Library", "Application Support"); // there is no such thing on the mac that is guaranteed to be user accessible (/usr/local might not be) CommonAppData = GetSpecialFolder(Environment.SpecialFolder.ApplicationData).ToNPath(); } else { LocalAppData = GetSpecialFolder(Environment.SpecialFolder.LocalApplicationData).ToNPath(); CommonAppData = GetSpecialFolder(Environment.SpecialFolder.ApplicationData).ToNPath(); } UserCachePath = LocalAppData.Combine(ApplicationInfo.ApplicationName); SystemCachePath = CommonAppData.Combine(ApplicationInfo.ApplicationName); if (IsMac) { LogPath = NPath.HomeDirectory.Combine("Library/Logs").Combine(ApplicationInfo.ApplicationName).Combine(logFile); } else { LogPath = UserCachePath.Combine(logFile); } LogPath.EnsureParentDirectoryExists(); GitDefaultInstallation = new GitInstaller.GitInstallDetails(UserCachePath, this); }