protected IEnumerable <IDependencyUpdater> CreateUpdaters() { if (ProjectJsonFiles != null && ProjectJsonFiles.Any()) { yield return(new ProjectJsonUpdater(ProjectJsonFiles.Select(item => item.ItemSpec))); } foreach (ITaskItem step in XmlUpdateStep ?? Enumerable.Empty <ITaskItem>()) { string buildInfoName = step.GetMetadata("BuildInfoName"); string packageId = step.GetMetadata("PackageId"); FileRegexUpdater updater; if (!string.IsNullOrEmpty(buildInfoName)) { updater = new FileRegexReleaseUpdater { BuildInfoName = buildInfoName }; } else { updater = new FileRegexPackageUpdater { PackageId = packageId }; } updater.Path = step.GetMetadata("Path"); updater.Regex = CreateXmlUpdateRegex(step.GetMetadata("ElementName"), "version"); updater.VersionGroupName = "version"; yield return(updater); } }
protected IEnumerable <IDependencyUpdater> CreateUpdaters() { if (ProjectJsonFiles != null && ProjectJsonFiles.Any()) { yield return(new ProjectJsonUpdater(ProjectJsonFiles.Select(item => item.ItemSpec))); } foreach (ITaskItem step in UpdateStep ?? Enumerable.Empty <ITaskItem>()) { string type = step.GetMetadata("UpdaterType"); switch (type) { case "Xml": yield return(CreateXmlUpdater(step)); break; case "File": yield return(new FilePackageUpdater { PackageId = GetRequiredMetadata(step, "PackageId"), Path = GetRequiredMetadata(step, "Path"), }); break; case "Tool versions": yield return(new ToolVersionsUpdater { Path = GetRequiredMetadata(step, "Path"), }); break; case "Submodule from package": yield return(new IndicatorPackageSubmoduleUpdater( GetRequiredMetadata(step, "IndicatorPackage")) { PackageDownloadBaseUrl = GetRequiredMetadata(step, "PackageDownloadBaseUrl"), Path = GetRequiredMetadata(step, "Path") }); break; case "Submodule from latest": yield return(new LatestCommitSubmoduleUpdater( GetRequiredMetadata(step, "Repository"), GetRequiredMetadata(step, "Ref")) { Path = GetRequiredMetadata(step, "Path") }); break; default: throw new NotSupportedException( $"Unsupported updater '{step.ItemSpec}': UpdaterType '{type}'."); } } }
private IEnumerable <IDependencyUpdater> GetDependencyUpdaters() { if (ProjectJsonFiles?.Any() ?? false) { yield return(new ProjectJsonUpdater(ProjectJsonFiles.Select(item => item.ItemSpec))); } if (XmlUpdateStep != null) { foreach (ITaskItem step in XmlUpdateStep) { yield return(new FileRegexReleaseUpdater { Path = step.GetMetadata("Path"), Regex = new Regex($@"<{step.GetMetadata("ElementName")}>(?<version>.*)<"), VersionGroupName = "version", BuildInfoName = step.GetMetadata("BuildInfoName") }); } } }
private IEnumerable <IDependencyUpdater> GetDependencyUpdaters() { if (ProjectJsonFiles?.Any() ?? false) { yield return(new ProjectJsonUpdater(ProjectJsonFiles.Select(item => item.ItemSpec))); } if (XmlUpdateStep != null) { foreach (ITaskItem step in XmlUpdateStep) { string buildInfoName = step.GetMetadata("BuildInfoName"); string packageId = step.GetMetadata("PackageId"); FileRegexUpdater updater; if (!string.IsNullOrEmpty(buildInfoName)) { updater = new FileRegexReleaseUpdater { BuildInfoName = buildInfoName }; } else { updater = new FileRegexPackageUpdater { PackageId = packageId }; } updater.Path = step.GetMetadata("Path"); updater.Regex = new Regex($@"<{step.GetMetadata("ElementName")}>(?<version>.*)<"); updater.VersionGroupName = "version"; yield return(updater); } } }
protected IEnumerable <IDependencyUpdater> CreateUpdaters() { if (ProjectJsonFiles != null && ProjectJsonFiles.Any()) { yield return(new ProjectJsonUpdater(ProjectJsonFiles.Select(item => item.ItemSpec))); } foreach (ITaskItem step in UpdateStep ?? Enumerable.Empty <ITaskItem>()) { string type = step.GetMetadata("UpdaterType"); switch (type) { case "Xml": yield return(CreateXmlUpdater(step)); break; case "MSBuildSdk": yield return(CreateMSBuildSdkUpdater(step)); break; case "File": yield return(ConfigureFileUpdater( new FilePackageUpdater { PackageId = GetRequiredMetadata(step, "PackageId"), Path = GetRequiredMetadata(step, "Path"), }, step)); break; case "Tool versions": yield return(new ToolVersionsUpdater { Path = GetRequiredMetadata(step, "Path"), }); break; case "Submodule from package": yield return(new IndicatorPackageSubmoduleUpdater( GetRequiredMetadata(step, "IndicatorPackage")) { PackageDownloadBaseUrl = GetRequiredMetadata(step, "PackageDownloadBaseUrl"), Path = GetRequiredMetadata(step, "Path") }); break; case "Submodule from latest": yield return(new LatestCommitSubmoduleUpdater( GetRequiredMetadata(step, "Repository"), GetRequiredMetadata(step, "Ref")) { Path = GetRequiredMetadata(step, "Path") }); break; case "Submodule from orchestrated build": yield return(new OrchestratedBuildSubmoduleUpdater { Path = GetRequiredMetadata(step, "Path"), BuildName = GetRequiredMetadata(step, "BuildName"), GitUrl = GetRequiredMetadata(step, "GitUrl") }); break; case "Build attribute from orchestrated build": yield return(CreateOrchestratedBuildUpdater( step, OrchestratedBuildUpdateHelpers.BuildAttribute( GetRequiredMetadata(step, "BuildName"), GetRequiredMetadata(step, "AttributeName")))); break; case "Orchestrated blob feed attribute": yield return(CreateOrchestratedBuildUpdater( step, OrchestratedBuildUpdateHelpers.OrchestratedFeedAttribute( GetRequiredMetadata(step, "AttributeName")))); break; case "Orchestrated blob feed package version": yield return(CreateOrchestratedBuildUpdater( step, OrchestratedBuildUpdateHelpers.OrchestratedFeedPackageVersion( GetRequiredMetadata(step, "PackageId")))); break; default: throw new NotSupportedException( $"Unsupported updater '{step.ItemSpec}': UpdaterType '{type}'."); } } }