diff --git a/build.gradle.kts b/build.gradle.kts index df68fa9..3707677 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -2,6 +2,8 @@ plugins { kotlin("jvm") version "2.0.0" id("io.github.goooler.shadow") version "8.1.7" id("net.kyori.blossom") version "2.1.0" + id("net.kyori.indra.git") version "3.1.3" + id("org.jetbrains.gradle.plugin.idea-ext") version "1.1.8" } group = "moe.jansel" @@ -49,6 +51,17 @@ kotlin { } } +sourceSets { + main { + blossom { + resources { + property("version", project.version.toString()) + property("gitCommit", indraGit.commit()?.name) + } + } + } +} + tasks.build { dependsOn(tasks.shadowJar) } diff --git a/src/main/kotlin/moe/jansel/platinum/Platinum.kt b/src/main/kotlin/moe/jansel/platinum/Platinum.kt index f7aa343..21c5f40 100644 --- a/src/main/kotlin/moe/jansel/platinum/Platinum.kt +++ b/src/main/kotlin/moe/jansel/platinum/Platinum.kt @@ -1,5 +1,11 @@ package moe.jansel.platinum +import io.ktor.client.* +import io.ktor.client.engine.cio.* +import io.ktor.client.plugins.* +import io.ktor.client.plugins.contentnegotiation.* +import io.ktor.serialization.kotlinx.json.* +import kotlinx.serialization.json.Json import org.bukkit.Server import org.bukkit.command.CommandExecutor import org.bukkit.command.PluginCommand @@ -7,6 +13,8 @@ import org.bukkit.command.TabCompleter import org.bukkit.plugin.PluginManager import org.bukkit.plugin.java.JavaPlugin import org.bukkit.scheduler.BukkitScheduler +import java.io.InputStream +import java.util.Properties import java.util.logging.Logger @Suppress("unused") @@ -17,13 +25,35 @@ class Platinum : JavaPlugin() { lateinit var logger: Logger lateinit var server: Server lateinit var scheduler: BukkitScheduler + lateinit var props: Properties + lateinit var version: String + lateinit var hash: String + + val webClient: HttpClient = HttpClient(CIO) { + install(ContentNegotiation) { + json(Json { ignoreUnknownKeys = true }) + } + install(UserAgent) { + agent = "https://git.jansel.moe/jreimers/Platinum (jansel@jansel.moe)" + } + } } + + + override fun onEnable() { } override fun onLoad() { - logger.info("Loading Platinum") + props = Properties() + props.load(getResource("build-vars.properties")) + version = props.getProperty("version") + hash = props.getProperty("gitCommit") + logger.info("Loading Platinum v$version") + if (version.contains("SNAPSHOT")) { + logger.info("Git Commit: $hash") + } } override fun onDisable() { diff --git a/src/main/resource-templates/build-vars.properties b/src/main/resource-templates/build-vars.properties new file mode 100644 index 0000000..e4f2243 --- /dev/null +++ b/src/main/resource-templates/build-vars.properties @@ -0,0 +1,3 @@ +version={{ version }} + +gitCommit={{ gitCommit }} \ No newline at end of file