private static IEnumerable <IDependencyUpdater> GetUpdaters( string dockerfileVersion, IEnumerable <IDependencyInfo> buildInfos) { string[] dockerfiles = Directory.GetFiles( Path.Combine(RepoRoot, dockerfileVersion), "Dockerfile", SearchOption.AllDirectories); Trace.TraceInformation("Updating the following Dockerfiles:"); Trace.TraceInformation(string.Join(Environment.NewLine, dockerfiles)); // NOTE: The order in which the updaters are returned/invoked is important as there are cross dependencies // (e.g. sha updater requires the version numbers to be updated within the Dockerfiles) List <IDependencyUpdater> manifestBasedUpdaters = new List <IDependencyUpdater>(); CreateManifestUpdater(manifestBasedUpdaters, "Sdk", buildInfos, SdkBuildInfoName); CreateManifestUpdater(manifestBasedUpdaters, "Runtime", buildInfos, RuntimeBuildInfoName); manifestBasedUpdaters.Add(new ReadMeUpdater(RepoRoot)); return(CreateDockerfileVariableUpdaters(dockerfiles, buildInfos, VariableHelper.DotnetSdkVersionName, SdkBuildInfoName) .Concat(CreateDockerfileVariableUpdaters( dockerfiles, buildInfos, VariableHelper.AspNetVersionName, AspNetCoreBuildInfoName)) .Concat(CreateDockerfileVariableUpdaters( dockerfiles, buildInfos, VariableHelper.DotnetVersionName, RuntimeBuildInfoName)) .Concat(dockerfiles.Select(path => DockerfileShaUpdater.CreateProductShaUpdater(path))) .Concat(dockerfiles.Select(path => DockerfileShaUpdater.CreateLzmaShaUpdater(path))) .Concat(manifestBasedUpdaters)); }
private static IEnumerable <IDependencyUpdater> GetUpdaters(string dockerfileVersion) { string[] dockerfiles = Directory.GetFiles( Path.Combine(RepoRoot, dockerfileVersion), "Dockerfile", SearchOption.AllDirectories); Trace.TraceInformation("Updating the following Dockerfiles:"); Trace.TraceInformation(string.Join(Environment.NewLine, dockerfiles)); return(dockerfiles .Select(path => CreateDockerfileEnvUpdater(path, "DOTNET_SDK_VERSION", SdkBuildInfoName)) .Concat(dockerfiles.Select(path => CreateDockerfileEnvUpdater(path, "ASPNETCORE_VERSION", AspNetCoreBuildInfoName))) .Concat(dockerfiles.Select(path => CreateDockerfileEnvUpdater(path, "DOTNET_VERSION", RuntimeBuildInfoName))) .Concat(dockerfiles.Select(path => DockerfileShaUpdater.CreateProductShaUpdater(path))) .Concat(dockerfiles.Select(path => DockerfileShaUpdater.CreateLzmaShaUpdater(path)))); }