@Override public CompilationModellingResult compileSource(String filePath, List<String> dependencies) { File file = slangCompilationService.getFile(filePath); try { return slang.compileSource(SlangSource.fromFile(file), getDependencySources(dependencies, file)); } catch (Exception e) { handleException(file, e); return null; } }
@Override public List<CompilationModellingResult> compileFolders(final List<String> foldersPaths, final CompilationHelper compilationHelper) { List<CompilationModellingResult> results = new ArrayList<>(); try { Set<SlangSource> dependencySources = getSourcesFromFolders(foldersPaths); for (SlangSource dependencySource : dependencySources) { File file = getFile(dependencySource.getFilePath()); compilationHelper.onEveryFile(file); try { CompilationModellingResult result = slang.compileSource(dependencySource, dependencySources, PrecompileStrategy.WITH_CACHE); result.setFile(file); results.add(result); } catch (Exception e) { logger.error("Failed compilation for file : " + file.getName() + " ,Exception is : " + e.getMessage()); } } } finally { compilationHelper.onCompilationFinish(); slang.invalidateAllInPreCompileCache(); } return results; }