-
Notifications
You must be signed in to change notification settings - Fork 108
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Mostly empty classpath delta on classpath entry attribute change #486
Comments
I've asked on the JDT mailing list, whether we want to fill the delta with the missing information. We'll see if anyone objects or has other suggestions. |
trancexpress
added a commit
to trancexpress/eclipse.jdt.core
that referenced
this issue
Oct 25, 2022
…pse-jdt#486 When the JavaDoc of a classpath entry changes, a mostly empty delta is created by ClasspathChange. This change adds new API, to ensure such deltas list what classpath attributes changed. The new information is listed under new package fragment root children of the delta with the new flag IJavaElementDelta.F_ATTRIBUTES. The specific attribute changes can be accessed via: org.eclipse.jdt.core.IJavaElementDelta.getAttributeDeltas() org.eclipse.jdt.core.IClasspathAttributeDelta getAttributeDeltas() will return an empty array if there are no classpath attributes that changed or if the delta element cannot have such changes. Fixes: eclipse-jdt#486
3 tasks
trancexpress
added a commit
to trancexpress/eclipse.jdt.core
that referenced
this issue
Oct 25, 2022
…pse-jdt#486 When the JavaDoc of a classpath entry changes, a mostly empty delta is created by ClasspathChange. This change adds new API, to ensure such deltas list what classpath attributes changed. The new information is listed under new package fragment root children of the delta with the new flag IJavaElementDelta.F_ATTRIBUTES. The specific attribute changes can be accessed via: org.eclipse.jdt.core.IJavaElementDelta.getAttributeDeltas() org.eclipse.jdt.core.IClasspathAttributeDelta getAttributeDeltas() will return an empty array if there are no classpath attributes that changed or if the delta element cannot have such changes. Fixes: eclipse-jdt#486
iloveeclipse
pushed a commit
to trancexpress/eclipse.jdt.core
that referenced
this issue
Oct 27, 2022
…pse-jdt#486 When the JavaDoc of a classpath entry changes, a mostly empty delta is created by ClasspathChange. This change adds new API, to ensure such deltas list what classpath attributes changed. The new information is listed under new package fragment root children of the delta with the new flag IJavaElementDelta.F_CLASSPATH_ATTRIBUTES. The specific attribute changes can be accessed via: org.eclipse.jdt.core.IJavaElementDelta.getClasspathAttributeDeltas() org.eclipse.jdt.core.IClasspathAttributeDelta getClasspathAttributeDeltas() will return an empty array if there are no classpath attributes that changed or if the delta element cannot have such changes. Fixes: eclipse-jdt#486
iloveeclipse
pushed a commit
to trancexpress/eclipse.jdt.core
that referenced
this issue
Dec 6, 2022
…pse-jdt#486 When the JavaDoc of a classpath entry changes, a mostly empty delta is created by ClasspathChange. This change adds new API, to ensure such deltas list what classpath attributes changed. The new information is listed under new package fragment root children of the delta with the new flag IJavaElementDelta.F_CLASSPATH_ATTRIBUTES. The specific attribute changes can be accessed via: org.eclipse.jdt.core.IJavaElementDelta.getClasspathAttributeDeltas() org.eclipse.jdt.core.IClasspathAttributeDelta getClasspathAttributeDeltas() will return an empty array if there are no classpath attributes that changed or if the delta element cannot have such changes. Fixes: eclipse-jdt#486
trancexpress
added a commit
to trancexpress/eclipse.jdt.core
that referenced
this issue
Dec 7, 2022
…pse-jdt#486 When the JavaDoc of a classpath entry changes, a mostly empty delta is created by ClasspathChange. This change adds new API, to ensure such deltas list what classpath attributes changed. The new information is listed under new package fragment root children of the delta with the new flag IJavaElementDelta.F_ATTRIBUTES. The specific attribute changes can be accessed via: org.eclipse.jdt.core.IJavaElementDelta.getAttributeDeltas() org.eclipse.jdt.core.IClasspathAttributeDelta getAttributeDeltas() will return an empty array if there are no classpath attributes that changed or if the delta element cannot have such changes. Fixes: eclipse-jdt#486
trancexpress
added a commit
to trancexpress/eclipse.jdt.core
that referenced
this issue
Dec 7, 2022
…pse-jdt#486 When the JavaDoc of a classpath entry changes, a mostly empty delta is created by ClasspathChange. This change adds new API, to ensure such deltas list what classpath attributes changed. The new information is listed under new package fragment root children of the delta with the new flag IJavaElementDelta.F_CLASSPATH_ATTRIBUTES. The specific attribute changes can be accessed via: org.eclipse.jdt.core.IJavaElementDelta.getClasspathAttributeDeltas() org.eclipse.jdt.core.IClasspathAttributeDelta getClasspathAttributeDeltas() will return an empty array if there are no classpath attributes that changed or if the delta element cannot have such changes. Fixes: eclipse-jdt#486
iloveeclipse
pushed a commit
to trancexpress/eclipse.jdt.core
that referenced
this issue
Dec 7, 2022
…pse-jdt#486 When the JavaDoc of a classpath entry changes, a mostly empty delta is created by ClasspathChange. This change adds new API, to ensure such deltas list what classpath attributes changed. The new information is listed under new package fragment root children of the delta with the new flag IJavaElementDelta.F_CLASSPATH_ATTRIBUTES. The specific attribute changes can be accessed via: org.eclipse.jdt.core.IJavaElementDelta.getClasspathAttributeDeltas() org.eclipse.jdt.core.IClasspathAttributeDelta getClasspathAttributeDeltas() will return an empty array if there are no classpath attributes that changed or if the delta element cannot have such changes. Fixes: eclipse-jdt#486
trancexpress
added a commit
to trancexpress/eclipse.jdt.core
that referenced
this issue
Dec 8, 2022
…pse-jdt#486 When the JavaDoc of a classpath entry changes, a mostly empty delta is created by ClasspathChange. This change adds new API, to ensure such deltas list what classpath attributes changed. The new information is listed under new package fragment root children of the delta with the new flag IJavaElementDelta.F_CLASSPATH_ATTRIBUTES. The specific attribute changes can be accessed via: org.eclipse.jdt.core.IJavaElementDelta.getClasspathAttributeDeltas() org.eclipse.jdt.core.IClasspathAttributeDelta getClasspathAttributeDeltas() will return an empty array if there are no classpath attributes that changed or if the delta element cannot have such changes. Fixes: eclipse-jdt#486
trancexpress
added a commit
to trancexpress/eclipse.jdt.core
that referenced
this issue
Dec 8, 2022
…pse-jdt#486 When the JavaDoc of a classpath entry changes, a mostly empty delta is created by ClasspathChange. This change adds new API, to ensure such deltas list what classpath attributes changed. The new information is listed under new package fragment root children of the delta with the new flag IJavaElementDelta.F_CLASSPATH_ATTRIBUTES. The specific attribute changes can be accessed via: org.eclipse.jdt.core.IJavaElementDelta.getClasspathAttributeDeltas() org.eclipse.jdt.core.IClasspathAttributeDelta getClasspathAttributeDeltas() will return an empty array if there are no classpath attributes that changed or if the delta element cannot have such changes. Fixes: eclipse-jdt#486
trancexpress
added a commit
to trancexpress/eclipse.jdt.core
that referenced
this issue
Dec 8, 2022
…pse-jdt#486 When the JavaDoc of a classpath entry changes, a mostly empty delta is created by ClasspathChange. This change adds new API, to ensure such deltas list what classpath attributes changed. The new information is listed under new package fragment root children of the delta with the new flag IJavaElementDelta.F_CLASSPATH_ATTRIBUTES. The specific attribute changes can be accessed via: org.eclipse.jdt.core.IJavaElementDelta.getClasspathAttributeDeltas() org.eclipse.jdt.core.IClasspathAttributeDelta getClasspathAttributeDeltas() will return an empty array if there are no classpath attributes that changed or if the delta element cannot have such changes. Fixes: eclipse-jdt#486
iloveeclipse
pushed a commit
that referenced
this issue
Dec 8, 2022
When the JavaDoc of a classpath entry changes, a mostly empty delta is created by ClasspathChange. This change adds new API, to ensure such deltas list what classpath attributes changed. The new information is listed under new package fragment root children of the delta with the new flag IJavaElementDelta.F_CLASSPATH_ATTRIBUTES. The specific attribute changes can be accessed via: org.eclipse.jdt.core.IJavaElementDelta.getClasspathAttributeDeltas() org.eclipse.jdt.core.IClasspathAttributeDelta getClasspathAttributeDeltas() will return an empty array if there are no classpath attributes that changed or if the delta element cannot have such changes. Fixes: #486
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
If some of the classpath entry attributes change (e.g. JavaDoc location or test attribute), a delta like this is sent:
From the attributes we have tested with, on changes in the
module
attribute the delta looks fine.Any listener will observe the delta and will have no idea what changed, as classpath entries that did change are not listed. This seems to be due to
ClasspathChange.generateDelta()
detecting a change viaJavaProject.areClasspathsEqual()
, but not visiting entry attributes when adding children to the created delta.In our case, this situation results in
xtext
triggering a full build on an irrelevant classpath change (the JavaDoc location). Asxtext
cannot examine what changed, it can only assume the worst and do a build.We should ensure the delta contains the changed classpath entries, ideally also with information about what changed.
The text was updated successfully, but these errors were encountered: