Hi all,
I think that Pierre or Arthur planned to publish yesterday’s meeting notes on the Eclipse Wiki somewhere … anyways in the meantime here are my raw notes from yesterday, I’m sure they need some editing / simplification for the Wiki:
Attendees:
-
Pierre Gaufillet, Airbus
-
Christian Pontesegger, Infineon
-
Martin Oberhuber, WindRiver
Notes:
Airbus + ATOS porting the TOPCASED scripting environment to Eclipse / e4 . Want to have a first binary package
done for end October.
-
Based on Monkey + _javascript_ today, also interested in Groovy
-
Code is on Github today, AI check whether there are simple instructions and/or binary download to try it out
-
Target Audience: End Users = Modelers who need to automate some activity on their models, eg modify fonts in all their diagrams
-
Those people are not Java or Eclipse developers - need a very simple API
Martin Requirements:
-
Scripting should be simple, procedural (could be on top of any Object Oriented DOM)
-
Scripting should be drivable from the outside (could also be on top of any Eclipse-internal scripting)
-
Performance
-
Interactive Shell with code completion + history navigation inside Eclipse
-
Want to appeal to end users - scripting must be super simple, code completion is important
Christian Requirements:
-
Wanted very simple scripting to avoid complex menus etc
-
Found that Eclipse already has an IDE for _javascript_, therefore just ported Rhino; Other languages possible
-
Details on EScript Blog and there is a Github repo
-
Can contribute / benefit only if there is a larger community behind scripting
-
Created Wrapper Mechanism around the Rhino OO mechanism: Script Engine can dynamically load "modules" which provide functionality, automatically providing nice wrappers in the target script
language
-
eg Workbench.openView
-
Code Completion is not yet working (for OO objects), understanding return types doesn't work yet
-
Python makes autocompletion difficult because it's a dynamic language (groovy uses static types) ... even JSDT and Pydev don't provide a really useful code completion
-
Using Java Reflection might help here
-
Macro Recording: Service can query a script engine (an engine takes text, and notifies listeners for every line executed)
-
Macro Recorder attaches to those notifications - their RCP is built on scripts as a core, therefore the macro recording works
-
It's much harder in Eclipse ... maybe in e4, all the commands and handlers could be leveraged ?
-
Martin thinks that components need to be "macro-enabled", it can't ever work "globally
Actions and Next Steps
-
Confirm with Wayne that a new project needs to be started for Scripting (being hosted by an existing project would need less resources)
-
Write Project Proposal in case a new project is needed
-
Begin writing a common simple spec: Pierre to do on the Wiki
-
Analyze our respective code: Arthur knows Monkey, will look at Christian's code [and probably also Martin's] to see what is the best code base to start with
-
Christian to provide an Update Site to test drive, Arthur to write minimal instructions
Thanks,
Martin
--
Martin Oberhuber, SMTS / Product Architect – Development Tools,
Wind River
direct +43.662.457915.85 fax +43.662.457915.6
|