Uploaded image for project: 'Tools (JBoss Tools)'
  1. Tools (JBoss Tools)
  2. JBIDE-17633

AngularJS Eclipse plugin doesn't provide autocompletion OOTB on Windows x86_64

XMLWordPrintable

      If you install the AngularJS Eclipse plugin from Central on JBDS, on Windows 7 64bit, autocompletion will not work as expected (no angularjs elements will be proposed) and the error log will be polluted with errors like :

      !MESSAGE Error while tern validator.
      !STACK 0
      tern.TernException: tern.server.nodejs.process.NodejsProcessException: java.io.IOException: Cannot run program "node" (in directory "D:\workspaces\runtime-hosted-rc4\web"): CreateProcess error=2, Le fichier spécifié est introuvable
      	at tern.server.nodejs.NodejsTernServer.request(NodejsTernServer.java:307)
      	at tern.eclipse.ide.core.IDETernProject.request(IDETernProject.java:745)
      	at tern.eclipse.ide.core.IDETernProject.request(IDETernProject.java:739)
      	at org.eclipse.angularjs.internal.ui.validation.HTMLAngularContentValidator.find(HTMLAngularContentValidator.java:122)
      	at org.eclipse.angularjs.internal.ui.validation.HTMLAngularContentValidator.doValidate(HTMLAngularContentValidator.java:71)
      	at org.eclipse.angularjs.internal.ui.validation.AbstractValidator.validate(AbstractValidator.java:142)
      	at org.eclipse.angularjs.internal.ui.validation.AbstractValidator.validate(AbstractValidator.java:124)
      	at org.eclipse.angularjs.internal.ui.validation.AbstractValidator.validate(AbstractValidator.java:108)
      	at org.eclipse.wst.sse.ui.internal.reconcile.validator.ReconcileStepForValidator.validate(ReconcileStepForValidator.java:381)
      	at org.eclipse.wst.sse.ui.internal.reconcile.validator.ReconcileStepForValidator.reconcileModel(ReconcileStepForValidator.java:259)
      	at org.eclipse.jface.text.reconciler.AbstractReconcileStep.reconcile(AbstractReconcileStep.java:95)
      	at org.eclipse.wst.sse.ui.internal.reconcile.validator.ValidatorStrategy.reconcile(ValidatorStrategy.java:269)
      	at org.eclipse.wst.sse.ui.internal.reconcile.DocumentRegionProcessor.process(DocumentRegionProcessor.java:321)
      	at org.eclipse.wst.sse.ui.internal.reconcile.StructuredRegionProcessor.process(StructuredRegionProcessor.java:258)
      	at org.eclipse.wst.sse.ui.internal.reconcile.DirtyRegionProcessor$BackgroundThread.run(DirtyRegionProcessor.java:691)
      Caused by: tern.server.nodejs.process.NodejsProcessException: java.io.IOException: Cannot run program "node" (in directory "D:\workspaces\runtime-hosted-rc4\web"): CreateProcess error=2, Le fichier spécifié est introuvable
      	at tern.server.nodejs.process.NodejsProcess.start(NodejsProcess.java:302)
      	at tern.server.nodejs.process.NodejsProcess.start(NodejsProcess.java:321)
      	at tern.server.nodejs.NodejsTernServer.getBaseURL(NodejsTernServer.java:188)
      	at tern.server.nodejs.NodejsTernServer.makeRequest(NodejsTernServer.java:160)
      	at tern.server.nodejs.NodejsTernServer.request(NodejsTernServer.java:299)
      	... 14 more
      Caused by: java.io.IOException: Cannot run program "node" (in directory "D:\workspaces\runtime-hosted-rc4\web"): CreateProcess error=2, Le fichier spécifié est introuvable
      	at java.lang.ProcessBuilder.start(ProcessBuilder.java:1042)
      	at tern.server.nodejs.process.NodejsProcess.start(NodejsProcess.java:289)
      	... 18 more
      Caused by: java.io.IOException: CreateProcess error=2, Le fichier spécifié est introuvable
      	at java.lang.ProcessImpl.create(Native Method)
      	at java.lang.ProcessImpl.<init>(ProcessImpl.java:386)
      	at java.lang.ProcessImpl.start(ProcessImpl.java:137)
      	at java.lang.ProcessBuilder.start(ProcessBuilder.java:1023)
      	... 19 more
      

      The problem is no embedded NodeJS runtime is provided OOTB for Windows x86_64.

      This PR for tern.java would allow such runtime to be provided : https://github.com/angelozerr/tern.java/pull/73. It targets tern.java 0.3.0 so, unless we also pick up that version, we'll need to backport the fix for the 0.2.0 stream

      Moreover, org.jboss.tools.jst.jsdt/META-INF/MANIFEST.MF contains :


      tern.eclipse.ide.server.nodejs.embed.win32.win32.x86;bundle-version="[0.2.0.201405210810,0.2.0.201405210810]";resolution:=optional;x-installation:=greedy,

      So even if tern.java provides an new runtime for x86_64, it won't be installed automatically. The MANIFEST needs to be updated.

      In any case, target platforms and the JBDS installer need to be rebuilt.

              nickboldt Nick Boldt
              fbricon@redhat.com Fred Bricon
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

                Created:
                Updated:
                Resolved: