/// <summary> /// Migrates preference settings, packages, custom node definitions, etc. /// from source migrator version to current version. /// This function can be overridden by version specific migrator classes /// </summary> /// <param name="sourceMigrator"> source migrator version from which to migrate from </param> /// /// <returns>new migrator instance after migration</returns> protected virtual DynamoMigratorBase MigrateFrom(DynamoMigratorBase sourceMigrator) { Copy(sourceMigrator.PackagesDirectory, PackagesDirectory); Copy(sourceMigrator.DefinitionsDirectory, DefinitionsDirectory); PreferenceSettings = sourceMigrator.PreferenceSettings; if (PreferenceSettings == null) { return(this); } // All preference settings are copied over including custom package folders // However if one of the custom folder locations points to the user data directory // of the previous version, it needs to be replaced with that of the current version var folders = PreferenceSettings.CustomPackageFolders; var indexToReplace = folders.FindIndex(f => f.Contains(sourceMigrator.UserDataDirectory)); if (indexToReplace <= -1) { return(this); } folders.RemoveAt(indexToReplace); folders.Insert(indexToReplace, UserDataDirectory); return(this); }
/// <summary> /// Migrates preference settings, packages, custom node definitions, etc. /// from source migrator version to current version. /// This function can be overridden by version specific migrator classes /// </summary> /// <param name="sourceMigrator"> source migrator version from which to migrate from </param> /// /// <returns>new migrator instance after migration</returns> protected virtual DynamoMigratorBase MigrateFrom(DynamoMigratorBase sourceMigrator) { Copy(sourceMigrator.PackagesDirectory, this.PackagesDirectory); Copy(sourceMigrator.DefinitionsDirectory, this.DefinitionsDirectory); this.PreferenceSettings = sourceMigrator.PreferenceSettings; return(this); }
/// <summary> /// Migrates preference settings, customized migration step in derived class. /// from source migrator version to current version. /// This function can be overridden by version specific migrator classes /// </summary> /// <param name="sourceMigrator"> source migrator version from which to migrate from </param> /// <returns>new migrator instance after migration</returns> protected virtual DynamoMigratorBase MigrateFrom(DynamoMigratorBase sourceMigrator) { PreferenceSettings = sourceMigrator.PreferenceSettings; if (PreferenceSettings == null) { return(this); } // All preference settings are copied over except for custom package folders PreferenceSettings.CustomPackageFolders.Clear(); PreferenceSettings.CustomPackageFolders.Insert(0, UserDataDirectory); return(this); }
/// <summary> /// Migrates preference settings, customized migration step in derived class. /// from source migrator version to current version. /// This function can be overridden by version specific migrator classes /// </summary> /// <param name="sourceMigrator"> source migrator version from which to migrate from </param> /// <returns>new migrator instance after migration</returns> protected virtual DynamoMigratorBase MigrateFrom(DynamoMigratorBase sourceMigrator) { PreferenceSettings = sourceMigrator.PreferenceSettings; if (PreferenceSettings == null) { return(this); } // All preference settings are copied over except for custom package folders PreferenceSettings.CustomPackageFolders.Clear(); PreferenceSettings.CustomPackageFolders.Insert(0, UserDataDirectory); // Also exclude SelectedPackagePathForInstall or it may point to previous // Dynamo version folders. When set to string.empty or null - will default to UserDataFolder. PreferenceSettings.SelectedPackagePathForInstall = string.Empty; return(this); }
protected override DynamoMigratorBase MigrateFrom(DynamoMigratorBase sourceMigrator) { return(base.MigrateFrom(sourceMigrator)); }
protected override DynamoMigratorBase MigrateFrom(DynamoMigratorBase sourceMigrator) { // We should not be migrating from a previous version into Dynamo 0.7 throw new NotImplementedException(); }