示例#1
0
        public static void CheckPluginUpdatable(IPluginUpdatable plugin)
        {
            if (plugin is null)
            {
                return;
            }

            var type = plugin.GetType();

            UpdatablePluginsInfo[type] = null;

            try
            {
                var current_version = plugin.CurrentPluginVersion;
                var releases_list   = plugin.GetReleaseInfoList().Where(x => x.Version > current_version).OrderByDescending(x => x.Version);

                if (!releases_list.Any())
                {
                    return;
                }

                var release_info = (SettingManager.LoadSetting <GlobalSetting>().UpdatableTargetVersion == GlobalSetting.UpdatableTarget.Preview ? releases_list.FirstOrDefault(x => x.ReleaseType == ReleaseType.Preview) : null) ?? releases_list.FirstOrDefault(x => x.ReleaseType == ReleaseType.Stable);

                UpdatablePluginsInfo[type] = release_info;
            }
            catch (Exception e)
            {
                ExceptionHelper.DebugThrow(e);
            }
        }
示例#2
0
        public static void CheckPluginUpdatable(IPluginUpdatable plugin)
        {
            var type = plugin.GetType();

            UpdatablePluginsInfo[type] = null;

            var current_version = plugin.CurrentPluginVersion;
            var releases_list   = plugin.GetReleaseInfoList().Where(x => x.Version > current_version).OrderBy(x => x.ReleaseDate);

            if (!releases_list.Any())
            {
                return;
            }

            var release_info = (SettingManager.LoadSetting <GlobalSetting>().UpdatableTargetVersion == GlobalSetting.UpdatableTarget.Preview ? releases_list.FirstOrDefault(x => x.ReleaseType == ReleaseType.Preview) : null) ?? releases_list.FirstOrDefault(x => x.ReleaseType == ReleaseType.Stable);

            UpdatablePluginsInfo[type] = release_info;
        }