Buildship - do not generate .settings/org.eclipse.jdt.core.prefs

Is there a way either by specifying a configuration value in org.eclipse.buildship.core.prefs or in the eclipse {} block in my build file to not create the .settings/org.eclipse.jdt.core.prefs file?

I don’t think it’s possible. Buildship doesn’t modify the JDT preferences file directly. Instead, it uses the JDT APIs to set up Java projects. The values appearing in the .settings/org.eclipse.jdt.core.pref is a side-effect, that we have no control over.

It’s interesting that it’s not in the JDT API’s…somehow the Eclipse UI is pulling off this feat simply by unchecking this project setting:

And when I create a new project in Eclipse, this setting is not checked. Do you suppose they’re removing this file at a higher level/outside of the JDT API based on UI values?

Buildship can’t use workspace settings. Imagine the usecase when you import two builds into the workspace: one using Java 8 and the other one using Java 12. If we set up the workspace JDT configuration then the java version would be different depending on the order of the import.

Btw, preference files are expected in the .settings folder. In case of Buildship they are generated by the project synchronization, so you can simply ignore them in your version control. Isn’t that enough in your case?