Skip to content

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:

  1. 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
  2. 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.

Edited by Hannes Wellmann