use of org.eclipse.emf.common.util.URI in project xtext-xtend by eclipse.
the class ActiveAnnotationsRuntimeTest method compileMacroResourceSet.
public XtextResourceSet compileMacroResourceSet(final Pair<String, String> macroFile, final Pair<String, String> clientFile) {
final URI macroURI = this.copyToDisk(this.macroProject, macroFile);
final URI clientURI = this.copyToDisk(this.clientProject, clientFile);
File _file = new File(this.workspaceRoot, this.macroProject);
FileProjectConfig _fileProjectConfig = new FileProjectConfig(_file);
final Procedure1<FileProjectConfig> _function = (FileProjectConfig it) -> {
it.addSourceFolder("src");
};
final FileProjectConfig macroProjectConfig = ObjectExtensions.<FileProjectConfig>operator_doubleArrow(_fileProjectConfig, _function);
File _file_1 = new File(this.workspaceRoot, this.clientProject);
FileProjectConfig _fileProjectConfig_1 = new FileProjectConfig(_file_1);
final Procedure1<FileProjectConfig> _function_1 = (FileProjectConfig it) -> {
it.addSourceFolder("src");
};
final FileProjectConfig clientProjectConfig = ObjectExtensions.<FileProjectConfig>operator_doubleArrow(_fileProjectConfig_1, _function_1);
final XtextResourceSet macroResourceSet = this.resourceSetProvider.get();
ProjectConfigAdapter.install(macroResourceSet, macroProjectConfig);
macroResourceSet.setClasspathURIContext(this.getClass().getClassLoader());
macroResourceSet.createResource(macroURI);
final XtextResourceSet resourceSet = this.resourceSetProvider.get();
ProjectConfigAdapter.install(resourceSet, clientProjectConfig);
resourceSet.createResource(clientURI);
final IAcceptor<CompilationTestHelper.Result> _function_2 = (CompilationTestHelper.Result result) -> {
ClassLoader _classLoader = this.getClass().getClassLoader();
final DelegatingClassloader classLoader = new DelegatingClassloader(_classLoader, result);
resourceSet.setClasspathURIContext(classLoader);
this.compiler.setJavaCompilerClassPath(classLoader);
};
this.compiler.compile(macroResourceSet, _function_2);
return resourceSet;
}
use of org.eclipse.emf.common.util.URI in project xtext-xtend by eclipse.
the class JavaFileConverterTest method runConverter.
public void runConverter() {
try {
File _parentFile = new File("").getAbsoluteFile().getParentFile();
final File srcProjectRoot = new File(_parentFile, this.sourceProject);
File _parentFile_1 = srcProjectRoot.getParentFile();
final File testProject = new File(_parentFile_1, this.targetProject);
String _path = srcProjectRoot.getPath();
String _plus = ("Working in " + _path);
InputOutput.<String>println(_plus);
final PathTraverser pathTraverser = new PathTraverser();
String _absolutePath = srcProjectRoot.getAbsolutePath();
final Set<URI> allResourceUris = pathTraverser.findAllResourceUris(_absolutePath, new Predicate<URI>() {
@Override
public boolean apply(final URI input) {
final String fileName = input.toFileString();
return (("java".equals(input.fileExtension()) && (!fileName.contains("xtend-gen"))) && (!fileName.contains("batch-compiler-data")));
}
});
int errors = 0;
int problems = 0;
int files = 0;
int filesWithErrorsOrProblems = 0;
for (final URI uri : allResourceUris) {
{
String _fileString = uri.toFileString();
final File file = new File(_fileString);
final String javaFileProjRelPath = uri.toFileString().replace(srcProjectRoot.getAbsolutePath(), "");
InputOutput.<String>println(("Converting: " + javaFileProjRelPath));
boolean compileError = false;
final String javaCode = Files.toString(file, Charset.defaultCharset());
final JavaConverter.ConversionResult xtendResult = this.converToXtend(file.getName(), javaCode);
final int knownProblemsFound = IterableExtensions.size(xtendResult.getProblems());
String xtendCode = xtendResult.getXtendCode();
String fileName = (javaFileProjRelPath + ".xtend");
try {
this.file(xtendCode, true);
} catch (final Throwable _t) {
if (_t instanceof AssertionError) {
final AssertionError error = (AssertionError) _t;
compileError = true;
StringConcatenation _builder = new StringConcatenation();
_builder.append(javaFileProjRelPath);
_builder.append(" - ");
String _message = error.getMessage();
_builder.append(_message);
System.err.println(_builder);
} else {
throw Exceptions.sneakyThrow(_t);
}
}
if (((knownProblemsFound != 0) || compileError)) {
filesWithErrorsOrProblems++;
if ((knownProblemsFound != 0)) {
this.writeToFile(testProject, javaFileProjRelPath, javaCode);
String _fileName = fileName;
fileName = (_fileName + ".error");
} else {
errors++;
}
}
int _problems = problems;
problems = (_problems + knownProblemsFound);
files++;
this.writeToFile(testProject, fileName, xtendCode);
}
}
StringConcatenation _builder = new StringConcatenation();
_builder.append("Not covered Errors (");
_builder.append(errors);
_builder.append(")");
InputOutput.<String>println(_builder.toString());
StringConcatenation _builder_1 = new StringConcatenation();
_builder_1.append("Known Problems (");
_builder_1.append(problems);
_builder_1.append(")");
InputOutput.<String>println(_builder_1.toString());
StringConcatenation _builder_2 = new StringConcatenation();
_builder_2.append("Files read (");
_builder_2.append(files);
_builder_2.append(")");
InputOutput.<String>println(_builder_2.toString());
StringConcatenation _builder_3 = new StringConcatenation();
_builder_3.append("Files with errors/problems (");
_builder_3.append(filesWithErrorsOrProblems);
_builder_3.append(")");
InputOutput.<String>println(_builder_3.toString());
InputOutput.<String>println("Done...");
Assert.assertEquals(this.problemsExpected, problems);
Assert.assertEquals(this.errorsExpected, errors);
} catch (Throwable _e) {
throw Exceptions.sneakyThrow(_e);
}
}
use of org.eclipse.emf.common.util.URI in project xtext-xtend by eclipse.
the class XtendIncrementalBuilderTest method testSimpleMixedBuild04.
@Test
public void testSimpleMixedBuild04() {
final Procedure1<BuildRequest> _function = (BuildRequest it) -> {
StringConcatenation _builder = new StringConcatenation();
_builder.append("import b.B");
_builder.newLine();
_builder.append("class A {");
_builder.newLine();
_builder.append(" ");
_builder.append("def foo() {");
_builder.newLine();
_builder.append(" ");
_builder.append("B.foo");
_builder.newLine();
_builder.append(" ");
_builder.append("}");
_builder.newLine();
_builder.append("}");
_builder.newLine();
URI _minus = this.operator_minus("src/A.xtend", _builder.toString());
StringConcatenation _builder_1 = new StringConcatenation();
_builder_1.append("package b;");
_builder_1.newLine();
_builder_1.append("public class B {");
_builder_1.newLine();
_builder_1.append("\t");
_builder_1.append("public static String foo;");
_builder_1.newLine();
_builder_1.append("}");
_builder_1.newLine();
URI _minus_1 = this.operator_minus("src/b/B.java", _builder_1.toString());
it.setDirtyFiles(Collections.<URI>unmodifiableList(CollectionLiterals.<URI>newArrayList(_minus, _minus_1)));
};
final BuildRequest buildRequest = this.newBuildRequest(_function);
this.build(buildRequest);
Assert.assertTrue(this.issues.toString(), this.issues.isEmpty());
Assert.assertEquals(2, this.generated.size());
Assert.assertTrue(this.containsSuffix(this.generated.values(), "xtend-gen/A.java"));
}
use of org.eclipse.emf.common.util.URI in project xtext-xtend by eclipse.
the class XtendIncrementalBuilderTest method testSimpleMixedBuild.
@Test
public void testSimpleMixedBuild() {
final Procedure1<BuildRequest> _function = (BuildRequest it) -> {
StringConcatenation _builder = new StringConcatenation();
_builder.append("class A {");
_builder.newLine();
_builder.append("\t");
_builder.append("public mypack.MyClass someField");
_builder.newLine();
_builder.append("}");
_builder.newLine();
URI _minus = this.operator_minus("src/MyFile.xtend", _builder.toString());
StringConcatenation _builder_1 = new StringConcatenation();
_builder_1.append("package mypack;");
_builder_1.newLine();
_builder_1.append("class MyClass {");
_builder_1.newLine();
_builder_1.append("\t");
_builder_1.append("public String a;");
_builder_1.newLine();
_builder_1.append("}");
_builder_1.newLine();
URI _minus_1 = this.operator_minus("src/mypack/MyClass.java", _builder_1.toString());
it.setDirtyFiles(Collections.<URI>unmodifiableList(CollectionLiterals.<URI>newArrayList(_minus, _minus_1)));
};
final BuildRequest buildRequest = this.newBuildRequest(_function);
this.build(buildRequest);
Assert.assertTrue(this.issues.toString(), this.issues.isEmpty());
Assert.assertEquals(2, this.generated.size());
Assert.assertTrue(this.containsSuffix(this.generated.values(), "xtend-gen/A.java"));
}
use of org.eclipse.emf.common.util.URI in project xtext-xtend by eclipse.
the class XtendIncrementalBuilderTest method testInnerClassEnumProblem.
@Test
public void testInnerClassEnumProblem() {
final Procedure1<BuildRequest> _function = (BuildRequest it) -> {
StringConcatenation _builder = new StringConcatenation();
_builder.append("package mypack;");
_builder.newLine();
_builder.append("public class EnumTest {");
_builder.newLine();
_builder.append("\t");
_builder.append("public enum AB {");
_builder.newLine();
_builder.append("\t\t");
_builder.append("A,");
_builder.newLine();
_builder.append("\t\t");
_builder.append("B");
_builder.newLine();
_builder.append("\t");
_builder.append("}");
_builder.newLine();
_builder.append("}");
_builder.newLine();
_builder.newLine();
URI _minus = this.operator_minus("src/mypack/EnumTest.java", _builder.toString());
StringConcatenation _builder_1 = new StringConcatenation();
_builder_1.append("package mypack");
_builder_1.newLine();
_builder_1.append("class Demo {");
_builder_1.newLine();
_builder_1.append("\t");
_builder_1.append("def void format() {");
_builder_1.newLine();
_builder_1.append("\t\t");
_builder_1.append("var EnumTest.AB x = EnumTest.AB.A");
_builder_1.newLine();
_builder_1.append("\t\t");
_builder_1.append("println(x)");
_builder_1.newLine();
_builder_1.append("\t");
_builder_1.append("}");
_builder_1.newLine();
_builder_1.append("}");
_builder_1.newLine();
URI _minus_1 = this.operator_minus("src/mypack/Demo.xtend", _builder_1.toString());
it.setDirtyFiles(Collections.<URI>unmodifiableList(CollectionLiterals.<URI>newArrayList(_minus, _minus_1)));
};
final BuildRequest buildRequest = this.newBuildRequest(_function);
this.build(buildRequest);
Assert.assertTrue(this.issues.toString(), this.issues.isEmpty());
Assert.assertEquals(2, this.generated.size());
}
Aggregations