public void ReadMasters(FilePath rootPath, FilePath[] masters) { foreach (var master in masters) { var fullPath = rootPath.Navigate(master); if (!Directory.Exists(fullPath.ToEnvironmentalPath())) continue; SetByLatest(fullPath, _masters, "*"); } }
public void DeletePath(FilePath path) { var epath = path.ToEnvironmentalPath(); var gitPath = path.Navigate((FilePath)".git").ToEnvironmentalPath(); if (Directory.Exists(gitPath)) Directory.Delete(gitPath, true); if (Directory.Exists(epath)) Directory.Delete(epath, true); else File.Delete(epath); }
public int Build(FilePath rootPath, FilePath buildPath) { var path = _files.GetFirstMatch(buildPath, _patterns.BuildPattern); if (path == null) return 0; foreach (var copyPath in _patterns.CopyPaths) { var src = rootPath.Navigate(copyPath.Source); var dst = buildPath.Navigate(copyPath.Destination); if (_files.Exists(src)) _files.CopyDirectory(src, dst); } var command = string.Format(_patterns.BuildCmd, path.LastElement()); Log.Verbose(command); return buildPath.Call("cmd", "/c " + command); }
private void RebuildByScripts(FilePath projPath) { var dbPath = projPath.Navigate((FilePath) "DatabaseScripts"); var selfPath = projPath.Navigate((FilePath)"../DatabaseScripts"); var sqlSpecificPath = dbPath.Navigate((FilePath) "SqlServer"); if (!_files.Exists(dbPath)) { if (_files.Exists(selfPath)) dbPath = selfPath; else return; } Log.Status("Scripts from " + dbPath.ToEnvironmentalPath()); var finalSrcPath = (_files.Exists(sqlSpecificPath)) ? (sqlSpecificPath) : (dbPath); foreach (var file in _files.SortedDescendants(finalSrcPath, "*.sql")) { Log.Verbose(file.LastElement()); _builder.RunSqlScripts(projPath, file); } }
FilePath DependencyRulePath(FilePath filePath, string path) { return filePath.Navigate((FilePath)path) .Navigate(_patterns.DependencyPath).Navigate((FilePath)"Depends.rule"); }