package jetbrains.mps.testbench.junit.suites;
/*Generated by MPS */
import org.jetbrains.annotations.NotNull;
import jetbrains.mps.project.Project;
import jetbrains.mps.baseLanguage.closures.runtime.Wrappers;
import jetbrains.mps.make.MPSCompilationResult;
import jetbrains.mps.make.ModuleMaker;
import jetbrains.mps.util.IterableUtil;
import jetbrains.mps.progress.EmptyProgressMonitor;
import jetbrains.mps.compiler.JavaCompilerOptionsComponent;
import jetbrains.mps.classloading.ClassLoaderManager;
public class TestMakeUtil {
public static void make(@NotNull final Project p) {
// Apparently, derived from MpsWorker.make()
final Wrappers._T<MPSCompilationResult> mpsCompilationResult = new Wrappers._T<MPSCompilationResult>();
p.getRepository().getModelAccess().runReadAction(new Runnable() {
public void run() {
ModuleMaker maker = new ModuleMaker();
mpsCompilationResult.value = maker.make(IterableUtil.asCollection(p.getProjectModules()), new EmptyProgressMonitor(), JavaCompilerOptionsComponent.DEFAULT_JAVA_COMPILER_OPTIONS);
}
});
if (mpsCompilationResult.value.isReloadingNeeded()) {
p.getRepository().getModelAccess().runWriteAction(new Runnable() {
public void run() {
ClassLoaderManager.getInstance().reloadModules(mpsCompilationResult.value.getChangedModules());
}
});
}
}
}