aboutsummaryrefslogtreecommitdiffstats
path: root/buildSrc/src/main/kotlin/refinery-eclipse.gradle.kts
diff options
context:
space:
mode:
Diffstat (limited to 'buildSrc/src/main/kotlin/refinery-eclipse.gradle.kts')
-rw-r--r--buildSrc/src/main/kotlin/refinery-eclipse.gradle.kts30
1 files changed, 30 insertions, 0 deletions
diff --git a/buildSrc/src/main/kotlin/refinery-eclipse.gradle.kts b/buildSrc/src/main/kotlin/refinery-eclipse.gradle.kts
new file mode 100644
index 00000000..ed7c5250
--- /dev/null
+++ b/buildSrc/src/main/kotlin/refinery-eclipse.gradle.kts
@@ -0,0 +1,30 @@
1import org.gradle.plugins.ide.eclipse.model.EclipseModel
2import java.util.*
3
4plugins {
5 eclipse
6}
7
8// Workaround from https://github.com/gradle/gradle/issues/898#issuecomment-885765821
9val eclipseResourceEncoding by tasks.registering {
10 val outputFile = file(".settings/org.eclipse.core.resources.prefs")
11 val encoding = providers.systemProperty("file.encoding")
12
13 inputs.property("file.encoding", encoding)
14 outputs.file(outputFile)
15
16 doLast {
17 val eclipseEncodingProperties = Properties(2)
18 eclipseEncodingProperties["eclipse.preferences.version"] = "1"
19 eclipseEncodingProperties["encoding/<project>"] = encoding.get()
20 outputFile.outputStream().use { outputStream ->
21 eclipseEncodingProperties.store(outputStream, "generated by $name")
22 }
23 }
24}
25
26tasks.named("eclipse") {
27 dependsOn(eclipseResourceEncoding)
28}
29
30the<EclipseModel>().synchronizationTasks(eclipseResourceEncoding)