Thanks for the pointers Tyler, I’ve been able to make a lot of progress in the last couple of days.
Indeed, the Java plugin example has everything I was looking for, unfortunately, it’s really tightly coupled with JDT internal classes. Maybe some of those classes could be abstracted away and included in the che-core project so it would make it easier for other people to create their own extensions, instead of duplicating things like ProblemAnnotation, TextEdit, etc.
But now I’m stuck with the implementation of my own JavaParserWorker. My parser depends on various external libraries which I can’t provide the source code for, so when I try to build the SDK with my extension, I get multiple errors like this:
No source code is available for type some.package.Class; did you forget to inherit a required module?
My parser worker implementation is in the “worker” package, which is configured in the GWT module as a web-worker (just like in the Java plugin), so when it tries to generate the _javascript_ code, it can’t find the source code for the external libraries.
The parser is invoked in the “onMessageReceived” method of the WorkerMessageHandler.
So, my question is, how can I provide a parser implementation that depends on external, binary, java libraries?
Thanks,
Gianluca Righetto