From c1f0da324605c18caf137631e58878136a707df4 Mon Sep 17 00:00:00 2001 From: Kristóf Marussy Date: Thu, 28 Jul 2022 15:30:10 +0200 Subject: build: file encoding import into Eclipse See https://github.com/gradle/gradle/issues/898 --- buildSrc/src/main/groovy/refinery-eclipse.gradle | 28 ++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 buildSrc/src/main/groovy/refinery-eclipse.gradle (limited to 'buildSrc/src/main/groovy/refinery-eclipse.gradle') diff --git a/buildSrc/src/main/groovy/refinery-eclipse.gradle b/buildSrc/src/main/groovy/refinery-eclipse.gradle new file mode 100644 index 00000000..ddd15fc2 --- /dev/null +++ b/buildSrc/src/main/groovy/refinery-eclipse.gradle @@ -0,0 +1,28 @@ +plugins { + id 'eclipse' +} + +// Workaround from https://github.com/gradle/gradle/issues/898#issuecomment-885765821 +def eclipseResourceEncoding = tasks.register('eclipseResourceEncoding') { + ext.outputFile = file('.settings/org.eclipse.core.resources.prefs') + def compileTask = tasks.findByName('compileJava') + ext.encoding = provider({ compileTask?.options?.encoding }).orElse(providers.systemProperty('file.encoding')) + + inputs.property("file.encoding", encoding) + outputs.file(outputFile).withPropertyName('outputFile') + + doLast { + Properties eclipseEncodingProperties = new Properties(Collections.singletonMap('eclipse.preferences.version','1')) + eclipseEncodingProperties.put('encoding/', encoding.get()) + outputFile.withOutputStream { + eclipseEncodingProperties.store(it, 'generated by ' + name) + } + eclipseEncodingProperties.list(System.out) + } +} + +tasks.named('eclipse') { + dependsOn(eclipseResourceEncoding) +} + +eclipse.synchronizationTasks(eclipseResourceEncoding) -- cgit v1.2.3-70-g09d2