Community
Participate
Working Groups
Build Identifier: I20110613-1736 If the name of a top-level type is changed (without renaming its compilation unit) the affected resources will not be rebuilt by the Xtext builder. It seems to be caused by the fact that there is no Xtext delta fired for the 'old' TypeResource URI in this case, only for the 'new' one. Hence, none of the resources depending on the 'old' type URI will be regarded as 'affected'. Interestingly, it is not an issue for editors reconciling, since TypeResourceUnloader converts sufficiently fine-grained POST_RECONCILE Java delta, containing full information about added/removed types, e.g. Java Model[*]: {CHILDREN} example[*]: {CHILDREN} src[*]: {CHILDREN} example[*]: {CHILDREN} [Working copy] Foo.java[*]: {CHILDREN | FINE GRAINED} Bar[+]: {} Foo[-]: {} while JavaChangeQueueFiller sees the 'course' POST_CHANGE delta: Java Model[*]: {CHILDREN} example[*]: {CHILDREN} src[*]: {CHILDREN} example[*]: {CHILDREN} [Working copy] Foo.java[*]: {PRIMARY RESOURCE} 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. Open 'Foo.dmodel' and 'Foo.java' in editors 3. In 'Foo.java' change the type name 'Foo' to 'Bar' (without refactoring). Note the error tick on the 'Foo.dmodel' editor 4. Now save the change. Note that 'Foo.dmodel' has not been rebuilt (there is no error marker for it in Problems View)
Created attachment 201388 [details] Sample language projects
Created attachment 201389 [details] 'example' project
Interestingly, there seems to be a kind of 'workaround' in JdtToBeBuiltComputer#removeStorage, but it works only in the case when the compilation unit is renamed (or moved/deleted), not just its top-level type.
This bug is related to bug 354951 (their fundamental nature is similar, see 'comment 3' in that bug for details). See the patch attached to that bug which also fixes this bug.
Fixed with path from bug 354951.
Closing all bugs that were set to RESOLVED before Neon.0