With latest Buildship 1.0.21, if I refresh a Groovy project previously imported in Eclipse with an older Buildship version, I see that in .settings/org.eclipse.buildship.core.prefs file the property natures is changed from:
We didn’t change anything in Buildship in that area.
We use the natures preference (and some others) to store what Buildship configured in the previous synchronisation. This way we can clean project configuration entries when they disappear from the Gradle configuration.
Consequently, an element disappearing from there means only that the nature was not part of the Gradle model when you last synchronised your project.
A little side-note: the Groovy nature can come from two places:
explicitly from the configuration eclipse.project.natures 'org.eclipse.jdt.groovy.core.groovyNature'
Hmmm… something weird must have happened… Buildship decided to remove the Groovy nature from the mentioned property on projects that DO apply the Groovy plugin.
Now, after a couple of restarts, I run again the “Refresh Gradle Project” and then Buildship re-added the Groovy nature there, on the same projects… Mystery…