Example #1
0
        /// <summary>
        /// Update package info.
        /// </summary>
        static bool UpdatePackageVersions(Package package, IEnumerable <AvailableVersion> versions)
        {
            Debug.Log(kHeader, $"[UpdatePackageVersions] {package.GetName()} has {versions.Count()} versions");
            var pInfoCurrent = package.GetInstalledVersion();

            pInfoCurrent.UnlockVersion();

            var versionInfos = versions
                               .Select(v => v.ToPackageVersion(pInfoCurrent))
                               .Concat(new[] { pInfoCurrent })
                               .Where(pInfo => pInfo == pInfoCurrent || pInfo.GetVersion() != pInfoCurrent.GetVersion())
                               .OrderBy(pInfo => pInfo.GetVersion())
                               .ToArray();

            if (package.GetVersionCount() != versionInfos.Length)
            {
                Debug.Log(kHeader, "[UpdatePackageVersions] package source changing");
                package.UpdateVersions(versionInfos);
                return(true);
            }
            return(false);
        }
Example #2
0
 private static void RemovePreviewVersions(UpmPackage package)
 {
     package.UpdateVersions(package.versions.Where(v => v.HasTag(PackageTag.Release)).Cast <UpmPackageVersion>());
 }