Hello,

I think it would be useful to provide a bridge for NetBeans modules done
with scripting languages.

Javascript is the prime candindate since we have Nashorn at JRE level, but
I assume once the hooks are in place more languages will be supported.

The way I expect it to work is to use JAR files but in the MANIFEST add

OpenIDE-Module-ScriptEngine: nashorn

then all class references will be interpreted through the script engine.

So, I could have

OpenIDE-Module-Install: ro/emilianbold/js/install.js

Then in META-INF/services/name.of.Class I could add

ro/emilianbold/js/myservice.js

For layer .instance file we could have another attribute like

<file name="x.instance">
  <attr name="instanceScript"
stringvalue="ro/emilianbold/js/serviceimpl.js"/>
</file>

or maybe register the extension and treat .EXT.instance as a script:

OpenIDE-Module-ScriptExtension: js
<file name="ro-emilianbold-js-serviceimpl.js.instance" />

Were there some prior attempts towards something like this?

Does anybody want to help me spec this out and write some prototype?

One area that will be sub-optimal is lazy-loading: I believe the module
system used reflection to instantiate lazily services. This will not work
for scripts as they will have to be loaded and executed. Still, I believe
this will be manageable.

PS: Also CCing [email protected]

--emi

Reply via email to