From 7032bbb4390579168b5ddc06b7764842eca88122 Mon Sep 17 00:00:00 2001 From: soywiz Date: Wed, 11 Nov 2020 14:42:28 +0100 Subject: [PATCH] Added sample ResourceProcessor plugin --- plugin/.gitignore | 1 + plugin/build.gradle.kts | 7 +++++++ plugin/src/commonMain/kotlin/main.kt | 10 ++++++++++ plugin/src/commonMain/resources/hello.demo | 1 + .../samples/plugin/MyCustomResourceProcessor.kt | 13 +++++++++++++ .../com.soywiz.korge.resources.ResourceProcessor | 1 + 6 files changed, 33 insertions(+) create mode 100644 plugin/.gitignore create mode 100644 plugin/build.gradle.kts create mode 100644 plugin/src/commonMain/kotlin/main.kt create mode 100644 plugin/src/commonMain/resources/hello.demo create mode 100644 plugin/src/jvmMain/kotlin/com/soywiz/korge/samples/plugin/MyCustomResourceProcessor.kt create mode 100644 plugin/src/jvmMain/resources/META-INF/services/com.soywiz.korge.resources.ResourceProcessor diff --git a/plugin/.gitignore b/plugin/.gitignore new file mode 100644 index 0000000..796b96d --- /dev/null +++ b/plugin/.gitignore @@ -0,0 +1 @@ +/build diff --git a/plugin/build.gradle.kts b/plugin/build.gradle.kts new file mode 100644 index 0000000..18519c0 --- /dev/null +++ b/plugin/build.gradle.kts @@ -0,0 +1,7 @@ +import com.soywiz.korge.gradle.* + +apply() + +korge { + id = "com.example.example" +} diff --git a/plugin/src/commonMain/kotlin/main.kt b/plugin/src/commonMain/kotlin/main.kt new file mode 100644 index 0000000..d7fa17a --- /dev/null +++ b/plugin/src/commonMain/kotlin/main.kt @@ -0,0 +1,10 @@ +import com.soywiz.korge.* +import com.soywiz.korge.view.* +import com.soywiz.korio.file.std.* + +suspend fun main() = Korge { + val text1 = text("hello.demo".resource.readString()) + val text2 = text("hello.demo.uppercased".resource.readString()).alignTopToBottomOf(text1) +} + +private val String.resource get() = resourcesVfs[this] diff --git a/plugin/src/commonMain/resources/hello.demo b/plugin/src/commonMain/resources/hello.demo new file mode 100644 index 0000000..cc628cc --- /dev/null +++ b/plugin/src/commonMain/resources/hello.demo @@ -0,0 +1 @@ +world diff --git a/plugin/src/jvmMain/kotlin/com/soywiz/korge/samples/plugin/MyCustomResourceProcessor.kt b/plugin/src/jvmMain/kotlin/com/soywiz/korge/samples/plugin/MyCustomResourceProcessor.kt new file mode 100644 index 0000000..9b0f5fe --- /dev/null +++ b/plugin/src/jvmMain/kotlin/com/soywiz/korge/samples/plugin/MyCustomResourceProcessor.kt @@ -0,0 +1,13 @@ +package com.soywiz.korge.samples.plugin + +import com.soywiz.korge.resources.* +import com.soywiz.korio.file.* + +class MyCustomResourceProcessor : ResourceProcessor("demo") { + override val outputExtension: String get() = "demo.uppercased" + override val version: Int = 1 + + override suspend fun processInternal(inputFile: VfsFile, outputFile: VfsFile) { + outputFile.writeString(inputFile.readString().toUpperCase()) + } +} diff --git a/plugin/src/jvmMain/resources/META-INF/services/com.soywiz.korge.resources.ResourceProcessor b/plugin/src/jvmMain/resources/META-INF/services/com.soywiz.korge.resources.ResourceProcessor new file mode 100644 index 0000000..1237044 --- /dev/null +++ b/plugin/src/jvmMain/resources/META-INF/services/com.soywiz.korge.resources.ResourceProcessor @@ -0,0 +1 @@ +com.soywiz.korge.samples.plugin.MyCustomResourceProcessor