Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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");
            }
        }
Esempio n. 3
0
        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);
            }
        }