Пример #1
0
        private void Test_GenerateTestData()
        {
            var dirPath = "D:\\TestData";

            DirectoryUtil.CreateIfNotExists(dirPath);
            FileUtil.Split("D:\\iTestRunner_R1.txt", dirPath);
        }
Пример #2
0
        /// <summary>
        /// Git环境检测
        /// </summary>
        /// <param name="self"></param>
        /// <returns></returns>
        public static IApplicationBuilder CheckGit(this IApplicationBuilder self)
        {
            if (SiteSetting.Current.GitConfig.GitCorePath.IsNullOrEmpty() || !FileSystemObject.IsExist(Path.Combine(SiteSetting.Current.GitConfig.GitCorePath, "git.exe"), FsoMethod.File))
            {
                var list     = new List <string>();
                var variable = Environment.GetEnvironmentVariable("path");
                if (variable != null)
                {
                    list.AddRange(variable.Split(';'));
                }

                list.Add(Environment.GetEnvironmentVariable("ProgramW6432"));
                list.Add(Environment.GetEnvironmentVariable("ProgramFiles"));

                foreach (var drive in Environment.GetLogicalDrives())
                {
                    list.Add(drive + @"Program Files\Git");
                    list.Add(drive + @"Program Files (x86)\Git");
                    list.Add(drive + @"Program Files\PortableGit");
                    list.Add(drive + @"Program Files (x86)\PortableGit");
                    list.Add(drive + @"PortableGit");
                }

                list = list.Where(x => !string.IsNullOrEmpty(x)).Distinct().ToList();
                foreach (var path in list)
                {
                    var ret = SearchPath(path);
                    if (ret != null)
                    {
                        SiteSetting.Current.GitConfig.GitCorePath = ret;
                        SiteSetting.Current.SaveAsync();
                    }
                }
            }

            if (SiteSetting.Current.GitConfig.RepositoryPath.IsNullOrEmpty())
            {
                SiteSetting.Current.GitConfig.RepositoryPath = Path.Combine(AppContext.BaseDirectory, "Repository");
                SiteSetting.Current.SaveAsync();
            }

            if (!FileSystemObject.IsExist(SiteSetting.Current.GitConfig.RepositoryPath, FsoMethod.Folder))
            {
                DirectoryUtil.CreateIfNotExists(SiteSetting.Current.GitConfig.RepositoryPath);
            }

            if (SiteSetting.Current.GitConfig.CachePath.IsNullOrEmpty())
            {
                SiteSetting.Current.GitConfig.CachePath = Path.Combine(AppContext.BaseDirectory, "Cache");
                SiteSetting.Current.SaveAsync();
            }

            if (!FileSystemObject.IsExist(SiteSetting.Current.GitConfig.CachePath, FsoMethod.Folder))
            {
                DirectoryUtil.CreateIfNotExists(SiteSetting.Current.GitConfig.CachePath);
            }

            return(self);
        }