示例#1
0
        private void AddUpdateCommandForXrmUnitTest(List <ProcessExecutorInfo> commands, string packagesPath, string[] packages)
        {
            var line = packages.FirstOrDefault(p => p.Contains("XrmUnitTest"));

            if (line == null)
            {
                return;
            }
            var          packageId = line.SubstringByString("id=\"", "\"");
            var          version   = new Version(line.SubstringByString("version=\"", "\""));
            NuGetPackage newest    = null;

            if (packageId == GetXrmUnitTestId())
            {
                // CheckForNewerVersion
                newest = PackageLister.GetPackagesbyId(packageId).GetNewest();
                if (newest.Version == version)
                {
                    // Latest Version of XrmUnitTest is in use, no need to update
                    return;
                }
            }
            newest = newest ?? PackageLister.GetPackagesbyId(GetXrmUnitTestId()).GetNewest();
            commands.Add(new ProcessExecutorInfo(NuGetPath, $"update \"{packagesPath}\" -NonInteractive -Id {newest.Id} -Version {newest.Version}"));
        }
示例#2
0
        private void GetPackage(string nuGetPackage)
        {
            SdkVersions.Items.Clear();
            Title = $"{Resource.Version_Window_Title}:  {nuGetPackage}";

            List <NuGetPackage> versions = PackageLister.GetPackagesbyId(nuGetPackage);

            _packageVersions = versions;
            _currentPackage  = nuGetPackage;

            if (LimitVersions.ReturnValue())
            {
                versions = FilterLatestVersions(versions);
            }

            SdkVersionsGrid.Columns[0].Header = nuGetPackage;

            foreach (NuGetPackage package in versions)
            {
                var item = CreateItem(package);

                SdkVersions.Items.Add(item);
            }

            SdkVersions.SelectedIndex = 0;
        }
        public static NuGetVersionSelectorPage Create(string question, string packageId, string description = null, bool onlyDisplayLatestMajorVersion = true)
        {
            var page = new NuGetVersionSelectorPage
            {
                QuestionLabel   = { Text = question },
                DescriptionText = { Text = description }
            };


            var packages      = PackageLister.GetPackagesbyId(packageId).OrderByDescending(p => p.Version).ToList();
            var validPackages = packages;

            if (onlyDisplayLatestMajorVersion)
            {
                validPackages = new List <NuGetPackage>();
                var majorVersions = new HashSet <int>(packages.Select(p => p.Version.Major).Distinct());
                foreach (var package in packages)
                {
                    if (majorVersions.Remove(package.Version.Major))
                    {
                        validPackages.Add(package);
                    }
                }
            }
            page.PackageSelector.Items.AddRange(validPackages.Cast <object>().ToArray());
            if (page.PackageSelector.Items.Count > 0)
            {
                page.PackageSelector.SelectedIndex = 0;
            }
            return(page);
        }
示例#4
0
 private void AddUpdateCommandForXrmPackages(List <ProcessExecutorInfo> commands, string[] packages, params string[] ids)
 {
     foreach (var id in ids)
     {
         var line = packages.FirstOrDefault(p => p.Contains($"id=\"{id}\""));
         if (line == null)
         {
             continue;
         }
         var version = new Version(line.SubstringByString("version=\"", "\""));
         if (version.Major != XrmVersion.Major)
         {
             var newestForMajorRevision = PackageLister.GetPackagesbyId(id).GetNewestForMajorVersion(XrmVersion.Major);
             AddUpdateCommandForPackage(commands, newestForMajorRevision);
         }
     }
 }
示例#5
0
        private void GetPackage(string nuGetPackage)
        {
            List <NuGetPackage> versions = PackageLister.GetPackagesbyId(nuGetPackage);

            VersionsGrid.Columns[0].Header = nuGetPackage;

            foreach (NuGetPackage package in versions)
            {
                ListViewItem item = new ListViewItem
                {
                    Content = package.VersionText,
                    Tag     = package
                };

                Versions.Items.Add(item);
            }
        }
示例#6
0
        private void AddUpdateCommandForXrmUnitTest(List <ProcessExecutorInfo> commands, string[] packages)
        {
            var line = packages.FirstOrDefault(p => p.Contains("XrmUnitTest"));

            if (line == null)
            {
                return;
            }
            var packageId = line.SubstringByString("id=\"", "\"");
            var version   = new Version(line.SubstringByString("version=\"", "\""));
            var newest    = PackageLister.GetPackagesbyId(GetXrmUnitTestId()).GetNewest();

            if (packageId == GetXrmUnitTestId() && newest.Version == version)
            {
                // Latest Version of XrmUnitTest is in use, no need to update
                return;
            }

            AddUpdateCommandForPackage(commands, newest);
        }
示例#7
0
        private void GetPackage(string nuGetPackage)
        {
            List <NuGetPackage> versions = PackageLister.GetPackagesbyId(nuGetPackage);

            SdkVersionsGrid.Columns[0].Header = nuGetPackage;

            foreach (NuGetPackage package in versions)
            {
                ListViewItem item = new ListViewItem
                {
                    Content = package.VersionText,
                    Tag     = package
                };

                SdkVersions.Items.Add(item);
            }

            //TODO: need to ensure a default value is picked after loading the package list
            //string selectedVersion = ((ListViewItem)SdkVersions.SelectedItem).Content.ToString();
            //SetSelectedVersion(selectedVersion);
        }
示例#8
0
        private void AddUpdateCommandForPackage(List <ProcessExecutorInfo> commands, string packagesPath, string id)
        {
            var newest = PackageLister.GetPackagesbyId(id).GetNewestForMajorVersion(XrmVersion.Major);

            commands.Add(new ProcessExecutorInfo(NuGetPath, $"update \"{packagesPath}\" -NonInteractive -Id {newest.Id} -Version {newest.Version}"));
        }
 public static void ClassInit(TestContext context)
 {
     _packages = PackageLister.GetPackagesbyId(PackageId);
 }