Exemple #1
0
        /// <summary>
        /// Get latest JObject for package identity
        /// </summary>
        /// <param name="repo"></param>
        /// <param name="identity"></param>
        /// <param name="allowPrerelease"></param>
        /// <returns></returns>
        public static List <JObject> GetLastestJObjectsForPackage(SourceRepository repo, JObject jObject, VsProject project, bool allowPrerelease, int skip, int take, bool takeAllVersions)
        {
            List <JObject> jObjects = new List <JObject>();
            string         id       = jObject.Value <string>(Properties.PackageId);
            string         version  = jObject.Value <string>(Properties.Version);
            NuGetVersion   nVersion = GetNuGetVersionFromString(version);

            if (!takeAllVersions)
            {
                string latestVersion = GetLastestVersionForPackage(repo, id, project.GetSupportedFrameworks(), allowPrerelease, nVersion, false);
                if (latestVersion != null)
                {
                    NuGetVersion laVersion = GetNuGetVersionFromString(latestVersion);
                    if (laVersion > nVersion)
                    {
                        Task <JObject> task          = repo.GetPackageMetadata(id, laVersion);
                        JObject        latestJObject = task.Result;
                        jObjects.Add(latestJObject);
                    }
                }
            }
            else
            {
                JObject package = GetJObjectForPackageId(repo, id, project.GetSupportedFrameworks(), allowPrerelease, skip, take);
                IEnumerable <NuGetVersion> versionList = GetAllVersionsForPackageId(package).OrderByDescending(v => v);
                // Work around a bug in repo.Search(), where prerelease versions are not filtered out.
                if (!allowPrerelease)
                {
                    versionList = versionList.Where(p => p > nVersion && p.IsPrerelease == false);
                }
                else
                {
                    versionList = versionList.Where(p => p > nVersion);
                }

                foreach (NuGetVersion updateVersion in versionList)
                {
                    JObject updateObject = GetPackageByIdAndVersion(repo, id, updateVersion.ToNormalizedString(), allowPrerelease);
                    jObjects.Add(updateObject);
                }
            }
            return(jObjects);
        }
        /// <summary>
        /// Get latest JObject for package identity
        /// </summary>
        /// <param name="repo"></param>
        /// <param name="identity"></param>
        /// <param name="allowPrerelease"></param>
        /// <returns></returns>
        public static List<JObject> GetLastestJObjectsForPackage(SourceRepository repo, JObject jObject, VsProject project, bool allowPrerelease, int skip, int take, bool takeAllVersions)
        {
            List<JObject> jObjects = new List<JObject>();
            string id = jObject.Value<string>(Properties.PackageId);
            string version = jObject.Value<string>(Properties.Version);
            NuGetVersion nVersion = GetNuGetVersionFromString(version);

            if (!takeAllVersions)
            {
                string latestVersion = GetLastestVersionForPackage(repo, id, project.GetSupportedFrameworks(), allowPrerelease, nVersion, false);
                if (latestVersion != null)
                {
                    NuGetVersion laVersion = GetNuGetVersionFromString(latestVersion);
                    if (laVersion > nVersion)
                    {
                        Task<JObject> task = repo.GetPackageMetadata(id, laVersion);
                        JObject latestJObject = task.Result;
                        jObjects.Add(latestJObject);
                    }
                }
            }
            else
            {
                JObject package = GetJObjectForPackageId(repo, id, project.GetSupportedFrameworks(), allowPrerelease, skip, take);
                IEnumerable<NuGetVersion> versionList = GetAllVersionsForPackageId(package).OrderByDescending(v => v);
                // Work around a bug in repo.Search(), where prerelease versions are not filtered out.
                if (!allowPrerelease)
                {
                    versionList = versionList.Where(p => p > nVersion && p.IsPrerelease == false);
                }
                else
                {
                    versionList = versionList.Where(p => p > nVersion);
                }

                foreach (NuGetVersion updateVersion in versionList)
                {
                    JObject updateObject = GetPackageByIdAndVersion(repo, id, updateVersion.ToNormalizedString(), allowPrerelease);
                    jObjects.Add(updateObject);
                }
            }
            return jObjects;
        }
 /// <summary>
 /// Get latest update for package identity
 /// </summary>
 /// <param name="repo"></param>
 /// <param name="identity"></param>
 /// <param name="allowPrerelease"></param>
 /// <returns></returns>
 public static PackageIdentity GetLastestUpdateForPackage(SourceRepository repo, PackageIdentity identity, VsProject project, bool allowPrerelease, bool isSafe)
 {
     string latestVersion = GetLastestVersionForPackage(repo, identity.Id, project.GetSupportedFrameworks(), allowPrerelease, identity.Version, isSafe);
     PackageIdentity latestIdentity = null;
     if (latestVersion != null)
     {
         latestIdentity = new PackageIdentity(identity.Id, NuGetVersion.Parse(latestVersion));
     }
     return latestIdentity;
 }
Exemple #4
0
        /// <summary>
        /// Get latest update for package identity
        /// </summary>
        /// <param name="repo"></param>
        /// <param name="identity"></param>
        /// <param name="allowPrerelease"></param>
        /// <returns></returns>
        public static PackageIdentity GetLastestUpdateForPackage(SourceRepository repo, PackageIdentity identity, VsProject project, bool allowPrerelease, bool isSafe)
        {
            string          latestVersion  = GetLastestVersionForPackage(repo, identity.Id, project.GetSupportedFrameworks(), allowPrerelease, identity.Version, isSafe);
            PackageIdentity latestIdentity = null;

            if (latestVersion != null)
            {
                latestIdentity = new PackageIdentity(identity.Id, NuGetVersion.Parse(latestVersion));
            }
            return(latestIdentity);
        }