예제 #1
0
        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));
        }
예제 #2
0
        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))));
        }