public VSSettingsUpdate()
        {
            IEnumerable <Plugin> allPlugins = PluginContainer.GetAllPlugins();

            Ensure.That(nameof(allPlugins)).IsNotNull(allPlugins);

            plugins = new List <Plugin>(allPlugins.OrderByDependencies());
        }
示例#2
0
        public VSMigrationUtility()
        {
            IEnumerable <Plugin> allPlugins = PluginContainer.GetAllPlugins();

            plugins = allPlugins.OrderByDependencies().ToList();

            steps = this.plugins
                    .SelectMany(plugin =>
                                plugin.resources.pendingMigrations.Select(migration => new MigrationStep(plugin, migration)))
                    .OrderBy(step => step.migration.order)
                    .ToList();
        }
示例#3
0
        public VSMigrationUtility()
        {
            IEnumerable <Plugin> allPlugins = PluginContainer.GetAllPlugins();

            plugins = allPlugins.OrderByDependencies().ToList();

            foreach (var plugin in plugins)
            {
                plugin.resources.LoadMigrations();
            }

            steps = this.plugins
                    .SelectMany(plugin =>
                                plugin.resources.pendingMigrations.Select(migration => new MigrationStep(plugin, migration)))
                    .OrderBy(step => step.migration.from)
                    .ThenBy(step => step.migration.order)
                    .ToList();

            analyticsData = new MigrationAnalytics.Data
            {
                total = new MigrationAnalytics.MigrationStepAnalyticsData()
                {
                    from     = BoltCore.Manifest.savedVersion.ToString(),
                    to       = BoltCore.Manifest.currentVersion.ToString(),
                    pluginId = "VS",
                    success  = true
                },
                steps = new List <MigrationAnalytics.MigrationStepAnalyticsData>()
            };
            foreach (var step in steps)
            {
                analyticsData.steps.Add(new MigrationAnalytics.MigrationStepAnalyticsData()
                {
                    from     = step.migration.from.ToString(),
                    to       = step.migration.to.ToString(),
                    pluginId = step.plugin.id,
                });
            }
        }