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()); } }); } } }