Community
Participate
Working Groups
Build Identifier: I20110613-1736 If Java changes happened before JavaChangeQueueFiller is initialized, XtextBuilder will not see them. Reproducible: Always Steps to Reproduce: 1. Import the attached 'org.xtext.example.domainmodel' and 'org.xtext.example.domainmodel.ui' projects into the workspace 2. Run the runtime workbench and import the attached 'example' project into the runtime workspace 3. Close all Xtext editors (if some were open) and restart the runtime workbench 4. After restart, open 'Foo.java' and change 'Bar' to 'Baz'. Save the change. Note that 'Foo.dmodel' has not been rebuilt (there is no error marker for it in Problems View). Of course, it's a relatively minor issue (probably not seen too often in practice) and honestly, I don't know if it's even can be fixed (JDT does not provide something like ISavedState#processResourceChangeEvents), but nevertheless I decided to report it, just for the record.
Created attachment 201395 [details] Sample language projects
Created attachment 201396 [details] 'example' project
We could use a dummy extension on the JDT compiler extension point to ensure that the shared plugin gets activated.
I'm afraid that it may be a little too late a moment, because all POST_CHANGE listeners (including JDT DeltaProcessor) will have already been notified before the build happens (and a compilation participant gets activated).
Well, it seems I'm not quite right about this, because compilation participants also get activated on working copy reconcile. Whereas theoretically it is still not enough (there may be Java changes caused by resource synchronization, for example), it may be good enough solution in practice.
We now have a compilation participant. Please reopen if that is not sufficient.
Requested via bug 522520. -M.