public void ApplySettings(IActivityMonitor m) { if (!_f.EnsureDirectory(m)) { return; } var projects = _driver.GetNPMProjects(m); var workspace = _driver.GetAngularWorkspaces(m); if (projects == null) { return; } if (projects.Count == 0) { Delete(m); } else { var root = new XElement("NPMSolution", projects.OrderBy(p => p.FullPath).Select(p => p.ToXml()) .Concat( workspace.OrderBy(p => p.FullPath).Select(s => s.ToXml())) ); Document = new XDocument(root); } Save(m); }
protected override void DoApplySettings(IActivityMonitor m) { var solution = _driver.GetSolution(m, allowInvalidSolution: true); if (solution == null) { return; } var projects = _npmDriver.GetNPMProjects(m); if (projects == null) { return; } bool useNpm = projects.Any(); if (useNpm) { //CakeExtensions SetTextResource(m, "CakeExtensions/NpmDistTagRunner.cs"); SetTextResource(m, "CakeExtensions/NpmView.cs"); SetTextResource(m, "CakeExtensions/NpmGetNpmVersion.cs"); //npm itself SetTextResource(m, "npm/Build.NPMArtifactType.cs", text => AdaptBuildNPMArtifactForPushFeeds(text, solution)); SetTextResource(m, "npm/Build.NPMFeed.cs"); SetTextResource(m, "npm/NPMProject.cs"); SetTextResource(m, "npm/NPMPublishedProject.cs"); SetTextResource(m, "npm/NPMSolution.cs"); SetTextResource(m, "npm/NPMProjectContainer.cs"); SetTextResource(m, "npm/TempFileTextModification.cs"); SetTextResource(m, "npm/SimplePackageJsonFile.cs"); SetTextResource(m, "npm/AngularWorkspace.cs"); } else { m.Info("Removing build files related to NPM handling."); DeleteFile(m, "CakeExtensions/NpmDistTagRunner.cs"); DeleteFile(m, "CakeExtensions/NpmView.cs"); DeleteFile(m, "CakeExtensions/NpmGetNpmVersion.cs"); DeleteFile(m, "npm/Build.NPMArtifactType.cs"); DeleteFile(m, "npm/Build.NPMFeed.cs"); DeleteFile(m, "npm/NPMProject.cs"); DeleteFile(m, "npm/NPMPublishedProject.cs"); DeleteFile(m, "npm/NPMSolution.cs"); } }
public void ApplySettings(IActivityMonitor m) { if (!this.CheckCurrentBranch(m)) { return; } var projects = _driver.GetNPMProjects(m); if (projects == null) { return; } foreach (var f in projects.Select(p => p.FullPath.AppendPart(".npmrc"))) { DoApplySettings(m, f); } }