static void MigrateServerMods(IEnumerable<string> folders, IAbsoluteDirectoryPath modPath, StatusRepo statusRepo) { foreach (var folder in folders) { foreach (var modFolder in Directory.EnumerateDirectories(folder)) { var status = new Status(Path.GetFileName(modFolder), statusRepo) {Action = RepoStatus.Processing}; MigrateServerModFolder(modFolder.ToAbsoluteDirectoryPath(), modPath); status.Progress = 100; } Directory.Delete(folder, true); } }
public SynqInstallerSession(IInstallContentAction<IInstallableContent> action, IToolsInstaller toolsInstaller, bool isPremium, Func<double, double, Task> statusChange, IContentEngine contentEngine) { if (action == null) throw new ArgumentNullException(nameof(action)); if (toolsInstaller == null) throw new ArgumentNullException(nameof(toolsInstaller)); if (statusChange == null) throw new ArgumentNullException(nameof(statusChange)); _action = action; _toolsInstaller = toolsInstaller; _isPremium = isPremium; _statusChange = statusChange; _contentEngine = contentEngine; _status = new Status(_action.Content.Count); }
async Task<List<Package>> GetDependencyTree(IEnumerable<Dependency> dependencies, bool noCheckout, bool useFullName) { var list = new List<string>(); var list2 = new List<string>(); var packages = new List<Package>(); StatusRepo.Reset(RepoStatus.Resolving, dependencies.Count()); foreach (var dep in dependencies) { var status = new Status(dep.GetFullName(), StatusRepo) { Action = RepoStatus.Processing, RealObject = "packages/" + dep + ".json" }; await ResolveDependencies(list, list2, packages, dep, useFullName, noCheckout) .ConfigureAwait(false); status.EndOutput(); } foreach (var package in packages) package.StatusRepo = StatusRepo; return packages; }
static void Status(string patchFile, StatusRepo repo, Action<IStatus> act, RepoStatus action = RepoStatus.Downloading) { var status = new Status(patchFile, repo) {Action = action}; act(status); status.EndOutput(); }