コード例 #1
0
        private static void UpdateToolsetPackage(
            InsertionArtifacts artifacts,
            BuildVersion buildVersion,
            CancellationToken cancellationToken)
        {
            Console.WriteLine("Updating toolset compiler package");

            var packagesDir        = artifacts.GetPackagesDirectory();
            var toolsetPackagePath = Directory.EnumerateFiles(packagesDir,
                                                              $"{PackageInfo.RoslynToolsetPackageName}*.nupkg",
                                                              SearchOption.AllDirectories).Single();

            var fileName = Path.GetFileName(toolsetPackagePath);
            var package  = PackageInfo.ParsePackageFileName(fileName);

            var coreXT = CoreXT.Load(GetAbsolutePathForEnlistment());

            if (!coreXT.TryGetPackageVersion(package, out var previousPackageVersion))
            {
                throw new Exception("Toolset package is not installed in this enlistment");
            }

            UpdatePackage(previousPackageVersion, buildVersion, coreXT, package);

            // Update .corext/Configs/default.config
            cancellationToken.ThrowIfCancellationRequested();
            Console.WriteLine("Updating CoreXT config file");
            coreXT.SaveConfig();
        }
コード例 #2
0
        private static void UpdateAssemblyVersions(InsertionArtifacts artifacts)
        {
            var versionsUpdater = new VersionsUpdater(GetAbsolutePathForEnlistment(), WarningMessages);

            foreach (var nameAndVersion in ReadAssemblyVersions(artifacts.GetDependentAssemblyVersionsFile()))
            {
                versionsUpdater.UpdateComponentVersion(nameAndVersion.Key, nameAndVersion.Value);
            }

            versionsUpdater.Save();
        }
コード例 #3
0
        public static bool TryCreateFromLocalBuild(string buildDirectory, out InsertionArtifacts artifacts)
        {
            if (buildDirectory.EndsWith(ArtifactName, StringComparison.OrdinalIgnoreCase))
            {
                Console.WriteLine($"Using artifacts provided in BuildDropPath: {buildDirectory}");
                artifacts = new ArcadeInsertionArtifacts(buildDirectory);
                return(true);
            }

            artifacts = null;
            return(false);
        }
コード例 #4
0
        public static bool TryCreateFromLocalBuild(string buildDirectory, out InsertionArtifacts artifacts)
        {
            if (buildDirectory.EndsWith(@"Binaries\Debug", StringComparison.OrdinalIgnoreCase) ||
                buildDirectory.EndsWith(@"Binaries\Release", StringComparison.OrdinalIgnoreCase))
            {
                artifacts = new LegacyInsertionArtifacts(buildDirectory);
                return(true);
            }

            artifacts = null;
            return(false);
        }
コード例 #5
0
        private static void UpdateAssemblyVersions(InsertionArtifacts artifacts)
        {
            var versionsUpdater = new VersionsUpdater(GetAbsolutePathForEnlistment(), WarningMessages);

            var pathToDependentAssemblyVersionsFile = artifacts.GetDependentAssemblyVersionsFile();

            if (File.Exists(pathToDependentAssemblyVersionsFile))
            {
                foreach (var nameAndVersion in ReadAssemblyVersions(pathToDependentAssemblyVersionsFile))
                {
                    versionsUpdater.UpdateComponentVersion(nameAndVersion.Key, nameAndVersion.Value);
                }
            }
            else
            {
                Console.WriteLine($"No dependent-assembly-versions file found at path '{pathToDependentAssemblyVersionsFile}'");
            }

            versionsUpdater.Save();
        }
コード例 #6
0
        private static void UpdateToolsetPackage(
            CoreXT coreXT,
            InsertionArtifacts artifacts,
            BuildVersion buildVersion)
        {
            Console.WriteLine("Updating toolset compiler package");

            var packagesDir        = artifacts.GetPackagesDirectory();
            var toolsetPackagePath = Directory.EnumerateFiles(packagesDir,
                                                              $"{PackageInfo.RoslynToolsetPackageName}*.nupkg",
                                                              SearchOption.AllDirectories).Single();

            var fileName = Path.GetFileName(toolsetPackagePath);
            var package  = PackageInfo.ParsePackageFileName(fileName);

            if (!coreXT.TryGetPackageVersion(package, out var previousPackageVersion))
            {
                throw new Exception("Toolset package is not installed in this enlistment");
            }

            UpdatePackage(previousPackageVersion, buildVersion, coreXT, package);
        }
コード例 #7
0
        private static async Task <GitChange> UpdateAssemblyVersionsOpt(GitHttpClient gitClient, string commitId, InsertionArtifacts artifacts)
        {
            var versionsUpdater = await VersionsUpdater.Create(gitClient, commitId, WarningMessages);

            var pathToDependentAssemblyVersionsFile = artifacts.GetDependentAssemblyVersionsFile();

            if (File.Exists(pathToDependentAssemblyVersionsFile))
            {
                foreach (var nameAndVersion in ReadAssemblyVersions(pathToDependentAssemblyVersionsFile))
                {
                    versionsUpdater.UpdateComponentVersion(nameAndVersion.Key, nameAndVersion.Value);
                }
            }
            else
            {
                Console.WriteLine($"No dependent-assembly-versions file found at path '{pathToDependentAssemblyVersionsFile}'");
            }

            return(versionsUpdater.GetChangeOpt());
        }