Upload-Tasks für Plugin und Bridge

This commit is contained in:
MineTec committed 2026-10-18 16:22:14 +02:00
1 parent 2e46c9ea1c
commit d5c181a224
2 files changed
+39

No files matched your search

+21
View File
@@ -44,3 +44,24 @@ tasks.named('run') {
workingDir = rootProject.file('run/bridge') workingDir = rootProject.file('run/bridge')
doFirst { workingDir.mkdirs() } 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()
}
}
+18
View File
@@ -29,3 +29,21 @@ jar {
dependsOn ':protocol:jar' dependsOn ':protocol:jar'
from(project(':protocol').sourceSets.main.output) 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()
}
}