package jetbrains.mps.build.ant;
/*Generated by MPS */
import java.io.File;
import java.util.Set;
import java.util.List;
import org.apache.tools.ant.BuildException;
import java.util.LinkedHashSet;
public class MigrationTask extends MpsLoadTask {
public MigrationTask() {
}
public void setProject(String project) {
myWhatToDo.addProjectFile(new File(project));
}
protected String getWorkerClass() {
return "jetbrains.mps.build.migration.MigrationWorker";
}
@Override
protected Set<File> calculateClassPath(boolean fork) {
// copied from GenerationTask
List<File> classPathRoots = MPSClasspathUtil.getClassPathRootsFromDependencies(getProject());
if (classPathRoots.isEmpty()) {
throw new BuildException("Dependency on MPS build scripts is required to generate MPS modules.");
}
Set<File> classPath = new LinkedHashSet<File>();
String mpsHome = getProject().getProperty("mps_home");
classPath.add(new File(mpsHome + "/plugins/mps-build/languages/build/jetbrains.mps.build.migration.jar"));
classPath.add(new File(mpsHome + "/plugins/modelchecker.jar"));
classPath.add(new File(mpsHome + "/plugins/migrationAssistant.jar"));
for (File file : classPathRoots) {
MPSClasspathUtil.gatherAllClassesAndJarsUnder(file, classPath);
}
return classPath;
}
}