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, proprietary and so taken from an install, as the desktop's build does. */ val teamspeakIconPacks = tasks.register("teamspeakIconPacks") { into(layout.buildDirectory.dir("generated/iconPacks")) from(File(ts3ClientDir, "gfx")) { include("default.zip", "default_colored_2014.zip", "default_mono_2014.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().configureEach { options.release = 17 options.encoding = "UTF-8" } dependencies { api(project(":ts3j")) }