The server places each client in a country (client_country, from its GeoIP database); a client's details now show that country's flag left of their name, as TeamSpeak's info frame does, on both clients. "Show country flags in the channel tree" (off by default, as TeamSpeak's EnableCountryFlags) also puts it last on client rows. The flags are TeamSpeak's countries.zip, which now ships with the icon packs; core's CountryFlags reads it, else a TeamSpeak 3 install's. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
32 lines
1.1 KiB
Plaintext
32 lines
1.1 KiB
Plaintext
plugins {
|
|
`java-library`
|
|
}
|
|
|
|
val ts3ClientDir: String = providers.gradleProperty("ts3.client.dir")
|
|
.orElse(providers.environmentVariable("TS3_CLIENT_DIR"))
|
|
.getOrElse(rootDir.resolve("../TeamSpeak3-Client-linux_amd64").path)
|
|
|
|
/** TeamSpeak's own icon packs and country flags, proprietary and so taken from an install, as the desktop's build does. */
|
|
val teamspeakIconPacks = tasks.register<Sync>("teamspeakIconPacks") {
|
|
into(layout.buildDirectory.dir("generated/iconPacks"))
|
|
from(File(ts3ClientDir, "gfx")) {
|
|
include("default.zip", "default_colored_2014.zip", "default_mono_2014.zip", "countries.zip")
|
|
into("gfx/teamspeak")
|
|
}
|
|
}
|
|
|
|
java {
|
|
sourceSets["main"].java.setSrcDirs(listOf(rootDir.resolve("../ts3-client/core/src/main/java")))
|
|
sourceSets["main"].resources.setSrcDirs(listOf(rootDir.resolve("../ts3-client/core/src/main/resources")))
|
|
sourceSets["main"].resources.srcDir(teamspeakIconPacks)
|
|
}
|
|
|
|
tasks.withType<JavaCompile>().configureEach {
|
|
options.release = 17
|
|
options.encoding = "UTF-8"
|
|
}
|
|
|
|
dependencies {
|
|
api(project(":ts3j"))
|
|
}
|