import org.gradle.plugins.ide.eclipse.model.EclipseModel import java.util.* plugins { eclipse } // Workaround from https://github.com/gradle/gradle/issues/898#issuecomment-885765821 val eclipseResourceEncoding by tasks.registering { val outputFile = file(".settings/org.eclipse.core.resources.prefs") val encoding = providers.systemProperty("file.encoding") inputs.property("file.encoding", encoding) outputs.file(outputFile) doLast { val eclipseEncodingProperties = Properties(2) eclipseEncodingProperties["eclipse.preferences.version"] = "1" eclipseEncodingProperties["encoding/"] = encoding.get() outputFile.outputStream().use { outputStream -> eclipseEncodingProperties.store(outputStream, "generated by $name") } } } tasks.named("eclipse") { dependsOn(eclipseResourceEncoding) } the().synchronizationTasks(eclipseResourceEncoding)