예제 #1
0
        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();
        }
예제 #2
0
        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);
        }