@Override public void execute(String sourcePath, boolean hasDependencies) throws Exception { URL[] urls = toURLs(classpath); ClassLoader classLoader = null; try { classLoader = new URLClassLoader(urls, SimpleProjectEngineFactory.class.getClassLoader()); SimpleProjectEngineFactory.SimpleProjectEngineFactoryBuilder<?> builder = new SimpleProjectEngineFactory.SimpleProjectEngineFactoryBuilder<Object>(); if (hasDependencies) { builder.setWorkspace(workspaceFolder.getPath()); } SimpleProjectEngineFactory<?> factory = builder.setProject(sourcePath) .setClassLoader(classLoader) .setExecutionMode(true) .setExternalParameters(externalParameters) .build(); CompiledOpenClass openLRules = factory.getCompiledOpenClass(); IOpenClass openClass = openLRules.getOpenClass(); Collection<OpenLMessage> warnMessages = OpenLMessagesUtils.filterMessagesBySeverity(openLRules.getMessages(), Severity.WARN); info("Compilation has finished."); info("DataTypes: " + openClass.getTypes().size()); info("Methods : " + openClass.getMethods().size()); info("Warnings : " + warnMessages.size()); } finally { OpenClassUtil.releaseClassLoader(classLoader); } }
@Override public void execute(String sourcePath, boolean hasDependencies) throws Exception { URL[] urls = toURLs(classpath); ClassLoader classLoader = null; try { classLoader = new URLClassLoader(urls, SimpleProjectEngineFactory.class.getClassLoader()); SimpleProjectEngineFactory.SimpleProjectEngineFactoryBuilder<?> builder = new SimpleProjectEngineFactory.SimpleProjectEngineFactoryBuilder<Object>(); if (hasDependencies) { builder.setWorkspace(workspaceFolder.getPath()); } SimpleProjectEngineFactory<?> factory = builder.setProject(sourcePath) .setClassLoader(classLoader) .setExecutionMode(true) .setExternalParameters(externalParameters) .build(); CompiledOpenClass openLRules = factory.getCompiledOpenClass(); IOpenClass openClass = openLRules.getOpenClass(); Collection<OpenLMessage> warnMessages = OpenLMessagesUtils.filterMessagesBySeverity(openLRules.getMessages(), Severity.WARN); info("Compilation has finished."); info("DataTypes: " + openClass.getTypes().size()); info("Methods : " + openClass.getMethods().size()); info("Warnings : " + warnMessages.size()); } finally { OpenClassUtil.releaseClassLoader(classLoader); } }
private Summary executeAllAtOnce(String sourcePath, boolean hasDependencies) throws MalformedURLException, RulesInstantiationException, ProjectResolvingException, ClassNotFoundException { URL[] urls = toURLs(classpath); ClassLoader classLoader = null; try { classLoader = new URLClassLoader(urls, SimpleProjectEngineFactory.class.getClassLoader()); SimpleProjectEngineFactory.SimpleProjectEngineFactoryBuilder<?> builder = new SimpleProjectEngineFactory.SimpleProjectEngineFactoryBuilder<Object>(); if (hasDependencies) { builder.setWorkspace(workspaceFolder.getPath()); } SimpleProjectEngineFactory<?> factory = builder.setProject(sourcePath) .setClassLoader(classLoader) .setExecutionMode(false) .setExternalParameters(externalParameters) .build(); CompiledOpenClass openLRules = factory.getCompiledOpenClass(); return executeTests(openLRules); } finally { OpenClassUtil.releaseClassLoader(classLoader); } }
.setExecutionMode(false) .setModule(module.getName()) .setExternalParameters(externalParameters) .build();
.setExecutionMode(true) .setModule(module.getName()) .setExternalParameters(externalParameters) .build();
.setProvideVariations(isProvideVariations) .setExecutionMode(true) .setExternalParameters(externalParameters) .build();
.setProvideVariations(isProvideVariations) .setExecutionMode(true) .setExternalParameters(externalParameters) .build();
private Summary executeAllAtOnce(String sourcePath, boolean hasDependencies) throws MalformedURLException, RulesInstantiationException, ProjectResolvingException, ClassNotFoundException { URL[] urls = toURLs(classpath); ClassLoader classLoader = null; try { classLoader = new URLClassLoader(urls, SimpleProjectEngineFactory.class.getClassLoader()); SimpleProjectEngineFactory.SimpleProjectEngineFactoryBuilder<?> builder = new SimpleProjectEngineFactory.SimpleProjectEngineFactoryBuilder<Object>(); if (hasDependencies) { builder.setWorkspace(workspaceFolder.getPath()); } SimpleProjectEngineFactory<?> factory = builder.setProject(sourcePath) .setClassLoader(classLoader) .setExecutionMode(true) .setExternalParameters(externalParameters) .build(); CompiledOpenClass openLRules; try { TestMethodNodeBinder.keepTestsInExecutionMode(); openLRules = factory.getCompiledOpenClass(); } finally { TestMethodNodeBinder.removeTestsInExecutionMode(); } return executeTests(openLRules); } finally { OpenClassUtil.releaseClassLoader(classLoader); } }