public IEnumerable <DirectoryInfo> EnumerateDirectories(List <string> optionalPackages = null) { var cache = new PackageCache(); if (optionalPackages == null || optionalPackages.Count == 0) { foreach (var dir in cache.EnumerateVersions("*")) { yield return(dir); } } else { foreach (var p in optionalPackages) { var result = cache.EnumerateVersions(p).ToArray(); if (result.Length == 0) { Log.Warning("Package " + p.Quote() + " was not found"); } else { foreach (var dir in result) { yield return(dir); } } } } }
public void InstallAll(Project project) { using (var pc = new PackageCache(Log, project.Config, this)) pc.GetPackage(project); InstallCount++; // Avoid error later }
void Build(LibraryProject lib, PackageCache packageCache, List <LibraryProject> failed) { var buildLog = Log.GetQuieterLog(SilentBuild); if (Clean) { new ProjectCleaner(buildLog).Clean(lib.Project); _disk.DeleteDirectory(lib.PackageDirectory); } else if (Directory.Exists(lib.PackageDirectory)) { // Remove old versions foreach (var dir in Directory.EnumerateDirectories(lib.PackageDirectory)) { if (dir != lib.VersionDirectory) { _disk.DeleteDirectory(dir, true); } } _disk.DeleteDirectory(Path.Combine(lib.CacheDirectory)); } var fail = TryGetFailedReference(lib, failed); if (fail != null) { Log.Message("Skipping because " + fail.Quote() + " failed to build"); failed.Add(lib); return; } var result = new ProjectBuilder( buildLog, _target, new BuildOptions { Configuration = GetConfiguration(lib), OutputDirectory = lib.VersionDirectory, PackageCache = packageCache, Force = true }) .Build(lib.Project); if (result.ErrorCount > 0) { failed.Add(lib); } }
// For use by UXNinja & tests in Fuse Studio public static SourcePackage GetPackage(Log log, Project project) { // Passing false to disable FuseJS transpiler. using (var cache = new PackageCache(log, project.Config, false)) return(cache.GetPackage(project)); }
// For use by UXNinja & tests in Fuse Studio public static SourcePackage GetPackage(Log log, Project project) { // Passing null to disable package downloads and FuseJS transpiler. using (var cache = new PackageCache(log, project.Config, null)) return(cache.GetPackage(project)); }