Files
Boiler/plugin/build.gradle.kts
Barış Keser 21c7fa9b4e Refactor display management and error handling in sources
- Implement synchronized block for render timer management in ImplBoilerDisplay.
- Replace Timer with Bukkit's scheduler in ImplDisplayManager for better task handling.
- Add error handling for missing 'url' argument in BoilerClientSource, BufferedFFMPEGSource, FFMPEGSource, GstreamerSource, ImageSource, KeyboardSource, RTMPSource, TwitchSource, VideoConverterSource, VlcSource, YoutubeSource, and CloneSource.
- Improve error reporting for missing display in SectionCloneSource.
- Enhance error handling in GstreamerSource for installation checks.
- Update SystemInfoSource to handle potential null plugin versions.
- Adjust audio queue size checks and backpressure handling in BufferedFFMPEGSource and FFMPEGSource.
- Ensure proper cleanup of resources in unload methods across sources.
- Comment out platform includes in settings.gradle.kts for clarity.
2026-02-23 01:02:55 +03:00

104 lines
3.4 KiB
Kotlin

plugins {
id("com.github.johnrengelman.shadow") version "8.1.1"
id("net.minecrell.plugin-yml.bukkit") version "0.6.0"
id("com.modrinth.minotaur") version "2.+"
}
repositories {
mavenCentral()
maven("https://repo.thejocraft.net/releases/") {
name = "tjcserver"
}
maven ("https://maven.maxhenkel.de/repository/public")
maven ("https://m2.dv8tion.net/releases")
maven ("https://jitpack.io")
maven("https://repo.codemc.org/repository/maven-public/")
//maven("https://repo.plasmoverse.com/releases")
//maven("https://repo.plasmoverse.com/snapshots")
}
dependencies {
/*
runtimeOnly(project(":platform-paper-1.20"))
runtimeOnly(project(":platform-paper-1.20.2"))
runtimeOnly(project(":platform-paper-1.20.3"))
runtimeOnly(project(":platform-paper-1.20.5"))
runtimeOnly(project(":platform-paper-1.21.2"))
runtimeOnly(project(":platform-paper-1.21.11"))
*/
implementation("dev.jorel:commandapi-bukkit-shade:9.7.0")
implementation("de.maxhenkel.voicechat:voicechat-api:2.4.11")
implementation("com.squareup.okhttp3:okhttp:4.11.0")
implementation("uk.co.caprica:vlcj:4.8.2")
implementation("org.freedesktop.gstreamer:gst1-java-core:1.4.0")
implementation("net.java.dev.jna:jna:5.14.0")
implementation("net.java.dev.jna:jna-platform:5.14.0")
implementation("io.javalin:javalin:6.4.0")
implementation("io.netty:netty-buffer:4.1.116.Final")
implementation("io.netty:netty-codec:4.1.116.Final")
//compileOnlyApi("org.bytedeco:javacv-platform:1.5.11")
api(project(":api"))
compileOnly("de.pianoman911:mapengine-api:1.8.7")
implementation("com.google.code.gson:gson:2.12.1")
compileOnly("de.pianoman911:mapengine-mediaext:1.1.3")
//compileOnly("su.plo.voice.api:server:2.1.0-SNAPSHOT")
}
tasks {
shadowJar {
destinationDirectory.set(rootProject.buildDir.resolve("libs"))
archiveBaseName.set(rootProject.name)
relocate("dev.jorel.commandapi", "net.somewhatcity.boiler.commandapi")
relocate("okhttp3", "net.somewhatcity.boiler.okhttp")
relocate("kotlin", "net.somewhatcity.boiler.kotlin")
dependencies {
exclude(dependency("de.maxhenkel.voicechat:voicechat-api:2.4.11"))
//exclude(dependency("com.formdev:flatlaf:3.3"))
}
}
assemble {
dependsOn(shadowJar)
}
}
bukkit {
main = "$group.boiler.core.BoilerPlugin"
apiVersion = "1.20"
authors = listOf("mrmrmystery")
name = rootProject.name
depend = listOf("MapEngine", "MapMediaExt")
softDepend = listOf("PlasmoVoice", "voicechat")
version = rootProject.version.toString()
//softDepend = listOf("voicechat")
commands {
register("boiler") {
description = "Boiler display management command"
usage = "/boiler <help|info|updateInterval|client|display>"
}
}
}
modrinth {
token.set(System.getenv("MODRINTH_TOKEN"))
projectId.set("9R8jBgPj")
versionNumber.set(rootProject.version.toString())
versionType.set("release")
uploadFile.set(tasks.shadowJar)
gameVersions.addAll(listOf("1.20", "1.20.1", "1.20.2", "1.20.3", "1.20.4", "1.20.6", "1.21", "1.21.11"))
loaders.addAll(listOf("paper", "purpur"))
dependencies {
required.project("fCDPz9mZ")
required.project("FMg8aS6R")
optional.project("9eGKb6K1")
optional.project("1bZhdhsH")
}
}