-
Notifications
You must be signed in to change notification settings - Fork 56
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
SWT has ~130 API errors showing "no longer an API" markers for API code #1187
Comments
I can reproduce on Windows too, and also in debugger. The descriptions seem to be coming from ApiDescription.findNode(IElementDescriptor, boolean) but that one can't find a description for the Display class type so it returns description for the package and there are no restrictions. I see that
whereas it is full of data in org.eclipse.swt.win32.win32.x86_64_3.124.200.v20231113-1355.jar from 4.30RC2:
|
The last good build is https://download.eclipse.org/eclipse/updates/4.31-I-builds/I20240207-0610/ |
@laeubi : which tycho task creates I guess whatever code created that file, it doesn't traverse right directories anymore, may be after 15d3065bc26e206eac005917adb3814b3dd497f7 |
It is this one: https://tycho.eclipseprojects.io/doc/latest/tycho-apitools-plugin/generate-mojo.html and it should operate on the compiled classes, source code is here: is is basically a wrapper around this: |
API descriptions need source code, as they include annotations info from javadoc |
it gets a pointer to the project root and it gets a pointer to the compiled classes ... everything else is handled then by APIFileGenerator. |
I guess it is broken here and can't find source files anymore: Line 245 in fb9e44a
|
Looks like one should use |
I'll try to take a look, but actually it seems like an SWT issue then, is there already a ticket at SWT? |
Added SWT API description files from last good 4.31 build I20240207-0610 https://download.eclipse.org/eclipse/updates/4.31-I-builds/I20240207-0610/plugins/ The files will be loaded instead of "empty" SWT API description files shipped with 4.31 RC2 build (3.125.0.v20240227-1638). Fixes eclipse-pde#1187
With #1191 I see no API errors anymore in SWT (tested on Windows). |
Added SWT API description files from last good 4.31 build I20240207-0610 https://download.eclipse.org/eclipse/updates/4.31-I-builds/I20240207-0610/plugins/ The files will be loaded instead of "empty" SWT API description files shipped with 4.31 RC2 build (3.125.0.v20240227-1638). Fixes #1187
Verified works also on Linux with I20240310-1800 (I've tested original patch on Windows). |
Tycho/maven renames original bundles and replaces underscore with dash, so let our "expected" 4.31 bundle file patches have everything with dashes. That should work in IDE / on tycho build. See eclipse-platform/eclipse.platform.swt#1011 See eclipse-pde#1187
Tycho/maven renames original bundles and replaces underscore with dash, so let our "expected" 4.31 bundle file patches have everything with dashes. That should work in IDE / on tycho build. See eclipse-platform/eclipse.platform.swt#1011 See #1187
After fixing #1073 I hoped to see no more API errors on SWT, but some dark force will not give up on that and immediately with the begin of 4.32 development I see again ~130 API errors on SWT.
As usually, I can build as many times as I can, errors do not disappear...
The nightmare is back,
org.eclipse.swt.gtk.linux.x86_64
project has lot of API errors... :-(I'm running I20240306-1800 build, baseline is set to 4.31 RC2.
It looks like all the classes/fields carrying
@noextend
or@noreference
are not considered API anymore.I don't see any changes in 4.32 that would cause that, the latest from 4.31 that could be related would be #1094, but I haven't seen API errors before, running most of the 4.31 builds.
Anyone else seeing this or has an idea what could be wrong?
The text was updated successfully, but these errors were encountered: