Provide Java-17 JDK headers to build SWT natives
Summary
For SWT we want to build the SWT natives against the header files provided by a Java-17 JDK. From the used JDKs only the header files in the include directory are needed for this task.
After comparing the temurin-JDKs for all platforms for which SWT natives are build for it looks like the headers are equal per OS regardless of the architecture (see https://github.com/eclipse-platform/eclipse.platform.swt/issues/626#issuecomment-1507719226).
Therefore I believe we have two options:
- A Java-17 JDK (probably Temurin since that seem the one to be used quite often) is made available at all of the SWT-natives build machines, with the corresponding OS and architecture
- https://ci.eclipse.org/releng/label/swt.natives-cocoa.macosx.aarch64/
- https://ci.eclipse.org/releng/label/swt.natives-cocoa.macosx.x86_64/
- https://ci.eclipse.org/releng/label/swt.natives-gtk.linux.aarch64/
- https://ci.eclipse.org/releng/label/swt.natives-gtk.linux.ppc64le/
- https://ci.eclipse.org/releng/label/swt.natives-win32.win32.x86_64/
- Provide a Jenkins jdk-tool to obtain a temurin-jdk17 for Windows and MacOS on a standard CentOS/Linux Jenkins agent. I can then extra the required headers from that JDK in the pipeline and copy them to each of the SWT-natives build machines during the pipeline execution.
I'm suggesting option 2 because I assume it could be less work to maintain (not all machines need JDKs installed). For option 1, is there a list which JDKs are already available on the mentioned build machines used to build SWT-natives or could you provide one? I assume the information in https://wiki.eclipse.org/Jenkins#Eclipse_Temurin don't apply here?
If you want to participate in the discussion how to obtain the headers best, please join https://github.com/eclipse-platform/eclipse.platform.swt/pull/633
@akurtakov or @aloskutov please approve this if project-lead approval is required.