package jetbrains.mps.ide.migration; /*Generated by MPS */ import org.jetbrains.mps.openapi.module.SModule; import jetbrains.mps.migration.global.ProjectMigration; import java.util.List; import jetbrains.mps.migration.global.MigrationOptions; import org.jetbrains.annotations.Nullable; import jetbrains.mps.lang.migration.runtime.base.BaseScriptReference; public interface MigrationManager { boolean isMigrationRequired(); boolean isMigrationRequired(Iterable<SModule> modules); boolean importVersionsUpdateRequired(Iterable<SModule> modules); void doUpdateImportVersions(SModule module); void executeScript(ScriptApplied s); Iterable<ProjectMigration> getProjectMigrationsToApply(); List<ScriptApplied> getModuleMigrationsToApply(Iterable<SModule> modules); List<ScriptApplied> getMissingMigrations(); int projectStepsCount(boolean isCleanup); ProjectMigration nextProjectStep(MigrationOptions options, boolean cleanup); int moduleStepsCount(); ScriptApplied nextModuleStep(@Nullable BaseScriptReference preferredId); }