Source:
public Set<URI> compileExtendedDependencies(CompilationContext context, ResourceSet targetResourceSet) { final Set<URI> extendedDependenciesURIs = Sets.newLinkedHashSet(); for (ModuleDescriptor extended : context.getExtendedDependencies()) { ModuleDescriptor actualModule = extended; final String moduleContent = extended.getModuleContent(); final Matcher moduleSignatureMatcher = Pattern.compile("\\[module ([^(]+)\\(([^)]*)\\{0\\}([^)]*)\\)").matcher(moduleContent); String nsURIString = buildNsURIString(context); if (moduleSignatureMatcher.find()) { if (moduleSignatureMatcher.group(2).length() > 0) { nsURIString = ',' + nsURIString; } if (moduleSignatureMatcher.group(3).length() > 0) { nsURIString += ','; } final String replacement = "[module $1($2" + nsURIString + "$3)"; final String actualModuleContent = moduleSignatureMatcher.replaceFirst(replacement); actualModule = new ModuleDescriptor(extended.getModuleURI(), extended.getQualifiedName(), actualModuleContent); } CompilationResult result = compiledModules.get(actualModule); if (result == null || (result.getCompiledExpression() instanceof EObject && ((EObject) result.getCompiledExpression()).eResource() == null)) { final AcceleoCompilationTask compilationTask = new AcceleoCompilationTask(actualModule, null, null, targetResourceSet); try { result = compilationTask.call(); } catch (ExecutionException e) { } catch (InterruptedException e) { } catch (Exception e) { } if (result != null) { new AcceleoParserTrimUtil().trimEnvironment(result); } compiledModules.put(actualModule, result); } boolean resultOK = result != null && result.getCompiledExpression() instanceof EObject && (result.getStatus() == null || result.getStatus().getSeverity() != IStatus.ERROR); if (resultOK) { assert result != null; EObject compiledExpression = (EObject) result.getCompiledExpression(); extendedDependenciesURIs.add(compiledExpression.eResource().getURI()); } } return extendedDependenciesURIs; }

Target:
public Set<URI> compileExtendedDependencies(CompilationContext context, ResourceSet targetResourceSet) { final Set<URI> extendedDependenciesURIs = Sets.newLinkedHashSet(); for (ModuleDescriptor extended : context.getExtendedDependencies()) { ModuleDescriptor actualModule = extended; final String moduleContent = extended.getModuleContent(); final Matcher moduleSignatureMatcher = Pattern.compile("\\[module ([^(]+)\\(([^)]*)\\{0\\}([^)]*)\\)").matcher(moduleContent); String nsURIString = buildNsURIString(context); if (moduleSignatureMatcher.find()) { if (moduleSignatureMatcher.group(2).length() > 0) { nsURIString = ',' + nsURIString; } if (moduleSignatureMatcher.group(3).length() > 0) { nsURIString += ','; } final String replacement = "[module $1($2" + nsURIString + "$3)"; final String actualModuleContent = moduleSignatureMatcher.replaceFirst(replacement); actualModule = new ModuleDescriptor(extended.getModuleURI(), extended.getQualifiedName(), actualModuleContent); } CompilationResult result = compiledModules.get(actualModule); if (result == null || (result.getCompiledExpression() instanceof EObject && ((EObject) result.getCompiledExpression()).eResource() == null)) { final AcceleoCompilationTask compilationTask = new AcceleoCompilationTask(actualModule, null, null, targetResourceSet); try { result = compilationTask.call(); } catch (ExecutionException e) { } catch (InterruptedException e) { } catch (Exception e) { } if (result != null) { new AcceleoParserTrimUtil().trimEnvironment(result); } compiledModules.put(actualModule, result); } boolean resultOK = result != null && result.getCompiledExpression() instanceof EObject && (result.getStatus() == null || result.getStatus().getSeverity() < IStatus.ERROR); if (resultOK) { assert result != null; EObject compiledExpression = (EObject) result.getCompiledExpression(); extendedDependenciesURIs.add(compiledExpression.eResource().getURI()); } } return extendedDependenciesURIs; }