From d5c181a2247a0d689e850041fba9d93065b16233 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Elias=20M=C3=BCller?= Date: Sun, 18 Oct 2026 16:22:14 +0200 Subject: [PATCH] =?UTF-8?q?Upload-Tasks=20f=C3=BCr=20Plugin=20und=20Bridge?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bridge/build.gradle | 21 +++++++++++++++++++++ plugin/build.gradle | 18 ++++++++++++++++++ 2 files changed, 39 insertions(+) diff --git a/bridge/build.gradle b/bridge/build.gradle index 628cca3..85bcd90 100644 --- a/bridge/build.gradle +++ b/bridge/build.gradle @@ -44,3 +44,24 @@ tasks.named('run') { workingDir = rootProject.file('run/bridge') doFirst { workingDir.mkdirs() } } + +// Hochladen auf 10.20.9.3: ./gradlew :bridge:uploadBridge, danach `sudo systemctl restart voicebridge`. +// Erst in eine Temp-Datei, Prüfsumme vergleichen, dann atomar umbenennen. +tasks.register('uploadBridge') { + dependsOn shadowJar + doLast { + def file = shadowJar.archiveFile.get().asFile + def checksum = file.bytes.digest('SHA-256') + def target = '/home/minecraft/voicebridge/voice-bridge.jar' + providers.exec { + commandLine 'ssh', 'minecraft@10.20.9.3', 'mkdir -p /home/minecraft/voicebridge' + }.result.get() + providers.exec { + commandLine 'scp', file.absolutePath, "minecraft@10.20.9.3:${target}.new" + }.result.get() + providers.exec { + commandLine 'ssh', 'minecraft@10.20.9.3', + "echo '${checksum} ${target}.new' | sha256sum -c --quiet && mv -f ${target}.new ${target}" + }.result.get() + } +} diff --git a/plugin/build.gradle b/plugin/build.gradle index 8d3e350..e5aa72a 100644 --- a/plugin/build.gradle +++ b/plugin/build.gradle @@ -29,3 +29,21 @@ jar { dependsOn ':protocol:jar' from(project(':protocol').sourceSets.main.output) } + +// Hochladen auf den Paper-Server: ./gradlew :plugin:uploadPlugin, danach Paper neu starten. +// Erst in eine Temp-Datei, Prüfsumme vergleichen, dann atomar umbenennen. +tasks.register('uploadPlugin') { + dependsOn jar + doLast { + def file = jar.archiveFile.get().asFile + def checksum = file.bytes.digest('SHA-256') + def target = '/home/minecraft/server/plugins/voice-bridge.jar' + providers.exec { + commandLine 'scp', file.absolutePath, "minecraft@10.20.9.3:${target}.new" + }.result.get() + providers.exec { + commandLine 'ssh', 'minecraft@10.20.9.3', + "echo '${checksum} ${target}.new' | sha256sum -c --quiet && mv -f ${target}.new ${target}" + }.result.get() + } +}