]
Nick Boldt commented on JBIDE-17633:
------------------------------------
[~fbricon] Sounds about right... we need:
a) new Tern 0.2.0.x or 0.3.0.x mirror
b) 2 updated target platforms to pull in newer Tern plugins/features - tern is currently
in the JBT TP (jbosstools-multiple.target) and JBoss EA target platform
(jbtearlyaccess-multiple.target)
c) updated MANIFEST in jst.jsdt plugin to allow co-installation of that plugin and the new
version of tern; currently you CANNOT co-install them
d) rebuild of JST project
d) rebuild of JBT to pull in new JST plugin
e) rebuild of JBDS to pull in new JBT content
Then, we'll also need:
f) documented QE tests for AngularJS to ensure it works with the new Tern and the user
experience is what we expect
g) documented QE tests for jst.jsdt to ensure it works with the new Tern and the user
experience is what we expect
AngularJS Eclipse plugin doesn't provide autocompletion OOTB on
Windows x86_64
------------------------------------------------------------------------------
Key: JBIDE-17633
URL:
https://issues.jboss.org/browse/JBIDE-17633
Project: Tools (JBoss Tools)
Issue Type: Bug
Components: build, jsp/jsf/xml/html source editing
Affects Versions: 4.2.0.Beta2
Reporter: Fred Bricon
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 :
{noformat}
!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
{noformat}
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 :
{quote}
tern.eclipse.ide.server.nodejs.embed.win32.win32.x86;bundle-version="[0.2.0.201405210810,0.2.0.201405210810]";resolution:=optional;x-installation:=greedy,{quote}
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.