Search in sources :

Example 6 with N4jscOptions

use of org.eclipse.n4js.cli.N4jscOptions in project n4js by eclipse.

the class InitDialog method inputUserAnswers.

static UserAnswers inputUserAnswers(N4jscOptions options, InitConfiguration config, WorkingDirState workingDirState) {
    UserAnswers answers = new UserAnswers();
    String userInput = null;
    if (options.isCreate() && options.isWorkspaces() && workingDirState == WorkingDirState.InEmptyFolder) {
        N4jscConsole.print(String.format("name of yarn project: (%s) ", config.yarnPackageJson.name));
        userInput = N4jscConsole.readLine();
        answers.nameYarnProject = userInput.isBlank() ? config.yarnPackageJson.name : userInput;
    }
    PackageJsonContents defaults = config.packageJson;
    if (!options.isN4JS()) {
        // in case of extending an already existing project to n4js, the name is not changed
        userInput = readValidInput(input -> input.startsWith("@") && input.contains("/"), String.format("name: (%s) ", defaults.name), "Valid project names of scoped projects must start with '@' and contain a single '/'.");
        answers.nameProject = userInput.isBlank() ? defaults.name : userInput;
    }
    N4jscConsole.print("Add 'Hello World' example? (type 'y' for yes) (no) ");
    userInput = N4jscConsole.readLine();
    answers.addHelloWorld = isYes(userInput);
    if (answers.addHelloWorld) {
        N4jscConsole.print("Add Test for 'Hello World' example? (type 'y' for yes) (no) ");
        userInput = N4jscConsole.readLine();
        answers.addHelloWorldTest = isYes(userInput);
    }
    N4jscConsole.print(String.format("version: (%s) ", Strings.nullToEmpty(defaults.version)));
    userInput = N4jscConsole.readLine();
    answers.version = userInput.isBlank() ? defaults.version : userInput;
    N4jscConsole.print(String.format("main module: (%s) ", Strings.nullToEmpty(defaults.main)));
    userInput = N4jscConsole.readLine();
    answers.main_module = userInput.isBlank() ? defaults.main : userInput;
    N4jscConsole.print(String.format("author: (%s) ", Strings.nullToEmpty(defaults.author)));
    userInput = N4jscConsole.readLine();
    answers.author = userInput.isBlank() ? defaults.author : userInput;
    N4jscConsole.print(String.format("license: (%s) ", Strings.nullToEmpty(defaults.license)));
    userInput = N4jscConsole.readLine();
    answers.license = userInput.isBlank() ? defaults.license : userInput;
    N4jscConsole.print(String.format("description: (%s) ", Strings.nullToEmpty(defaults.description)));
    userInput = N4jscConsole.readLine();
    answers.description = userInput.isBlank() ? defaults.description : userInput;
    return answers;
}
Also used : InitOptions(org.eclipse.n4js.cli.N4jscOptions.InitOptions) URI(org.eclipse.emf.common.util.URI) Predicate(java.util.function.Predicate) FileHelloWorldTest(org.eclipse.n4js.cli.init.InitResources.FileHelloWorldTest) File(java.io.File) URIUtils(org.eclipse.n4js.utils.URIUtils) Strings(com.google.common.base.Strings) N4jscOptions(org.eclipse.n4js.cli.N4jscOptions) YarnPackageJsonContents(org.eclipse.n4js.cli.init.InitResources.YarnPackageJsonContents) IndexFile(org.eclipse.n4js.cli.init.InitResources.IndexFile) PackageJsonContents(org.eclipse.n4js.cli.init.InitResources.PackageJsonContents) N4jscConsole(org.eclipse.n4js.cli.N4jscConsole) N4jscException(org.eclipse.n4js.cli.N4jscException) FileHelloWorld(org.eclipse.n4js.cli.init.InitResources.FileHelloWorld) Pair(org.eclipse.xtext.xbase.lib.Pair) WorkingDirState(org.eclipse.n4js.cli.init.N4jscInit.WorkingDirState) Objects(com.google.common.base.Objects) Path(java.nio.file.Path) YarnPackageJsonContents(org.eclipse.n4js.cli.init.InitResources.YarnPackageJsonContents) PackageJsonContents(org.eclipse.n4js.cli.init.InitResources.PackageJsonContents)

Example 7 with N4jscOptions

use of org.eclipse.n4js.cli.N4jscOptions in project n4js by eclipse.

the class AT_IDEBUG_654_ExportPlainJsModulesTest method compileCheckModuleExportFromPlainJsFile_ExpectAvailable.

/**
 */
@Test
public void compileCheckModuleExportFromPlainJsFile_ExpectAvailable() {
    Path projectDir = workspace.toPath().resolve(WS_IDEBUG_654);
    Path fileToRun = projectDir.resolve("src-gen/Client.js");
    N4jscOptions options = COMPILE(workspace);
    CliCompileResult cliResult = n4jsc(options);
    assertEquals(cliResult.toString(), 2, cliResult.getTranspiledFilesCount());
    ProcessResult nodejsResult = nodejsRun(projectDir, fileToRun);
    assertEquals(nodejsResult.toString(), "foo === 36: true, bar === 'bar': true", nodejsResult.getStdOut());
}
Also used : Path(java.nio.file.Path) CliCompileResult(org.eclipse.n4js.cli.helper.CliCompileResult) N4jscOptions(org.eclipse.n4js.cli.N4jscOptions) ProcessResult(org.eclipse.n4js.cli.helper.ProcessResult) Test(org.junit.Test) AbstractCliCompileTest(org.eclipse.n4js.cli.helper.AbstractCliCompileTest)

Example 8 with N4jscOptions

use of org.eclipse.n4js.cli.N4jscOptions in project n4js by eclipse.

the class IncompleteApiImplementationTest method compileAPI_And_API_Impl.

/**
 * Setup workspace with api & api-impl & compile
 */
/**
 * Upfront compilation when loading this test-class.
 */
public void compileAPI_And_API_Impl() {
    proot = new File(workspace, PACKAGES).getAbsolutePath().toString();
    project_one_api_execution = "one.api.execution/";
    pathTo_one_api_execution = proot + "/" + project_one_api_execution;
    N4jscOptions options = COMPILE(workspace);
    CliCompileResult cliResult = n4jsc(options);
    assertEquals(cliResult.toString(), 69, cliResult.getTranspiledFilesCount());
}
Also used : CliCompileResult(org.eclipse.n4js.cli.helper.CliCompileResult) N4jscOptions(org.eclipse.n4js.cli.N4jscOptions) File(java.io.File)

Example 9 with N4jscOptions

use of org.eclipse.n4js.cli.N4jscOptions in project n4js by eclipse.

the class InstallCompileRunN4jscExternalShadowNestedNodeModulesTest method testCompileAndRunWithExternalDependencies.

/**
 * Test for checking the npm support in the headless case by downloading third party package, importing it and
 * running it with Common JS.
 *
 * TODO: use System.lineSeparator()
 */
@Test
public void testCompileAndRunWithExternalDependencies() {
    final Path wsRoot = workspace.getAbsoluteFile().toPath();
    final Path project = wsRoot.resolve("packages").resolve("P");
    final Path fileToRun = project.resolve("src-gen").resolve("Main.js");
    N4jscOptions options = COMPILE(workspace);
    CliCompileResult cliResult = n4jsc(options, VALIDATION_ERRORS);
    assertEquals(cliResult.toString(), 1, cliResult.getTranspiledFilesCount());
    String expectedString = "Main.n4js in P\n";
    expectedString += "#methodOld() in version 2.0.0\n";
    expectedString += "#methodNew() in version 2.0.0";
    ProcessResult nodejsResult = nodejsRun(workspace.toPath(), fileToRun);
    assertEquals(nodejsResult.toString(), expectedString, nodejsResult.getStdOut());
}
Also used : Path(java.nio.file.Path) CliCompileResult(org.eclipse.n4js.cli.helper.CliCompileResult) N4jscOptions(org.eclipse.n4js.cli.N4jscOptions) ProcessResult(org.eclipse.n4js.cli.helper.ProcessResult) Test(org.junit.Test) AbstractCliCompileTest(org.eclipse.n4js.cli.helper.AbstractCliCompileTest)

Aggregations

N4jscOptions (org.eclipse.n4js.cli.N4jscOptions)9 CliCompileResult (org.eclipse.n4js.cli.helper.CliCompileResult)8 AbstractCliCompileTest (org.eclipse.n4js.cli.helper.AbstractCliCompileTest)7 Test (org.junit.Test)7 File (java.io.File)5 Path (java.nio.file.Path)5 ProcessResult (org.eclipse.n4js.cli.helper.ProcessResult)4 Objects (com.google.common.base.Objects)1 Strings (com.google.common.base.Strings)1 Predicate (java.util.function.Predicate)1 URI (org.eclipse.emf.common.util.URI)1 N4jscConsole (org.eclipse.n4js.cli.N4jscConsole)1 N4jscException (org.eclipse.n4js.cli.N4jscException)1 InitOptions (org.eclipse.n4js.cli.N4jscOptions.InitOptions)1 FileHelloWorld (org.eclipse.n4js.cli.init.InitResources.FileHelloWorld)1 FileHelloWorldTest (org.eclipse.n4js.cli.init.InitResources.FileHelloWorldTest)1 IndexFile (org.eclipse.n4js.cli.init.InitResources.IndexFile)1 PackageJsonContents (org.eclipse.n4js.cli.init.InitResources.PackageJsonContents)1 YarnPackageJsonContents (org.eclipse.n4js.cli.init.InitResources.YarnPackageJsonContents)1 WorkingDirState (org.eclipse.n4js.cli.init.N4jscInit.WorkingDirState)1