Search in sources :

Example 1 with N4HeadlessCompiler

use of org.eclipse.n4js.generator.headless.N4HeadlessCompiler in project n4js by eclipse.

the class AccessControlTest method compile.

/**
 * Compiles the projects generated into the path at {@link #FIXTURE_ROOT}, which in this test case the projects
 * representing the currently tested scenario and returns the generated issues.
 *
 * @return the generated issues
 */
private static Collection<Issue> compile(MemberType memberType) {
    IssueCollector issueCollector = new IssueCollector();
    try {
        N4HeadlessCompiler hlc = HeadlessCompilerFactory.createCompilerWithDefaults();
        final File projectRoot = Paths.get(FIXTURE_ROOT, memberType.name()).toFile();
        hlc.compileAllProjects(Arrays.asList(projectRoot), issueCollector);
    } catch (N4JSCompileException e) {
    // nothing to do
    }
    return issueCollector.getCollectedIssues();
}
Also used : N4JSCompileException(org.eclipse.n4js.generator.headless.N4JSCompileException) N4HeadlessCompiler(org.eclipse.n4js.generator.headless.N4HeadlessCompiler) IssueCollector(org.eclipse.n4js.generator.headless.IssueCollector) File(java.io.File)

Example 2 with N4HeadlessCompiler

use of org.eclipse.n4js.generator.headless.N4HeadlessCompiler in project n4js by eclipse.

the class ScenarioTest method testScenario11FailDueToInvisbleProject.

/**
 * Testing compiling
 */
@Test
public void testScenario11FailDueToInvisbleProject() {
    N4HeadlessCompiler hlc = HeadlessCompilerFactory.createCompilerWithDefaults();
    File root = new File(workspace, "scenario11");
    List<File> pProjectRoots = // 
    Arrays.asList(new File(root, "wsp1"));
    try {
        hlc.compileAllProjects(pProjectRoots);
        assertFalse("Should not have reached this point.", true);
    } catch (N4JSCompileException e) {
        String msg = e.getMessage();
        String expected = "Cannot compile project D due to 4 errors.";
        assertTrue("Wrong error message: '" + msg + "' expected beginning : '" + expected + "'", msg.startsWith(expected));
    }
    // expect source-files (depends on the chosen build order algorithm):
    assertExists(root, "wsp1/A/src-gen/packA/A.js");
    assertExists(root, "wsp1/C/src-gen/packC/C.js");
}
Also used : N4JSCompileException(org.eclipse.n4js.generator.headless.N4JSCompileException) N4HeadlessCompiler(org.eclipse.n4js.generator.headless.N4HeadlessCompiler) File(java.io.File) Test(org.junit.Test)

Example 3 with N4HeadlessCompiler

use of org.eclipse.n4js.generator.headless.N4HeadlessCompiler in project n4js by eclipse.

the class ScenarioTest method testScenario05BuildSingleProjectsWithoutProjectroot.

/**
 */
@Test
public void testScenario05BuildSingleProjectsWithoutProjectroot() throws N4JSCompileException {
    N4HeadlessCompiler hlc = HeadlessCompilerFactory.createCompilerWithDefaults();
    File root = new File(workspace, "scenario05");
    List<File> toCompile = // 
    Arrays.asList(// requires B and A to be loaded.
    new File(root, "nest/wsp2/D"), // requires nothing
    new File(root, "nest/wsp2/B"), // requires nothing
    new File(root, "wsp1/A"));
    hlc.compileProjects(toCompile);
    // those should be available
    assertExists(root, "wsp1/A/src-gen/packA/A.js");
    assertExists(root, "nest/wsp2/B/src-gen/packB/B.js");
    assertExists(root, "nest/wsp2/D/src-gen/packD/D.js");
    assertExists(root, "nest/wsp2/D/src-gen/packD/D2.js");
}
Also used : N4HeadlessCompiler(org.eclipse.n4js.generator.headless.N4HeadlessCompiler) File(java.io.File) Test(org.junit.Test)

Example 4 with N4HeadlessCompiler

use of org.eclipse.n4js.generator.headless.N4HeadlessCompiler in project n4js by eclipse.

the class ScenarioTest method testScenario02brokenManifest.

/**
 * Broken manifest will result in parse-error.
 */
@Test(expected = N4JSCompileException.class)
public void testScenario02brokenManifest() throws N4JSCompileException {
    N4HeadlessCompiler hlc = HeadlessCompilerFactory.createCompilerWithDefaults();
    File root = new File(workspace, "scenario02");
    List<File> pProjectRoots = // 
    Arrays.asList(// A
    new File(root, "wsp1"));
    hlc.compileAllProjects(pProjectRoots);
}
Also used : N4HeadlessCompiler(org.eclipse.n4js.generator.headless.N4HeadlessCompiler) File(java.io.File) Test(org.junit.Test)

Example 5 with N4HeadlessCompiler

use of org.eclipse.n4js.generator.headless.N4HeadlessCompiler in project n4js by eclipse.

the class ScenarioTest method testScenario07TestOnlyCompilation.

/**
 * Building a project but only the test-files.
 */
@Test
public void testScenario07TestOnlyCompilation() throws N4JSCompileException {
    N4HeadlessCompiler hlc = HeadlessCompilerFactory.createCompilerWithDefaults();
    File root = new File(workspace, "scenario07");
    List<File> toCompile = // 
    Arrays.asList(// requires nothing
    new File(root, "wsp1/P1"));
    hlc.setCompileSourceCode(false);
    hlc.setProcessTestCode(true);
    hlc.compileProjects(toCompile);
    // those should be available
    assertNotExists(root, "wsp1/P1/outfolder/c/Csrc1.js");
    assertNotExists(root, "wsp1/P1/outfolder/c/X.js");
    assertNotExists(root, "wsp1/P1/outfolder/c/X2.js");
    assertExists(root, "wsp1/P1/outfolder/t/T1.js");
    assertExists(root, "wsp1/P1/outfolder/t/T2.js");
    // there should be no src-gen folder:
    assertNotExists(root, "wsp1/P1/src-gen");
}
Also used : N4HeadlessCompiler(org.eclipse.n4js.generator.headless.N4HeadlessCompiler) File(java.io.File) Test(org.junit.Test)

Aggregations

N4HeadlessCompiler (org.eclipse.n4js.generator.headless.N4HeadlessCompiler)14 File (java.io.File)13 Test (org.junit.Test)12 N4JSCompileException (org.eclipse.n4js.generator.headless.N4JSCompileException)2 Injector (com.google.inject.Injector)1 IssueCollector (org.eclipse.n4js.generator.headless.IssueCollector)1 N4JSHeadlessStandaloneSetup (org.eclipse.n4js.generator.headless.N4JSHeadlessStandaloneSetup)1 HeadlessExtensionRegistrationHelper (org.eclipse.n4js.hlc.base.HeadlessExtensionRegistrationHelper)1